diff --git a/.DS_Store b/.DS_Store new file mode 100644 index 00000000..36c923bc Binary files /dev/null and b/.DS_Store differ diff --git a/.github/workflows/npm-publish.yml b/.github/workflows/npm-publish.yml new file mode 100644 index 00000000..d857d7ec --- /dev/null +++ b/.github/workflows/npm-publish.yml @@ -0,0 +1,24 @@ +# This workflow will run tests using node and then publish a package to GitHub Packages when a release is created + +name: Node.js Package + +on: + release: + types: [created] + +jobs: + publish-npm: + runs-on: ubuntu-latest + permissions: + contents: read + packages: write + steps: + - uses: actions/checkout@v4 + - uses: actions/setup-node@v4 + with: + node-version: 22 + registry-url: https://registry.npmjs.org/ + - run: npm ci + - run: npm publish + env: + NODE_AUTH_TOKEN: ${{secrets.NPM_TOKEN}} diff --git a/.gitignore b/.gitignore index a61bf99c..6ff3778d 100644 --- a/.gitignore +++ b/.gitignore @@ -1,6 +1,9 @@ -node_modules -page-components/course-alignment-ctnt.html -page-components/introduction-ctnt.html -page-components/list-of-experiments-ctnt.html -page-components/objective-ctnt.html -page-components/target-audience-ctnt.html +node_modules +page-components +expbuilds +exprepos +.vscode/* +plugins/ +dist/ +*.log +.npmrc diff --git a/KT.org b/KT.org index 24074e50..4cd714b5 100644 --- a/KT.org +++ b/KT.org @@ -1,85 +1,85 @@ -#+TITLE: KT on Phase 3 Lab Processes Automation - -* Scope of the Project - - This project aims to provide a central interface for performing - routine tasks related to Phase 3 labs hosted by VLEAD. A command - line untility is provided that automates the following tasks: - - 1. Lab Pages Genreration - 2. Lab Pages Release Management - 3. Lab Pages Hosting - 4. Experiment Generation - 5. Experiment Hosting - - Each of the above topics are described in detail in this document. - -** TODO Move the contents of this document to proper places - This document should only contain meeting notes. All other - contents should be somewhere else (where?). - - -* Session 1 - -** Detail - - - Date :: [2020-08-31 Mon] - - Time :: 12:30 PM - - Participants :: - - Ojas :: Current Project Maintainer - - Balamma :: New Project Maintainer (onboarding) - -** Agenda - - *Introduction to the project* : In this session we will be - discussion the high level concepts and scope of the project. Ojas - will demonstrate the operation of the main command line utility - while explaining what underlying processes are performed. - -** Topics - -*** Steps for Development Installation - - - Repo link :: https://github.com/virtual-labs/Phase-3-Lab-Template.git - - Branch :: feature-json-validate - -*** DONE Lab Descriptor - - schema can be found here: [[file:labDescSchema.json][schema]] - - The descriptor should be in the lab repo - - Found issue in the README documentation. The init command is - not working. Please copy the descriptor manually. (TO BE FIXED - BY : Ojas) - -*** DONE Lab Repository - - created a [[https://github.com/virtual-labs/trial-lab-src][new repository]] for demo of lab sources generation. - -*** DONE Demo - - init :: command didn't work. Need to fix - - all :: generation, deployment and release is working. - Demonstrated generation and deployment of a sample lab - - Found out that links to experiments are not working on - the local system after changing the links to remove lab - name. This was working on Pavan's machine. (NEED TO - CHECK but Balamma knows what to do for this.) - -*** Types of Experiments - -**** IIITH format - - ds1 and ds2 - - phase 2 labs - -**** IITB format - - all others - -*** TODO Next Step - - - Balamma to go through the README and try the installation and - generation process. - - Next session on Thursday. - -* Session 2 - -- [2020-09-07 Mon] - - +#+TITLE: KT on Phase 3 Lab Processes Automation + +* Scope of the Project + + This project aims to provide a central interface for performing + routine tasks related to Phase 3 labs hosted by VLEAD. A command + line untility is provided that automates the following tasks: + + 1. Lab Pages Genreration + 2. Lab Pages Release Management + 3. Lab Pages Hosting + 4. Experiment Generation + 5. Experiment Hosting + + Each of the above topics are described in detail in this document. + +** TODO Move the contents of this document to proper places + This document should only contain meeting notes. All other + contents should be somewhere else (where?). + + +* Session 1 + +** Detail + + - Date :: [2020-08-31 Mon] + - Time :: 12:30 PM + - Participants :: + - Ojas :: Current Project Maintainer + - Balamma :: New Project Maintainer (onboarding) + +** Agenda + + *Introduction to the project* : In this session we will be + discussion the high level concepts and scope of the project. Ojas + will demonstrate the operation of the main command line utility + while explaining what underlying processes are performed. + +** Topics + +*** Steps for Development Installation + + - Repo link :: https://github.com/virtual-labs/Phase-3-Lab-Template.git + - Branch :: feature-json-validate + +*** DONE Lab Descriptor + - schema can be found here: [[file:labDescSchema.json][schema]] + - The descriptor should be in the lab repo + - Found issue in the README documentation. The init command is + not working. Please copy the descriptor manually. (TO BE FIXED + BY : Ojas) + +*** DONE Lab Repository + - created a [[https://github.com/virtual-labs/trial-lab-src][new repository]] for demo of lab sources generation. + +*** DONE Demo + - init :: command didn't work. Need to fix + - all :: generation, deployment and release is working. + Demonstrated generation and deployment of a sample lab + + Found out that links to experiments are not working on + the local system after changing the links to remove lab + name. This was working on Pavan's machine. (NEED TO + CHECK but Balamma knows what to do for this.) + +*** Types of Experiments + +**** IIITH format + - ds1 and ds2 + - phase 2 labs + +**** IITB format + - all others + +*** TODO Next Step + + - Balamma to go through the README and try the installation and + generation process. + - Next session on Thursday. + +* Session 2 + +- [2020-09-07 Mon] + + diff --git a/README.org b/README.org index 75b3682a..fbf2305b 100644 --- a/README.org +++ b/README.org @@ -1,206 +1,181 @@ -#+title: Phase 3 Lab and Experiment Operations -#+setupfile: ./org-html-themes/setup/theme-readtheorg-local.setup -#+export_file_name: ./docs/index.html - -* Introduction - - A Virtual Labs /Experiment/ is a systematic collection of learning - resources for Engineering students to learn about a single topic in - a subject. Each experiment consists of some theory and reading - material, interactive simulations and quizes or tests. The - authoring process may be different for each institute but the end - result is a collection of web-pages that are published together as - an /Experiment/. - - Each experiment is a part of of /Lab/. A /Lab/ is a conceptually a - collection of /Experiments/ related to a subject. A /Lab/ is - published as a collection of web-pages that provide an entry point - for a user to learn about that subject. The list of experiments - included in a lab provides links to all the available experiments. - - Creating a publishable lab along with all it's experiments, is a - process that involves a lot of manual effort that does not add any - value to the lab itself. *Labgen* is a command-line tool that helps - in avoiding all the repeatative effort involved in creating a lab - from individual experiments and other lab content. - - The following processes are supported by *labgen*: - 1. Generation of Lab pages. - 2. Deployment of Lab - 3. Build and Deployment of Experiments - - The automated build and deployment of experiments is supported only - for experiments generated using the /Phase 3 experiment authoring - process/ (link?) defined by IIT-B. - - -* Requirements - - 1. *node 12.12.x* - - Download link: [[https://nodejs.org/en/download/][node]] - - recommended to install via [[https://github.com/nvm-sh/nvm][nvm]] - 2. *npm 6.11.x* - - -* Setup - -** Install Dependencies - - #+BEGIN_SRC bash - - npm install - - #+END_SRC - - -* Generating Lab Pages - - -** Create Lab Repository - - Create a new lab repository on [[https://github.com/virtual-labs][Github]] or clone and existing one. - The repository should be empty. - -** Initialize Lab Descriptor - - To start with the process of lab generation, you need a /Lab - Descriptor/. - - /Lab Descriptor/ is a json file the contains data for lab pages and - other information for lab and experiment deployment. [[file:lab-descriptor.org][This]] document - describes the structure of a lab descriptor file. - - Run the following command to initialize a lab descriptor file that - contains all the required fields, without any values. - - #+NAME: labgen-init - #+BEGIN_SRC bash - npm run labgen -- init - #+END_SRC - - In the above command == should be replaced with - the actual path to the local lab repository mentioned in the first - step. - -*** Init Example - - For example, if https://github.com/virtual-labs/myNewLab is your - repository and you clone it on your local system at location - =/home/myuser/virtual-labs/=, then you would do run the following - commands - - - #+NAME: labgen-init-example - #+BEGIN_SRC bash - npm run labgen -- init /home/myuser/virtual-labs/myNewLab - #+END_SRC - - or - - #+NAME: labgen-init-example-rel-path - #+BEGIN_SRC bash - npm run labgen -- init ~/virtual-labs/myNewLab - #+END_SRC - - This will generate the file - =~/virtual-labs/myNewLab/lab-descriptor.json=. - -** Complete and Verify Lab Descriptor - - Fill all the values in the =/lab-descriptor.json= - file generated above and create a pull-request to get the - lab-descriptor approved. - - -*** LD Verification Example - - Continuing the [[Init Example][init]] example, lets see how to submit the completed - lab-descriptor for verification. - - In the lab repository, switch to a new branch and edit the json. - - #+BEGIN_SRC bash - cd ~/virtual-labs/myNewLab - git checkout -b lab-descriptor - editor lab-descriptor.json - #+END_SRC - - After filling the json push the file to remote and create a pull - request. - - #+BEGIN_SRC bash - git add lab-descriptor.json - git commit -m "lab-descriptor for verification" - git push origin lab-descriptor - #+END_SRC - - Once this pull request is merged to master, do not make any new - changes to the lab-descriptor. - - -** Run All - - From the /Phase-3-Lab-Template/ repository, run the following. - - #+NAME: labgen-generate - #+BEGIN_SRC bash - npm run labgen -- - #+END_SRC - -* Updates - -** Reporting - - The timestamp, verion number and status (success or failure) of the - run is updated to a google sheet. - -** Release management of Lab Sources - - After a lab (including all its experiments) is deployed, a new tag - is created for the lab using the master branch. The tag number - follows semantic versioning and the next version number is derived - from the previous version with the help of input provided by the - user regarding type of the release (major, minor or patch). By - default a minor version is generated. - - The lab descriptor is updated with the current release number. - -** Automated JSON Validation - - The lab descriptor is validated using a [[file:labDescSchema.json][schema]]. If anything is - invalid in the lab descriptor, the error is displayed and process - aborts. - -** Deployment Process - - 1. Stage all experiments - 2. Stage Lab - 3. Deploy Experiments - 4. Deploy Lab - -*** Staging - - - /var/www/html/ - - / - - stage/ - - all lab sources here. - - exp/ - - all experiments here. - - contents of the stage/ directory are copied here after - staging is complete. - - If anything fails, you need to start the process again. - -** TODO - - - [-] move release type to pre run option. - - [-] log to file - - [X] remove lab name from path to experiment - - experiment is unit of development - - Current url pattern: https://de-iitr.vlabs.ac.in/digital-electronics-iitr/exp/truth-table-gates/ - - New url pattern: https://de-iitr.vlabs.ac.in/exp/truth-table-gates/ - - [X] +symlink for compatibility+ - - [X] test on a lab that is not linked - - KT to Balamma - - [-] session 1 scheduled on <2020-08-31 Mon>. Find the [[file:KT.org][minutes]] - here. - +#+title: Phase 3 Lab and Experiment Operations +#+setupfile: ./org-html-themes/setup/theme-readtheorg-local.setup +#+export_file_name: ./docs/index.html + +* Introduction + + A Virtual Labs /Experiment/ is a systematic collection of learning + resources for Engineering students to learn about a single topic in + a subject. Each experiment consists of some theory and reading + material, interactive simulations and quizes or tests. The + authoring process may be different for each institute but the end + result is a collection of web-pages that are published together as + an /Experiment/. + + Each experiment is a part of of /Lab/. A /Lab/ is a conceptually a + collection of /Experiments/ related to a subject. A /Lab/ is + published as a collection of web-pages that provide an entry point + for a user to learn about that subject. The list of experiments + included in a lab provides links to all the available experiments. + + Creating a publishable lab along with all it's experiments, is a + process that involves a lot of manual effort that does not add any + value to the lab itself. *Labgen* is a command-line tool that helps + in avoiding all the repeatative effort involved in creating a lab + from individual experiments and other lab content. + + The following processes are supported by *labgen*: + 1. Generation of Lab pages. + 2. Deployment of Lab + 3. Build and Deployment of Experiments + + The automated build and deployment of experiments is supported only + for experiments generated using the /Phase 3 experiment authoring + process/ (link?) defined by IIT-B. + + +* Requirements + + 1. *node 12.12.x* + - Download link: [[https://nodejs.org/en/download/][node]] + - recommended to install via [[https://github.com/nvm-sh/nvm][nvm]] + 2. *npm 6.11.x* + + +* Setup + +** Install Dependencies + + #+BEGIN_SRC bash + + npm install + + #+END_SRC + + +* Generating Lab Pages + +** Create Lab Repository + + Create a new lab repository on [[https://github.com/virtual-labs][Github]] or clone and existing one. + The repository should be empty. + +** Initialize Lab Descriptor + + To start with the process of lab generation, you need a /Lab + Descriptor/. + + /Lab Descriptor/ is a json file the contains data for lab pages and + other information for lab and experiment deployment. [[file:lab-descriptor.org][This]] document + describes the structure of a lab descriptor file. + + +** Complete and Verify Lab Descriptor + + Fill all the values in the =/lab-descriptor.json= + file generated above and create a pull-request to get the + lab-descriptor approved. + + +*** LD Verification Example + + Continuing the [[Init Example][init]] example, lets see how to submit the completed + lab-descriptor for verification. + + In the lab repository, switch to a new branch and edit the json. + + #+BEGIN_SRC bash + cd ~/virtual-labs/myNewLab + git checkout -b lab-descriptor + editor lab-descriptor.json + #+END_SRC + + After filling the json push the file to remote and create a pull + request. + + #+BEGIN_SRC bash + git add lab-descriptor.json + git commit -m "lab-descriptor for verification" + git push origin lab-descriptor + #+END_SRC + + Once this pull request is merged to master, do not make any new + changes to the lab-descriptor. + + +** Run All + + From the /Phase-3-Lab-Template/ repository, run the following. + + #+NAME: labgen-generate + #+BEGIN_SRC bash + npm run labgen -- --release minor + #+END_SRC + + +* Building an Experiment + +To build an individual experiment first clone the experiment and run +the following: + + +#+BEGIN_SRC sh +cd +git clone https://github.com/virtual-labs/ph3-lab-mgmt/ +cd ph3-lab-mgmt +npm install +npm run build-exp ../ +#+END_SRC + +Or, from with this repository: + +#+BEGIN_SRC sh +npm run build-exp +#+END_SRC + +The first method is useful when running the script from the github +actions pipeline. + +The experiment can be found in the =build= directory with the +experiment repository location. + +* DOCS + +|--------------------------+---------------------------------------------------------------------------| +| DOCUMENT | DESCRIPTION | +|--------------------------+---------------------------------------------------------------------------| +| [[file:docs/lab-build-process.org][Lab Build Process]] | This document describes the lab build process. | +| [[file:docs/lab-descriptor.org][Lab Descriptor]] | This document describes the structure and functions of the lab-descriptor | +| [[file:docs/exp-build-process.md][Experiment Build Process]] | Document describing the experiment build process. | +| [[file:docs/analytics.org][Analytics]] | Lab and Experiment Analytics details. | +| [[docs/units.org][Units]] | Defines all types of units in an experiment | +| [[docs/plugins.org][Proposed Plugins]] | Proposal for moving towards a plugin based architecture. | +|--------------------------+---------------------------------------------------------------------------| + + +* TODO + +- DOCS: + + Lab Build Process + + Lab descriptor - DONE + + templates - TODO + + staging and deployment process - DONE + + + Experiment build process + - experiment descriptor - DONE + - experiment model - DONE + + + Analytics - DONE + + + script usage - DONE + +- quiz - TODO + +- exp process integration and testing - DONE + +------------ + +- identify modules - WIP +- FAQ - WIP + +- label -> backend => build-process - DONE diff --git a/lab-structure/src/themes/green-icon/css/bootstrap.min.css b/assets/css/bootstrap.min.css similarity index 100% rename from lab-structure/src/themes/green-icon/css/bootstrap.min.css rename to assets/css/bootstrap.min.css diff --git a/assets/css/common-styles-responsive.css b/assets/css/common-styles-responsive.css new file mode 100644 index 00000000..2798de90 --- /dev/null +++ b/assets/css/common-styles-responsive.css @@ -0,0 +1,97 @@ +.slidecontainer { + text-align: center; +} + +.slider { + width: 10%; +} + +.text-box { + padding: 7px 20px; + margin: 8px 0; + box-sizing: border-box; + width: 14%; +} + +.legend { list-style: none; } +.legend li { padding-bottom : 1.5vw; width: 20vw; } +.legend span { border: 0.1vw solid black; float: left; border-radius: 50%;} +.legend .grey { background-color: grey; } +.legend .green { background-color: #a4c652; } +.legend .black { background-color: black; } + +.button-input { + border-radius: 50vw; + background-color: #288ec8; + border: none; + color: white; + padding: 1%; + margin-left: 1%; + margin-right: 1%; + padding-bottom: 1%; + padding-top: 1%; + padding-left: 2%; + padding-right: 2%; +} + +.button-input:hover { + background-color:gray; + cursor:pointer; +} + +.comment-box { + position: relative; + padding: 1vw; + width: 30vw; + text-align: center; +} + +.instruction-box { + position: relative; + width: 100%; + transition: width 0.2s ease-out; + border: 0.1vw solid grey; + z-index : 10; +} + +.collapsible { + background-color: Transparent; + color: "grey"; + cursor: pointer; + width: 100%; + border: none; + text-align: center; + outline: none; + font-weight: bold; + padding-top: 1%; + padding-bottom: 1%; +} + +.collapsible::-moz-focus-inner { + border: 0; +} + +.active, .collapsible:hover { + background-color: "white"; +} + +/*The unicode \25BE is for ▾ (Dropdown arrow) */ +.collapsible:after { + content: "\25BE"; + color: "grey"; + font-weight: bold; + float: right; + margin-left: 5px; +} + +.active:after { + content: "\25B4"; +} + +.content { + padding: 0 1.8vw; + max-height: 0; + overflow: hidden; + transition: max-height 0.2s ease-out; + background-color: "white"; +} diff --git a/assets/css/common-styles.css b/assets/css/common-styles.css new file mode 100644 index 00000000..a2f6d804 --- /dev/null +++ b/assets/css/common-styles.css @@ -0,0 +1,104 @@ +.slidecontainer { + text-align: center; +} + +.slider { + width: 10%; +} + +.text-box { + padding: 7px 20px; + margin: 8px 0; + box-sizing: border-box; + width: 14%; +} + +.legend{ + font-size: 1.4vw; +} +.legend { list-style: none; } +.legend li { padding-bottom : 1.5vw; width: 20vw; } +.legend span { border: 0.1vw solid black; float: left; width: 2vw; height: 2vw; margin-right : 0.5vw; border-radius: 50%;} +.legend .grey { background-color: grey; } +.legend .green { background-color: #a4c652; } +.legend .black { background-color: black; } + +.button-input { + border-radius: 50vw; + background-color: #288ec8; + border: none; + color: white; + padding: 1%; + font-size: 1.3vw; + margin-left: 1%; + margin-right: 1%; + padding-bottom: 1%; + padding-top: 1%; + padding-left: 2%; + padding-right: 2%; +} + +.button-input:hover { + background-color:gray; + cursor:pointer; +} + +.comment-box { + position: relative; + padding: 1vw; + width: 30vw; + font-size: 1.5vw; + text-align: center; +} + +.instruction-box { + position: relative; + width: 100%; + transition: width 0.2s ease-out; + border: 0.1vw solid grey; + font-size: 1.5vw; + z-index : 10; +} + +.collapsible { + background-color: Transparent; + color: "grey"; + cursor: pointer; + width: 100%; + border: none; + text-align: center; + outline: none; + font-size: 1.5vw; + font-weight: bold; + padding-top: 1%; + padding-bottom: 1%; +} + +.collapsible::-moz-focus-inner { + border: 0; +} + +.active, .collapsible:hover { + background-color: "white"; +} + +.collapsible:after { + content: '\25BE'; + color: "grey"; + font-weight: bold; + float: right; + margin-left: 5px; +} + +.active:after { + content: "\25B4"; +} + +.content { + padding: 0 1.8vw; + max-height: 0; + overflow: hidden; + transition: max-height 0.2s ease-out; + background-color: "white"; +} + diff --git a/ph3-beta-to-ui3.0-conv/ui3template/assets/css/fontawesome.min.css b/assets/css/fontawesome.min.css similarity index 100% rename from ph3-beta-to-ui3.0-conv/ui3template/assets/css/fontawesome.min.css rename to assets/css/fontawesome.min.css diff --git a/ph3-beta-to-ui3.0-conv/ui3template/assets/css/github-markdown.min.css b/assets/css/github-markdown.min.css similarity index 100% rename from ph3-beta-to-ui3.0-conv/ui3template/assets/css/github-markdown.min.css rename to assets/css/github-markdown.min.css diff --git a/assets/css/katex.min.css b/assets/css/katex.min.css new file mode 100644 index 00000000..678802eb --- /dev/null +++ b/assets/css/katex.min.css @@ -0,0 +1 @@ +@font-face{font-family:KaTeX_AMS;font-style:normal;font-weight:400;src:url(fonts/KaTeX_AMS-Regular.woff2) format("woff2"),url(fonts/KaTeX_AMS-Regular.woff) format("woff"),url(fonts/KaTeX_AMS-Regular.ttf) format("truetype")}@font-face{font-family:KaTeX_Caligraphic;font-style:normal;font-weight:700;src:url(fonts/KaTeX_Caligraphic-Bold.woff2) format("woff2"),url(fonts/KaTeX_Caligraphic-Bold.woff) format("woff"),url(fonts/KaTeX_Caligraphic-Bold.ttf) format("truetype")}@font-face{font-family:KaTeX_Caligraphic;font-style:normal;font-weight:400;src:url(fonts/KaTeX_Caligraphic-Regular.woff2) format("woff2"),url(fonts/KaTeX_Caligraphic-Regular.woff) format("woff"),url(fonts/KaTeX_Caligraphic-Regular.ttf) format("truetype")}@font-face{font-family:KaTeX_Fraktur;font-style:normal;font-weight:700;src:url(fonts/KaTeX_Fraktur-Bold.woff2) format("woff2"),url(fonts/KaTeX_Fraktur-Bold.woff) format("woff"),url(fonts/KaTeX_Fraktur-Bold.ttf) format("truetype")}@font-face{font-family:KaTeX_Fraktur;font-style:normal;font-weight:400;src:url(fonts/KaTeX_Fraktur-Regular.woff2) format("woff2"),url(fonts/KaTeX_Fraktur-Regular.woff) format("woff"),url(fonts/KaTeX_Fraktur-Regular.ttf) format("truetype")}@font-face{font-family:KaTeX_Main;font-style:normal;font-weight:700;src:url(fonts/KaTeX_Main-Bold.woff2) format("woff2"),url(fonts/KaTeX_Main-Bold.woff) format("woff"),url(fonts/KaTeX_Main-Bold.ttf) format("truetype")}@font-face{font-family:KaTeX_Main;font-style:italic;font-weight:700;src:url(fonts/KaTeX_Main-BoldItalic.woff2) format("woff2"),url(fonts/KaTeX_Main-BoldItalic.woff) format("woff"),url(fonts/KaTeX_Main-BoldItalic.ttf) format("truetype")}@font-face{font-family:KaTeX_Main;font-style:italic;font-weight:400;src:url(fonts/KaTeX_Main-Italic.woff2) format("woff2"),url(fonts/KaTeX_Main-Italic.woff) format("woff"),url(fonts/KaTeX_Main-Italic.ttf) format("truetype")}@font-face{font-family:KaTeX_Main;font-style:normal;font-weight:400;src:url(fonts/KaTeX_Main-Regular.woff2) format("woff2"),url(fonts/KaTeX_Main-Regular.woff) format("woff"),url(fonts/KaTeX_Main-Regular.ttf) format("truetype")}@font-face{font-family:KaTeX_Math;font-style:italic;font-weight:700;src:url(fonts/KaTeX_Math-BoldItalic.woff2) format("woff2"),url(fonts/KaTeX_Math-BoldItalic.woff) format("woff"),url(fonts/KaTeX_Math-BoldItalic.ttf) format("truetype")}@font-face{font-family:KaTeX_Math;font-style:italic;font-weight:400;src:url(fonts/KaTeX_Math-Italic.woff2) format("woff2"),url(fonts/KaTeX_Math-Italic.woff) format("woff"),url(fonts/KaTeX_Math-Italic.ttf) format("truetype")}@font-face{font-family:"KaTeX_SansSerif";font-style:normal;font-weight:700;src:url(fonts/KaTeX_SansSerif-Bold.woff2) format("woff2"),url(fonts/KaTeX_SansSerif-Bold.woff) format("woff"),url(fonts/KaTeX_SansSerif-Bold.ttf) format("truetype")}@font-face{font-family:"KaTeX_SansSerif";font-style:italic;font-weight:400;src:url(fonts/KaTeX_SansSerif-Italic.woff2) format("woff2"),url(fonts/KaTeX_SansSerif-Italic.woff) format("woff"),url(fonts/KaTeX_SansSerif-Italic.ttf) format("truetype")}@font-face{font-family:"KaTeX_SansSerif";font-style:normal;font-weight:400;src:url(fonts/KaTeX_SansSerif-Regular.woff2) format("woff2"),url(fonts/KaTeX_SansSerif-Regular.woff) format("woff"),url(fonts/KaTeX_SansSerif-Regular.ttf) format("truetype")}@font-face{font-family:KaTeX_Script;font-style:normal;font-weight:400;src:url(fonts/KaTeX_Script-Regular.woff2) format("woff2"),url(fonts/KaTeX_Script-Regular.woff) format("woff"),url(fonts/KaTeX_Script-Regular.ttf) format("truetype")}@font-face{font-family:KaTeX_Size1;font-style:normal;font-weight:400;src:url(fonts/KaTeX_Size1-Regular.woff2) format("woff2"),url(fonts/KaTeX_Size1-Regular.woff) format("woff"),url(fonts/KaTeX_Size1-Regular.ttf) format("truetype")}@font-face{font-family:KaTeX_Size2;font-style:normal;font-weight:400;src:url(fonts/KaTeX_Size2-Regular.woff2) format("woff2"),url(fonts/KaTeX_Size2-Regular.woff) format("woff"),url(fonts/KaTeX_Size2-Regular.ttf) format("truetype")}@font-face{font-family:KaTeX_Size3;font-style:normal;font-weight:400;src:url(fonts/KaTeX_Size3-Regular.woff2) format("woff2"),url(fonts/KaTeX_Size3-Regular.woff) format("woff"),url(fonts/KaTeX_Size3-Regular.ttf) format("truetype")}@font-face{font-family:KaTeX_Size4;font-style:normal;font-weight:400;src:url(fonts/KaTeX_Size4-Regular.woff2) format("woff2"),url(fonts/KaTeX_Size4-Regular.woff) format("woff"),url(fonts/KaTeX_Size4-Regular.ttf) format("truetype")}@font-face{font-family:KaTeX_Typewriter;font-style:normal;font-weight:400;src:url(fonts/KaTeX_Typewriter-Regular.woff2) format("woff2"),url(fonts/KaTeX_Typewriter-Regular.woff) format("woff"),url(fonts/KaTeX_Typewriter-Regular.ttf) format("truetype")}.katex{text-rendering:auto;font:normal 1.21em KaTeX_Main,Times New Roman,serif;line-height:1.2;text-indent:0}.katex *{-ms-high-contrast-adjust:none!important;border-color:currentColor}.katex .katex-version:after{content:"0.16.3"}.katex .katex-mathml{clip:rect(1px,1px,1px,1px);border:0;height:1px;overflow:hidden;padding:0;position:absolute;width:1px}.katex .katex-html>.newline{display:block}.katex .base{position:relative;white-space:nowrap;width:-webkit-min-content;width:-moz-min-content;width:min-content}.katex .base,.katex .strut{display:inline-block}.katex .textbf{font-weight:700}.katex .textit{font-style:italic}.katex .textrm{font-family:KaTeX_Main}.katex .textsf{font-family:KaTeX_SansSerif}.katex .texttt{font-family:KaTeX_Typewriter}.katex .mathnormal{font-family:KaTeX_Math;font-style:italic}.katex .mathit{font-family:KaTeX_Main;font-style:italic}.katex .mathrm{font-style:normal}.katex .mathbf{font-family:KaTeX_Main;font-weight:700}.katex .boldsymbol{font-family:KaTeX_Math;font-style:italic;font-weight:700}.katex .amsrm,.katex .mathbb,.katex .textbb{font-family:KaTeX_AMS}.katex .mathcal{font-family:KaTeX_Caligraphic}.katex .mathfrak,.katex .textfrak{font-family:KaTeX_Fraktur}.katex .mathtt{font-family:KaTeX_Typewriter}.katex .mathscr,.katex .textscr{font-family:KaTeX_Script}.katex .mathsf,.katex .textsf{font-family:KaTeX_SansSerif}.katex .mathboldsf,.katex .textboldsf{font-family:KaTeX_SansSerif;font-weight:700}.katex .mathitsf,.katex .textitsf{font-family:KaTeX_SansSerif;font-style:italic}.katex .mainrm{font-family:KaTeX_Main;font-style:normal}.katex .vlist-t{border-collapse:collapse;display:inline-table;table-layout:fixed}.katex .vlist-r{display:table-row}.katex .vlist{display:table-cell;position:relative;vertical-align:bottom}.katex .vlist>span{display:block;height:0;position:relative}.katex .vlist>span>span{display:inline-block}.katex .vlist>span>.pstrut{overflow:hidden;width:0}.katex .vlist-t2{margin-right:-2px}.katex .vlist-s{display:table-cell;font-size:1px;min-width:2px;vertical-align:bottom;width:2px}.katex .vbox{align-items:baseline;display:inline-flex;flex-direction:column}.katex .hbox{width:100%}.katex .hbox,.katex .thinbox{display:inline-flex;flex-direction:row}.katex .thinbox{max-width:0;width:0}.katex .msupsub{text-align:left}.katex .mfrac>span>span{text-align:center}.katex .mfrac .frac-line{border-bottom-style:solid;display:inline-block;width:100%}.katex .hdashline,.katex .hline,.katex .mfrac .frac-line,.katex .overline .overline-line,.katex .rule,.katex .underline .underline-line{min-height:1px}.katex .mspace{display:inline-block}.katex .clap,.katex .llap,.katex .rlap{position:relative;width:0}.katex .clap>.inner,.katex .llap>.inner,.katex .rlap>.inner{position:absolute}.katex .clap>.fix,.katex .llap>.fix,.katex .rlap>.fix{display:inline-block}.katex .llap>.inner{right:0}.katex .clap>.inner,.katex .rlap>.inner{left:0}.katex .clap>.inner>span{margin-left:-50%;margin-right:50%}.katex .rule{border:0 solid;display:inline-block;position:relative}.katex .hline,.katex .overline .overline-line,.katex .underline .underline-line{border-bottom-style:solid;display:inline-block;width:100%}.katex .hdashline{border-bottom-style:dashed;display:inline-block;width:100%}.katex .sqrt>.root{margin-left:.27777778em;margin-right:-.55555556em}.katex .fontsize-ensurer.reset-size1.size1,.katex .sizing.reset-size1.size1{font-size:1em}.katex .fontsize-ensurer.reset-size1.size2,.katex .sizing.reset-size1.size2{font-size:1.2em}.katex .fontsize-ensurer.reset-size1.size3,.katex .sizing.reset-size1.size3{font-size:1.4em}.katex .fontsize-ensurer.reset-size1.size4,.katex .sizing.reset-size1.size4{font-size:1.6em}.katex .fontsize-ensurer.reset-size1.size5,.katex .sizing.reset-size1.size5{font-size:1.8em}.katex .fontsize-ensurer.reset-size1.size6,.katex .sizing.reset-size1.size6{font-size:2em}.katex .fontsize-ensurer.reset-size1.size7,.katex .sizing.reset-size1.size7{font-size:2.4em}.katex .fontsize-ensurer.reset-size1.size8,.katex .sizing.reset-size1.size8{font-size:2.88em}.katex .fontsize-ensurer.reset-size1.size9,.katex .sizing.reset-size1.size9{font-size:3.456em}.katex .fontsize-ensurer.reset-size1.size10,.katex .sizing.reset-size1.size10{font-size:4.148em}.katex .fontsize-ensurer.reset-size1.size11,.katex .sizing.reset-size1.size11{font-size:4.976em}.katex .fontsize-ensurer.reset-size2.size1,.katex .sizing.reset-size2.size1{font-size:.83333333em}.katex .fontsize-ensurer.reset-size2.size2,.katex .sizing.reset-size2.size2{font-size:1em}.katex .fontsize-ensurer.reset-size2.size3,.katex .sizing.reset-size2.size3{font-size:1.16666667em}.katex .fontsize-ensurer.reset-size2.size4,.katex .sizing.reset-size2.size4{font-size:1.33333333em}.katex .fontsize-ensurer.reset-size2.size5,.katex .sizing.reset-size2.size5{font-size:1.5em}.katex .fontsize-ensurer.reset-size2.size6,.katex .sizing.reset-size2.size6{font-size:1.66666667em}.katex .fontsize-ensurer.reset-size2.size7,.katex .sizing.reset-size2.size7{font-size:2em}.katex .fontsize-ensurer.reset-size2.size8,.katex .sizing.reset-size2.size8{font-size:2.4em}.katex .fontsize-ensurer.reset-size2.size9,.katex .sizing.reset-size2.size9{font-size:2.88em}.katex .fontsize-ensurer.reset-size2.size10,.katex .sizing.reset-size2.size10{font-size:3.45666667em}.katex .fontsize-ensurer.reset-size2.size11,.katex .sizing.reset-size2.size11{font-size:4.14666667em}.katex .fontsize-ensurer.reset-size3.size1,.katex .sizing.reset-size3.size1{font-size:.71428571em}.katex .fontsize-ensurer.reset-size3.size2,.katex .sizing.reset-size3.size2{font-size:.85714286em}.katex .fontsize-ensurer.reset-size3.size3,.katex .sizing.reset-size3.size3{font-size:1em}.katex .fontsize-ensurer.reset-size3.size4,.katex .sizing.reset-size3.size4{font-size:1.14285714em}.katex .fontsize-ensurer.reset-size3.size5,.katex .sizing.reset-size3.size5{font-size:1.28571429em}.katex .fontsize-ensurer.reset-size3.size6,.katex .sizing.reset-size3.size6{font-size:1.42857143em}.katex .fontsize-ensurer.reset-size3.size7,.katex .sizing.reset-size3.size7{font-size:1.71428571em}.katex .fontsize-ensurer.reset-size3.size8,.katex .sizing.reset-size3.size8{font-size:2.05714286em}.katex .fontsize-ensurer.reset-size3.size9,.katex .sizing.reset-size3.size9{font-size:2.46857143em}.katex .fontsize-ensurer.reset-size3.size10,.katex .sizing.reset-size3.size10{font-size:2.96285714em}.katex .fontsize-ensurer.reset-size3.size11,.katex .sizing.reset-size3.size11{font-size:3.55428571em}.katex .fontsize-ensurer.reset-size4.size1,.katex .sizing.reset-size4.size1{font-size:.625em}.katex .fontsize-ensurer.reset-size4.size2,.katex .sizing.reset-size4.size2{font-size:.75em}.katex .fontsize-ensurer.reset-size4.size3,.katex .sizing.reset-size4.size3{font-size:.875em}.katex .fontsize-ensurer.reset-size4.size4,.katex .sizing.reset-size4.size4{font-size:1em}.katex .fontsize-ensurer.reset-size4.size5,.katex .sizing.reset-size4.size5{font-size:1.125em}.katex .fontsize-ensurer.reset-size4.size6,.katex .sizing.reset-size4.size6{font-size:1.25em}.katex .fontsize-ensurer.reset-size4.size7,.katex .sizing.reset-size4.size7{font-size:1.5em}.katex .fontsize-ensurer.reset-size4.size8,.katex .sizing.reset-size4.size8{font-size:1.8em}.katex .fontsize-ensurer.reset-size4.size9,.katex .sizing.reset-size4.size9{font-size:2.16em}.katex .fontsize-ensurer.reset-size4.size10,.katex .sizing.reset-size4.size10{font-size:2.5925em}.katex .fontsize-ensurer.reset-size4.size11,.katex .sizing.reset-size4.size11{font-size:3.11em}.katex .fontsize-ensurer.reset-size5.size1,.katex .sizing.reset-size5.size1{font-size:.55555556em}.katex .fontsize-ensurer.reset-size5.size2,.katex .sizing.reset-size5.size2{font-size:.66666667em}.katex .fontsize-ensurer.reset-size5.size3,.katex .sizing.reset-size5.size3{font-size:.77777778em}.katex .fontsize-ensurer.reset-size5.size4,.katex .sizing.reset-size5.size4{font-size:.88888889em}.katex .fontsize-ensurer.reset-size5.size5,.katex .sizing.reset-size5.size5{font-size:1em}.katex .fontsize-ensurer.reset-size5.size6,.katex .sizing.reset-size5.size6{font-size:1.11111111em}.katex .fontsize-ensurer.reset-size5.size7,.katex .sizing.reset-size5.size7{font-size:1.33333333em}.katex .fontsize-ensurer.reset-size5.size8,.katex .sizing.reset-size5.size8{font-size:1.6em}.katex .fontsize-ensurer.reset-size5.size9,.katex .sizing.reset-size5.size9{font-size:1.92em}.katex .fontsize-ensurer.reset-size5.size10,.katex .sizing.reset-size5.size10{font-size:2.30444444em}.katex .fontsize-ensurer.reset-size5.size11,.katex .sizing.reset-size5.size11{font-size:2.76444444em}.katex .fontsize-ensurer.reset-size6.size1,.katex .sizing.reset-size6.size1{font-size:.5em}.katex .fontsize-ensurer.reset-size6.size2,.katex .sizing.reset-size6.size2{font-size:.6em}.katex .fontsize-ensurer.reset-size6.size3,.katex .sizing.reset-size6.size3{font-size:.7em}.katex .fontsize-ensurer.reset-size6.size4,.katex .sizing.reset-size6.size4{font-size:.8em}.katex .fontsize-ensurer.reset-size6.size5,.katex .sizing.reset-size6.size5{font-size:.9em}.katex .fontsize-ensurer.reset-size6.size6,.katex .sizing.reset-size6.size6{font-size:1em}.katex .fontsize-ensurer.reset-size6.size7,.katex .sizing.reset-size6.size7{font-size:1.2em}.katex .fontsize-ensurer.reset-size6.size8,.katex .sizing.reset-size6.size8{font-size:1.44em}.katex .fontsize-ensurer.reset-size6.size9,.katex .sizing.reset-size6.size9{font-size:1.728em}.katex .fontsize-ensurer.reset-size6.size10,.katex .sizing.reset-size6.size10{font-size:2.074em}.katex .fontsize-ensurer.reset-size6.size11,.katex .sizing.reset-size6.size11{font-size:2.488em}.katex .fontsize-ensurer.reset-size7.size1,.katex .sizing.reset-size7.size1{font-size:.41666667em}.katex .fontsize-ensurer.reset-size7.size2,.katex .sizing.reset-size7.size2{font-size:.5em}.katex .fontsize-ensurer.reset-size7.size3,.katex .sizing.reset-size7.size3{font-size:.58333333em}.katex .fontsize-ensurer.reset-size7.size4,.katex .sizing.reset-size7.size4{font-size:.66666667em}.katex .fontsize-ensurer.reset-size7.size5,.katex .sizing.reset-size7.size5{font-size:.75em}.katex .fontsize-ensurer.reset-size7.size6,.katex .sizing.reset-size7.size6{font-size:.83333333em}.katex .fontsize-ensurer.reset-size7.size7,.katex .sizing.reset-size7.size7{font-size:1em}.katex .fontsize-ensurer.reset-size7.size8,.katex .sizing.reset-size7.size8{font-size:1.2em}.katex .fontsize-ensurer.reset-size7.size9,.katex .sizing.reset-size7.size9{font-size:1.44em}.katex .fontsize-ensurer.reset-size7.size10,.katex .sizing.reset-size7.size10{font-size:1.72833333em}.katex .fontsize-ensurer.reset-size7.size11,.katex .sizing.reset-size7.size11{font-size:2.07333333em}.katex .fontsize-ensurer.reset-size8.size1,.katex .sizing.reset-size8.size1{font-size:.34722222em}.katex .fontsize-ensurer.reset-size8.size2,.katex .sizing.reset-size8.size2{font-size:.41666667em}.katex .fontsize-ensurer.reset-size8.size3,.katex .sizing.reset-size8.size3{font-size:.48611111em}.katex .fontsize-ensurer.reset-size8.size4,.katex .sizing.reset-size8.size4{font-size:.55555556em}.katex .fontsize-ensurer.reset-size8.size5,.katex .sizing.reset-size8.size5{font-size:.625em}.katex .fontsize-ensurer.reset-size8.size6,.katex .sizing.reset-size8.size6{font-size:.69444444em}.katex .fontsize-ensurer.reset-size8.size7,.katex .sizing.reset-size8.size7{font-size:.83333333em}.katex .fontsize-ensurer.reset-size8.size8,.katex .sizing.reset-size8.size8{font-size:1em}.katex .fontsize-ensurer.reset-size8.size9,.katex .sizing.reset-size8.size9{font-size:1.2em}.katex .fontsize-ensurer.reset-size8.size10,.katex .sizing.reset-size8.size10{font-size:1.44027778em}.katex .fontsize-ensurer.reset-size8.size11,.katex .sizing.reset-size8.size11{font-size:1.72777778em}.katex .fontsize-ensurer.reset-size9.size1,.katex .sizing.reset-size9.size1{font-size:.28935185em}.katex .fontsize-ensurer.reset-size9.size2,.katex .sizing.reset-size9.size2{font-size:.34722222em}.katex .fontsize-ensurer.reset-size9.size3,.katex .sizing.reset-size9.size3{font-size:.40509259em}.katex .fontsize-ensurer.reset-size9.size4,.katex .sizing.reset-size9.size4{font-size:.46296296em}.katex .fontsize-ensurer.reset-size9.size5,.katex .sizing.reset-size9.size5{font-size:.52083333em}.katex .fontsize-ensurer.reset-size9.size6,.katex .sizing.reset-size9.size6{font-size:.5787037em}.katex .fontsize-ensurer.reset-size9.size7,.katex .sizing.reset-size9.size7{font-size:.69444444em}.katex .fontsize-ensurer.reset-size9.size8,.katex .sizing.reset-size9.size8{font-size:.83333333em}.katex .fontsize-ensurer.reset-size9.size9,.katex .sizing.reset-size9.size9{font-size:1em}.katex .fontsize-ensurer.reset-size9.size10,.katex .sizing.reset-size9.size10{font-size:1.20023148em}.katex .fontsize-ensurer.reset-size9.size11,.katex .sizing.reset-size9.size11{font-size:1.43981481em}.katex .fontsize-ensurer.reset-size10.size1,.katex .sizing.reset-size10.size1{font-size:.24108004em}.katex .fontsize-ensurer.reset-size10.size2,.katex .sizing.reset-size10.size2{font-size:.28929605em}.katex .fontsize-ensurer.reset-size10.size3,.katex .sizing.reset-size10.size3{font-size:.33751205em}.katex .fontsize-ensurer.reset-size10.size4,.katex .sizing.reset-size10.size4{font-size:.38572806em}.katex .fontsize-ensurer.reset-size10.size5,.katex .sizing.reset-size10.size5{font-size:.43394407em}.katex .fontsize-ensurer.reset-size10.size6,.katex .sizing.reset-size10.size6{font-size:.48216008em}.katex .fontsize-ensurer.reset-size10.size7,.katex .sizing.reset-size10.size7{font-size:.57859209em}.katex .fontsize-ensurer.reset-size10.size8,.katex .sizing.reset-size10.size8{font-size:.69431051em}.katex .fontsize-ensurer.reset-size10.size9,.katex .sizing.reset-size10.size9{font-size:.83317261em}.katex .fontsize-ensurer.reset-size10.size10,.katex .sizing.reset-size10.size10{font-size:1em}.katex .fontsize-ensurer.reset-size10.size11,.katex .sizing.reset-size10.size11{font-size:1.19961427em}.katex .fontsize-ensurer.reset-size11.size1,.katex .sizing.reset-size11.size1{font-size:.20096463em}.katex .fontsize-ensurer.reset-size11.size2,.katex .sizing.reset-size11.size2{font-size:.24115756em}.katex .fontsize-ensurer.reset-size11.size3,.katex .sizing.reset-size11.size3{font-size:.28135048em}.katex .fontsize-ensurer.reset-size11.size4,.katex .sizing.reset-size11.size4{font-size:.32154341em}.katex .fontsize-ensurer.reset-size11.size5,.katex .sizing.reset-size11.size5{font-size:.36173633em}.katex .fontsize-ensurer.reset-size11.size6,.katex .sizing.reset-size11.size6{font-size:.40192926em}.katex .fontsize-ensurer.reset-size11.size7,.katex .sizing.reset-size11.size7{font-size:.48231511em}.katex .fontsize-ensurer.reset-size11.size8,.katex .sizing.reset-size11.size8{font-size:.57877814em}.katex .fontsize-ensurer.reset-size11.size9,.katex .sizing.reset-size11.size9{font-size:.69453376em}.katex .fontsize-ensurer.reset-size11.size10,.katex .sizing.reset-size11.size10{font-size:.83360129em}.katex .fontsize-ensurer.reset-size11.size11,.katex .sizing.reset-size11.size11{font-size:1em}.katex .delimsizing.size1{font-family:KaTeX_Size1}.katex .delimsizing.size2{font-family:KaTeX_Size2}.katex .delimsizing.size3{font-family:KaTeX_Size3}.katex .delimsizing.size4{font-family:KaTeX_Size4}.katex .delimsizing.mult .delim-size1>span{font-family:KaTeX_Size1}.katex .delimsizing.mult .delim-size4>span{font-family:KaTeX_Size4}.katex .nulldelimiter{display:inline-block;width:.12em}.katex .delimcenter,.katex .op-symbol{position:relative}.katex .op-symbol.small-op{font-family:KaTeX_Size1}.katex .op-symbol.large-op{font-family:KaTeX_Size2}.katex .accent>.vlist-t,.katex .op-limits>.vlist-t{text-align:center}.katex .accent .accent-body{position:relative}.katex .accent .accent-body:not(.accent-full){width:0}.katex .overlay{display:block}.katex .mtable .vertical-separator{display:inline-block;min-width:1px}.katex .mtable .arraycolsep{display:inline-block}.katex .mtable .col-align-c>.vlist-t{text-align:center}.katex .mtable .col-align-l>.vlist-t{text-align:left}.katex .mtable .col-align-r>.vlist-t{text-align:right}.katex .svg-align{text-align:left}.katex svg{fill:currentColor;stroke:currentColor;fill-rule:nonzero;fill-opacity:1;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;display:block;height:inherit;position:absolute;width:100%}.katex svg path{stroke:none}.katex img{border-style:none;max-height:none;max-width:none;min-height:0;min-width:0}.katex .stretchy{display:block;overflow:hidden;position:relative;width:100%}.katex .stretchy:after,.katex .stretchy:before{content:""}.katex .hide-tail{overflow:hidden;position:relative;width:100%}.katex .halfarrow-left{left:0;overflow:hidden;position:absolute;width:50.2%}.katex .halfarrow-right{overflow:hidden;position:absolute;right:0;width:50.2%}.katex .brace-left{left:0;overflow:hidden;position:absolute;width:25.1%}.katex .brace-center{left:25%;overflow:hidden;position:absolute;width:50%}.katex .brace-right{overflow:hidden;position:absolute;right:0;width:25.1%}.katex .x-arrow-pad{padding:0 .5em}.katex .cd-arrow-pad{padding:0 .55556em 0 .27778em}.katex .mover,.katex .munder,.katex .x-arrow{text-align:center}.katex .boxpad{padding:0 .3em}.katex .fbox,.katex .fcolorbox{border:.04em solid;box-sizing:border-box}.katex .cancel-pad{padding:0 .2em}.katex .cancel-lap{margin-left:-.2em;margin-right:-.2em}.katex .sout{border-bottom-style:solid;border-bottom-width:.08em}.katex .angl{border-right:.049em solid;border-top:.049em solid;box-sizing:border-box;margin-right:.03889em}.katex .anglpad{padding:0 .03889em}.katex .eqn-num:before{content:"(" counter(katexEqnNo) ")";counter-increment:katexEqnNo}.katex .mml-eqn-num:before{content:"(" counter(mmlEqnNo) ")";counter-increment:mmlEqnNo}.katex .mtr-glue{width:50%}.katex .cd-vert-arrow{display:inline-block;position:relative}.katex .cd-label-left{display:inline-block;position:absolute;right:calc(50% + .3em);text-align:left}.katex .cd-label-right{display:inline-block;left:calc(50% + .3em);position:absolute;text-align:right}.katex-display{display:block;margin:1em 0;text-align:center}.katex-display>.katex{display:block;text-align:center;white-space:nowrap}.katex-display>.katex>.katex-html{display:block;position:relative}.katex-display>.katex>.katex-html>.tag{position:absolute;right:0}.katex-display.leqno>.katex>.katex-html>.tag{left:0;right:auto}.katex-display.fleqn>.katex{padding-left:2em;text-align:left}body{counter-reset:katexEqnNo mmlEqnNo} diff --git a/assets/css/toast.css b/assets/css/toast.css new file mode 100644 index 00000000..85e04757 --- /dev/null +++ b/assets/css/toast.css @@ -0,0 +1,16 @@ +/* assets/css/toast.css */ +.custom-toast-popup { + border-radius: 10px; /* Rounded corners */ + box-shadow: 0 0 10px rgba(0, 0, 0, 0.5); /* Custom shadow */ + display: flex; + justify-content: center; + align-items: center; + position: fixed; /* Fixed positioning */ + top: 50%; /* Center vertically */ + left: 50%; /* Center horizontally */ + transform: translate(-50%, -50%); /* Adjust for exact centering */ + z-index: 1000; /* Ensure it appears above other elements */ + padding: 10px; + color: #fff; + font-size: 1rem; + } \ No newline at end of file diff --git a/assets/css/vlabs-style.css b/assets/css/vlabs-style.css new file mode 100644 index 00000000..47cfdf51 --- /dev/null +++ b/assets/css/vlabs-style.css @@ -0,0 +1,444 @@ +html { + overflow-y: auto; +} + +.svc-rating-display{ + display:flex; + flex-direction: column; + margin-right: 40px ; + margin-bottom: 17px; + align-items: center ; +} + +.vl-rating-display { + display: flex; + flex-direction: column; + justify-content: center; + align-items: center; + overflow: hidden; + padding: 0px 10px; + margin-top: -15px; /* Adjust this value as needed */ +} +.list-of-experiments-container { + display: flex; + flex-direction: row; + justify-content: left; + align-items: center; + overflow: hidden; + flex: 0 0 1%; /*Adjust this value to decrease the width*/ +} + +.list-of-experiments-container > div{ + margin: 1px; +} +.list-of-experiments-display-rating { + position: relative; + top: -10px; + left: 20px; +} + +.vlabs-page { + height: 100vh; + overflow-x: hidden; +} + +.vlabs-header { + border-bottom: 8px solid #ff6600; + font-family: "Raleway", sans-serif; +} + +.vlabs-page-main { + font-size: 1rem; + font-family: "Open Sans", sans-serif; +} + +.vlabs-lab-name { + font-size: 1.7rem; +} + +.vlabs-footer { + font-size: 14px; + background: rgb(17, 17, 17); + font-family: "Raleway", sans-serif; +} + +.vlabs-footer-sect-name { + border-width: 0.15rem; + border-style: solid; + border-image: linear-gradient(to right, #3ec1d5 20%, #555 0%) 0% 0% 100% 0%; +} + +.vlabs-lab-name { + color: #2c99ce; +} + +.vlabs-page-content { + font-size: 1.2rem; + overflow-y: hidden; + font-family: "Raleway", sans-serif; +} + +.social-links > a { + color: #fff; + border-radius: 50%; + width: 36px; + height: 36px; +} + +.nav-menu a, +.simulation-header .dropdown .nav-menu a { + color: #3e6389; +} + +.nav-menu .tasks a, +.simulation-header .dropdown .nav-menu .tasks a { + color: #5c5c5c; +} + +.nav-menu a.current-item, +.simulation-header .dropdown .nav-menu a.current-item { + color: #ff6600; +} + +.nav-menu .tasks, +.simulation-header .dropdown .nav-menu .tasks { + font-size: 1rem; +} + +.nav-menu, +.simulation-header .dropdown .nav-menu { + font-size: 1.2rem; + font-weight: bold; +} + +.nav-menu-body { + justify-content: center; +} + +.sidebar .nav-menu-body { + justify-content: start; +} + +.sidebar { + /* border-right: 2px dotted #89a7c4; */ + border-right: thin solid #e8e8e8; + overflow: hidden; + box-sizing: content-box; +} + +.popupmenu .vlabs-logo { + height: 2.5rem; +} + +@media (max-width: 991px) { + .sidebar { + max-height: 6000px; + transition: max-height 1s ease-in; + flex-wrap: nowrap; + overflow-y: auto; + } + .vlabs-logo { + height: 3rem; + } + + .simulation-header { + display: none !important; + } +} + +@media (min-width: 992px) { + .vlabs-hidden { + display: none !important; + } + #toggle-menu-float-button { + display: none; + } + .bug-report-mobile { + display: none; + } +} + +.vlabs-header a { + margin: 0 1rem; + padding: 0.5rem 1rem; + color: #2c98cd; +} + +.vlabs-header #headerNavbar a:hover { + background: #77bb41; + color: #fff; + border-radius: 10px; +} + +.vlabs-header #headerNavbar a { + border-radius: 10px; + transition: 0.3s; +} + +.breadcrumbs, +.breadcrumbs a, +.breadcrumbs span { + font-size: 1.6rem; + color: #337ab7; +} + +.page-name { + color: #337ab7; +} + +/*pre-test and post-test page styling fix*/ + +.answers { + font-size: 1rem; + display: flex; + flex-direction: column; + margin-bottom: 1rem; +} + +.question { + font-weight: 900; +} + +/* feedback */ +#feedback-btn { + color: #2c99ce; + border-color: #2c99ce; +} + +/* to override markdown styling */ +.markdown-body { + font-family: "Raleway", sans-serif; + color: #000000; + text-align: justify; +} + +/* to fix the extended lines*/ +.markdown-body table tr { + border-top: 0; +} + +h1, +h2, +h3 { + color: #2c99ce; +} + +h2 { + padding-top: 2rem; + padding-bottom: 1rem; +} + +h3 { + font-size: 1.1rem; + color: #333333; + padding-top: 1rem; + text-decoration: underline; +} + +/* for ds experiments - video iframes */ +iframe { + width: 100%; + height: calc(100vw / 3); +} + +.simulation-container { + padding: 0px; + height: 100vh; + width: 100vw; + overflow: hidden; + position: absolute; + top: 0; + left: 0; + background: #fff; + display: flex; + flex-direction: column; +} + +.responsive-iframe { + flex: 1; +} + +/* Style the buttons that are used to open and close the accordion panel */ +.accordion { + display: none; + margin-left: 20px; + color: #337ab7; + text-decoration: underline; + text-align: right; +} + +/* Add a background color to the button if it is clicked on (add the .active class with JS), and when you move the mouse over it (hover) */ +/* .active, +.accordion:hover { +} */ + +/* Style the accordion panel. Note: hidden by default */ +.panel { + display: none; + background-color: #eee; + color: #444; + padding: 18px; + width: 100%; + text-align: left; + border: none; + outline: none; + transition: 0.4s; +} + +/* Customize the label (the container) */ +.container { + display: block; + position: relative; + padding-left: 35px; + margin-bottom: 12px; + cursor: pointer; + font-size: 22px; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +/* .form-check input[type="checkbox"] { + width: 1rem; + height: 1rem; + margin: 5px 10px 0px 0px; +} */ + +/* Responsive layout - makes the three columns stack on top of each other instead of next to each other */ +@media screen and (max-width: 600px) { + .column { + width: 100%; + } +} + +#difficulty-container, +.form-check { + display: flex; + align-items: center; +} + +.form-check input[type="checkbox"] { + margin: 0.5em; + transform: scale(1.5); +} + +.fix-spacing > * { + padding-top: 0; + margin-top: 1em; +} + +#toggle-menu-float-button { + position: absolute; + bottom: 20px; + left: 20px; + z-index: 1; + padding: 0.8em 1em; + background: rgba(255, 255, 255, 0.9); + cursor: pointer; + border-radius: 0.5em; + color: #fff; + border: 3px solid rgba(0, 174, 255, 0.274); + transform: scale(0.9); +} + +.toggle-menu-icon { + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='rgba(0, 0, 0, 0.5)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e"); + height: 30px; + width: 30px; +} + +.btn-close { + box-sizing: content-box; + width: 1em; + height: 1em; + padding: 0.25em 0.25em; + color: #000; + background: transparent + url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000'%3e%3cpath d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/%3e%3c/svg%3e") + center/1em auto no-repeat; + border: 0; + border-radius: 0.25rem; + opacity: 0.5; +} + +.tools { + top: 50%; + transform: translate(0%, 25%); +} + +.simulation-header .navbar-brand .vlabs-logo { + height: 3rem; +} + +.simulation-header h1, +.simulation-header h2 { + border: none; + font-size: 1.5rem; + padding: 0; + flex: 2; + text-align: center; + + display: -webkit-box; + -webkit-line-clamp: 1; + -webkit-box-orient: vertical; + overflow: hidden; + text-overflow: ellipsis; + overflow-wrap: break-word; +} + +.simulation-header .dropdown { + position: relative; + display: inline-block; +} + +.simulation-header .dropdown .backdrop { + position: absolute; + width: 100vw; + background-color: rgba(0, 0, 0, 0.2); + height: 100vh; +} + +.simulation-header .dropdown .nav-menu { + width: fit-content; + background-color: #fff; + margin-top: 8px; + padding: 10px; + box-shadow: 0px 8px 14px 0px rgba(0, 0, 0, 0.2); + font-family: "Open Sans", sans-serif; + max-height: 80%; + overflow: auto; +} + +.simulation-header .dropdown .nav-menu-body { + justify-content: flex-start; +} + +.simulation-header .dropdown .vlabs-hidden { + display: none; +} + +.expand-1 { + flex: 1; +} + +/* Add Button style from virtual styles */ +.v-button { + border: none; + color: #ffffff; + background-color: #288ec8; + text-align: center; + font-size: 1.05rem; + border-radius: 1em; + padding: 0.6em 1.2em; + cursor: pointer; +} + +.v-button:hover { + background-color: #a9a9a9; +} + +.v-button:disabled { + background-color: #a9a9a9; + cursor: not-allowed; +} \ No newline at end of file diff --git a/lab-structure/src/themes/green-icon/css/font-awesome.min.css b/assets/fonts/font-awesome-4.7.0/css/font-awesome.min.css old mode 100755 new mode 100644 similarity index 99% rename from lab-structure/src/themes/green-icon/css/font-awesome.min.css rename to assets/fonts/font-awesome-4.7.0/css/font-awesome.min.css index 5578ea5d..540440ce --- a/lab-structure/src/themes/green-icon/css/font-awesome.min.css +++ b/assets/fonts/font-awesome-4.7.0/css/font-awesome.min.css @@ -1,4 +1,4 @@ -/*! - * Font Awesome 4.7.0 by @davegandy - http://fontawesome.io - @fontawesome - * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) - */@font-face{font-family:'FontAwesome';src:url('../fonts/fontawesome-webfont.eot?v=4.7.0');src:url('../fonts/fontawesome-webfont.eot?#iefix&v=4.7.0') format('embedded-opentype'),url('../fonts/fontawesome-webfont.woff2?v=4.7.0') format('woff2'),url('../fonts/fontawesome-webfont.woff?v=4.7.0') format('woff'),url('../fonts/fontawesome-webfont.ttf?v=4.7.0') format('truetype'),url('../fonts/fontawesome-webfont.svg?v=4.7.0#fontawesomeregular') format('svg');font-weight:normal;font-style:normal}.fa{display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fa-lg{font-size:1.33333333em;line-height:.75em;vertical-align:-15%}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-fw{width:1.28571429em;text-align:center}.fa-ul{padding-left:0;margin-left:2.14285714em;list-style-type:none}.fa-ul>li{position:relative}.fa-li{position:absolute;left:-2.14285714em;width:2.14285714em;top:.14285714em;text-align:center}.fa-li.fa-lg{left:-1.85714286em}.fa-border{padding:.2em .25em .15em;border:solid .08em #eee;border-radius:.1em}.fa-pull-left{float:left}.fa-pull-right{float:right}.fa.fa-pull-left{margin-right:.3em}.fa.fa-pull-right{margin-left:.3em}.pull-right{float:right}.pull-left{float:left}.fa.pull-left{margin-right:.3em}.fa.pull-right{margin-left:.3em}.fa-spin{-webkit-animation:fa-spin 2s infinite linear;animation:fa-spin 2s infinite linear}.fa-pulse{-webkit-animation:fa-spin 1s infinite steps(8);animation:fa-spin 1s infinite steps(8)}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}.fa-rotate-90{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";-webkit-transform:rotate(270deg);-ms-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";-webkit-transform:scale(-1, 1);-ms-transform:scale(-1, 1);transform:scale(-1, 1)}.fa-flip-vertical{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";-webkit-transform:scale(1, -1);-ms-transform:scale(1, -1);transform:scale(1, -1)}:root .fa-rotate-90,:root .fa-rotate-180,:root .fa-rotate-270,:root .fa-flip-horizontal,:root .fa-flip-vertical{filter:none}.fa-stack{position:relative;display:inline-block;width:2em;height:2em;line-height:2em;vertical-align:middle}.fa-stack-1x,.fa-stack-2x{position:absolute;left:0;width:100%;text-align:center}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-glass:before{content:"\f000"}.fa-music:before{content:"\f001"}.fa-search:before{content:"\f002"}.fa-envelope-o:before{content:"\f003"}.fa-heart:before{content:"\f004"}.fa-star:before{content:"\f005"}.fa-star-o:before{content:"\f006"}.fa-user:before{content:"\f007"}.fa-film:before{content:"\f008"}.fa-th-large:before{content:"\f009"}.fa-th:before{content:"\f00a"}.fa-th-list:before{content:"\f00b"}.fa-check:before{content:"\f00c"}.fa-remove:before,.fa-close:before,.fa-times:before{content:"\f00d"}.fa-search-plus:before{content:"\f00e"}.fa-search-minus:before{content:"\f010"}.fa-power-off:before{content:"\f011"}.fa-signal:before{content:"\f012"}.fa-gear:before,.fa-cog:before{content:"\f013"}.fa-trash-o:before{content:"\f014"}.fa-home:before{content:"\f015"}.fa-file-o:before{content:"\f016"}.fa-clock-o:before{content:"\f017"}.fa-road:before{content:"\f018"}.fa-download:before{content:"\f019"}.fa-arrow-circle-o-down:before{content:"\f01a"}.fa-arrow-circle-o-up:before{content:"\f01b"}.fa-inbox:before{content:"\f01c"}.fa-play-circle-o:before{content:"\f01d"}.fa-rotate-right:before,.fa-repeat:before{content:"\f01e"}.fa-refresh:before{content:"\f021"}.fa-list-alt:before{content:"\f022"}.fa-lock:before{content:"\f023"}.fa-flag:before{content:"\f024"}.fa-headphones:before{content:"\f025"}.fa-volume-off:before{content:"\f026"}.fa-volume-down:before{content:"\f027"}.fa-volume-up:before{content:"\f028"}.fa-qrcode:before{content:"\f029"}.fa-barcode:before{content:"\f02a"}.fa-tag:before{content:"\f02b"}.fa-tags:before{content:"\f02c"}.fa-book:before{content:"\f02d"}.fa-bookmark:before{content:"\f02e"}.fa-print:before{content:"\f02f"}.fa-camera:before{content:"\f030"}.fa-font:before{content:"\f031"}.fa-bold:before{content:"\f032"}.fa-italic:before{content:"\f033"}.fa-text-height:before{content:"\f034"}.fa-text-width:before{content:"\f035"}.fa-align-left:before{content:"\f036"}.fa-align-center:before{content:"\f037"}.fa-align-right:before{content:"\f038"}.fa-align-justify:before{content:"\f039"}.fa-list:before{content:"\f03a"}.fa-dedent:before,.fa-outdent:before{content:"\f03b"}.fa-indent:before{content:"\f03c"}.fa-video-camera:before{content:"\f03d"}.fa-photo:before,.fa-image:before,.fa-picture-o:before{content:"\f03e"}.fa-pencil:before{content:"\f040"}.fa-map-marker:before{content:"\f041"}.fa-adjust:before{content:"\f042"}.fa-tint:before{content:"\f043"}.fa-edit:before,.fa-pencil-square-o:before{content:"\f044"}.fa-share-square-o:before{content:"\f045"}.fa-check-square-o:before{content:"\f046"}.fa-arrows:before{content:"\f047"}.fa-step-backward:before{content:"\f048"}.fa-fast-backward:before{content:"\f049"}.fa-backward:before{content:"\f04a"}.fa-play:before{content:"\f04b"}.fa-pause:before{content:"\f04c"}.fa-stop:before{content:"\f04d"}.fa-forward:before{content:"\f04e"}.fa-fast-forward:before{content:"\f050"}.fa-step-forward:before{content:"\f051"}.fa-eject:before{content:"\f052"}.fa-chevron-left:before{content:"\f053"}.fa-chevron-right:before{content:"\f054"}.fa-plus-circle:before{content:"\f055"}.fa-minus-circle:before{content:"\f056"}.fa-times-circle:before{content:"\f057"}.fa-check-circle:before{content:"\f058"}.fa-question-circle:before{content:"\f059"}.fa-info-circle:before{content:"\f05a"}.fa-crosshairs:before{content:"\f05b"}.fa-times-circle-o:before{content:"\f05c"}.fa-check-circle-o:before{content:"\f05d"}.fa-ban:before{content:"\f05e"}.fa-arrow-left:before{content:"\f060"}.fa-arrow-right:before{content:"\f061"}.fa-arrow-up:before{content:"\f062"}.fa-arrow-down:before{content:"\f063"}.fa-mail-forward:before,.fa-share:before{content:"\f064"}.fa-expand:before{content:"\f065"}.fa-compress:before{content:"\f066"}.fa-plus:before{content:"\f067"}.fa-minus:before{content:"\f068"}.fa-asterisk:before{content:"\f069"}.fa-exclamation-circle:before{content:"\f06a"}.fa-gift:before{content:"\f06b"}.fa-leaf:before{content:"\f06c"}.fa-fire:before{content:"\f06d"}.fa-eye:before{content:"\f06e"}.fa-eye-slash:before{content:"\f070"}.fa-warning:before,.fa-exclamation-triangle:before{content:"\f071"}.fa-plane:before{content:"\f072"}.fa-calendar:before{content:"\f073"}.fa-random:before{content:"\f074"}.fa-comment:before{content:"\f075"}.fa-magnet:before{content:"\f076"}.fa-chevron-up:before{content:"\f077"}.fa-chevron-down:before{content:"\f078"}.fa-retweet:before{content:"\f079"}.fa-shopping-cart:before{content:"\f07a"}.fa-folder:before{content:"\f07b"}.fa-folder-open:before{content:"\f07c"}.fa-arrows-v:before{content:"\f07d"}.fa-arrows-h:before{content:"\f07e"}.fa-bar-chart-o:before,.fa-bar-chart:before{content:"\f080"}.fa-twitter-square:before{content:"\f081"}.fa-facebook-square:before{content:"\f082"}.fa-camera-retro:before{content:"\f083"}.fa-key:before{content:"\f084"}.fa-gears:before,.fa-cogs:before{content:"\f085"}.fa-comments:before{content:"\f086"}.fa-thumbs-o-up:before{content:"\f087"}.fa-thumbs-o-down:before{content:"\f088"}.fa-star-half:before{content:"\f089"}.fa-heart-o:before{content:"\f08a"}.fa-sign-out:before{content:"\f08b"}.fa-linkedin-square:before{content:"\f08c"}.fa-thumb-tack:before{content:"\f08d"}.fa-external-link:before{content:"\f08e"}.fa-sign-in:before{content:"\f090"}.fa-trophy:before{content:"\f091"}.fa-github-square:before{content:"\f092"}.fa-upload:before{content:"\f093"}.fa-lemon-o:before{content:"\f094"}.fa-phone:before{content:"\f095"}.fa-square-o:before{content:"\f096"}.fa-bookmark-o:before{content:"\f097"}.fa-phone-square:before{content:"\f098"}.fa-twitter:before{content:"\f099"}.fa-facebook-f:before,.fa-facebook:before{content:"\f09a"}.fa-github:before{content:"\f09b"}.fa-unlock:before{content:"\f09c"}.fa-credit-card:before{content:"\f09d"}.fa-feed:before,.fa-rss:before{content:"\f09e"}.fa-hdd-o:before{content:"\f0a0"}.fa-bullhorn:before{content:"\f0a1"}.fa-bell:before{content:"\f0f3"}.fa-certificate:before{content:"\f0a3"}.fa-hand-o-right:before{content:"\f0a4"}.fa-hand-o-left:before{content:"\f0a5"}.fa-hand-o-up:before{content:"\f0a6"}.fa-hand-o-down:before{content:"\f0a7"}.fa-arrow-circle-left:before{content:"\f0a8"}.fa-arrow-circle-right:before{content:"\f0a9"}.fa-arrow-circle-up:before{content:"\f0aa"}.fa-arrow-circle-down:before{content:"\f0ab"}.fa-globe:before{content:"\f0ac"}.fa-wrench:before{content:"\f0ad"}.fa-tasks:before{content:"\f0ae"}.fa-filter:before{content:"\f0b0"}.fa-briefcase:before{content:"\f0b1"}.fa-arrows-alt:before{content:"\f0b2"}.fa-group:before,.fa-users:before{content:"\f0c0"}.fa-chain:before,.fa-link:before{content:"\f0c1"}.fa-cloud:before{content:"\f0c2"}.fa-flask:before{content:"\f0c3"}.fa-cut:before,.fa-scissors:before{content:"\f0c4"}.fa-copy:before,.fa-files-o:before{content:"\f0c5"}.fa-paperclip:before{content:"\f0c6"}.fa-save:before,.fa-floppy-o:before{content:"\f0c7"}.fa-square:before{content:"\f0c8"}.fa-navicon:before,.fa-reorder:before,.fa-bars:before{content:"\f0c9"}.fa-list-ul:before{content:"\f0ca"}.fa-list-ol:before{content:"\f0cb"}.fa-strikethrough:before{content:"\f0cc"}.fa-underline:before{content:"\f0cd"}.fa-table:before{content:"\f0ce"}.fa-magic:before{content:"\f0d0"}.fa-truck:before{content:"\f0d1"}.fa-pinterest:before{content:"\f0d2"}.fa-pinterest-square:before{content:"\f0d3"}.fa-google-plus-square:before{content:"\f0d4"}.fa-google-plus:before{content:"\f0d5"}.fa-money:before{content:"\f0d6"}.fa-caret-down:before{content:"\f0d7"}.fa-caret-up:before{content:"\f0d8"}.fa-caret-left:before{content:"\f0d9"}.fa-caret-right:before{content:"\f0da"}.fa-columns:before{content:"\f0db"}.fa-unsorted:before,.fa-sort:before{content:"\f0dc"}.fa-sort-down:before,.fa-sort-desc:before{content:"\f0dd"}.fa-sort-up:before,.fa-sort-asc:before{content:"\f0de"}.fa-envelope:before{content:"\f0e0"}.fa-linkedin:before{content:"\f0e1"}.fa-rotate-left:before,.fa-undo:before{content:"\f0e2"}.fa-legal:before,.fa-gavel:before{content:"\f0e3"}.fa-dashboard:before,.fa-tachometer:before{content:"\f0e4"}.fa-comment-o:before{content:"\f0e5"}.fa-comments-o:before{content:"\f0e6"}.fa-flash:before,.fa-bolt:before{content:"\f0e7"}.fa-sitemap:before{content:"\f0e8"}.fa-umbrella:before{content:"\f0e9"}.fa-paste:before,.fa-clipboard:before{content:"\f0ea"}.fa-lightbulb-o:before{content:"\f0eb"}.fa-exchange:before{content:"\f0ec"}.fa-cloud-download:before{content:"\f0ed"}.fa-cloud-upload:before{content:"\f0ee"}.fa-user-md:before{content:"\f0f0"}.fa-stethoscope:before{content:"\f0f1"}.fa-suitcase:before{content:"\f0f2"}.fa-bell-o:before{content:"\f0a2"}.fa-coffee:before{content:"\f0f4"}.fa-cutlery:before{content:"\f0f5"}.fa-file-text-o:before{content:"\f0f6"}.fa-building-o:before{content:"\f0f7"}.fa-hospital-o:before{content:"\f0f8"}.fa-ambulance:before{content:"\f0f9"}.fa-medkit:before{content:"\f0fa"}.fa-fighter-jet:before{content:"\f0fb"}.fa-beer:before{content:"\f0fc"}.fa-h-square:before{content:"\f0fd"}.fa-plus-square:before{content:"\f0fe"}.fa-angle-double-left:before{content:"\f100"}.fa-angle-double-right:before{content:"\f101"}.fa-angle-double-up:before{content:"\f102"}.fa-angle-double-down:before{content:"\f103"}.fa-angle-left:before{content:"\f104"}.fa-angle-right:before{content:"\f105"}.fa-angle-up:before{content:"\f106"}.fa-angle-down:before{content:"\f107"}.fa-desktop:before{content:"\f108"}.fa-laptop:before{content:"\f109"}.fa-tablet:before{content:"\f10a"}.fa-mobile-phone:before,.fa-mobile:before{content:"\f10b"}.fa-circle-o:before{content:"\f10c"}.fa-quote-left:before{content:"\f10d"}.fa-quote-right:before{content:"\f10e"}.fa-spinner:before{content:"\f110"}.fa-circle:before{content:"\f111"}.fa-mail-reply:before,.fa-reply:before{content:"\f112"}.fa-github-alt:before{content:"\f113"}.fa-folder-o:before{content:"\f114"}.fa-folder-open-o:before{content:"\f115"}.fa-smile-o:before{content:"\f118"}.fa-frown-o:before{content:"\f119"}.fa-meh-o:before{content:"\f11a"}.fa-gamepad:before{content:"\f11b"}.fa-keyboard-o:before{content:"\f11c"}.fa-flag-o:before{content:"\f11d"}.fa-flag-checkered:before{content:"\f11e"}.fa-terminal:before{content:"\f120"}.fa-code:before{content:"\f121"}.fa-mail-reply-all:before,.fa-reply-all:before{content:"\f122"}.fa-star-half-empty:before,.fa-star-half-full:before,.fa-star-half-o:before{content:"\f123"}.fa-location-arrow:before{content:"\f124"}.fa-crop:before{content:"\f125"}.fa-code-fork:before{content:"\f126"}.fa-unlink:before,.fa-chain-broken:before{content:"\f127"}.fa-question:before{content:"\f128"}.fa-info:before{content:"\f129"}.fa-exclamation:before{content:"\f12a"}.fa-superscript:before{content:"\f12b"}.fa-subscript:before{content:"\f12c"}.fa-eraser:before{content:"\f12d"}.fa-puzzle-piece:before{content:"\f12e"}.fa-microphone:before{content:"\f130"}.fa-microphone-slash:before{content:"\f131"}.fa-shield:before{content:"\f132"}.fa-calendar-o:before{content:"\f133"}.fa-fire-extinguisher:before{content:"\f134"}.fa-rocket:before{content:"\f135"}.fa-maxcdn:before{content:"\f136"}.fa-chevron-circle-left:before{content:"\f137"}.fa-chevron-circle-right:before{content:"\f138"}.fa-chevron-circle-up:before{content:"\f139"}.fa-chevron-circle-down:before{content:"\f13a"}.fa-html5:before{content:"\f13b"}.fa-css3:before{content:"\f13c"}.fa-anchor:before{content:"\f13d"}.fa-unlock-alt:before{content:"\f13e"}.fa-bullseye:before{content:"\f140"}.fa-ellipsis-h:before{content:"\f141"}.fa-ellipsis-v:before{content:"\f142"}.fa-rss-square:before{content:"\f143"}.fa-play-circle:before{content:"\f144"}.fa-ticket:before{content:"\f145"}.fa-minus-square:before{content:"\f146"}.fa-minus-square-o:before{content:"\f147"}.fa-level-up:before{content:"\f148"}.fa-level-down:before{content:"\f149"}.fa-check-square:before{content:"\f14a"}.fa-pencil-square:before{content:"\f14b"}.fa-external-link-square:before{content:"\f14c"}.fa-share-square:before{content:"\f14d"}.fa-compass:before{content:"\f14e"}.fa-toggle-down:before,.fa-caret-square-o-down:before{content:"\f150"}.fa-toggle-up:before,.fa-caret-square-o-up:before{content:"\f151"}.fa-toggle-right:before,.fa-caret-square-o-right:before{content:"\f152"}.fa-euro:before,.fa-eur:before{content:"\f153"}.fa-gbp:before{content:"\f154"}.fa-dollar:before,.fa-usd:before{content:"\f155"}.fa-rupee:before,.fa-inr:before{content:"\f156"}.fa-cny:before,.fa-rmb:before,.fa-yen:before,.fa-jpy:before{content:"\f157"}.fa-ruble:before,.fa-rouble:before,.fa-rub:before{content:"\f158"}.fa-won:before,.fa-krw:before{content:"\f159"}.fa-bitcoin:before,.fa-btc:before{content:"\f15a"}.fa-file:before{content:"\f15b"}.fa-file-text:before{content:"\f15c"}.fa-sort-alpha-asc:before{content:"\f15d"}.fa-sort-alpha-desc:before{content:"\f15e"}.fa-sort-amount-asc:before{content:"\f160"}.fa-sort-amount-desc:before{content:"\f161"}.fa-sort-numeric-asc:before{content:"\f162"}.fa-sort-numeric-desc:before{content:"\f163"}.fa-thumbs-up:before{content:"\f164"}.fa-thumbs-down:before{content:"\f165"}.fa-youtube-square:before{content:"\f166"}.fa-youtube:before{content:"\f167"}.fa-xing:before{content:"\f168"}.fa-xing-square:before{content:"\f169"}.fa-youtube-play:before{content:"\f16a"}.fa-dropbox:before{content:"\f16b"}.fa-stack-overflow:before{content:"\f16c"}.fa-instagram:before{content:"\f16d"}.fa-flickr:before{content:"\f16e"}.fa-adn:before{content:"\f170"}.fa-bitbucket:before{content:"\f171"}.fa-bitbucket-square:before{content:"\f172"}.fa-tumblr:before{content:"\f173"}.fa-tumblr-square:before{content:"\f174"}.fa-long-arrow-down:before{content:"\f175"}.fa-long-arrow-up:before{content:"\f176"}.fa-long-arrow-left:before{content:"\f177"}.fa-long-arrow-right:before{content:"\f178"}.fa-apple:before{content:"\f179"}.fa-windows:before{content:"\f17a"}.fa-android:before{content:"\f17b"}.fa-linux:before{content:"\f17c"}.fa-dribbble:before{content:"\f17d"}.fa-skype:before{content:"\f17e"}.fa-foursquare:before{content:"\f180"}.fa-trello:before{content:"\f181"}.fa-female:before{content:"\f182"}.fa-male:before{content:"\f183"}.fa-gittip:before,.fa-gratipay:before{content:"\f184"}.fa-sun-o:before{content:"\f185"}.fa-moon-o:before{content:"\f186"}.fa-archive:before{content:"\f187"}.fa-bug:before{content:"\f188"}.fa-vk:before{content:"\f189"}.fa-weibo:before{content:"\f18a"}.fa-renren:before{content:"\f18b"}.fa-pagelines:before{content:"\f18c"}.fa-stack-exchange:before{content:"\f18d"}.fa-arrow-circle-o-right:before{content:"\f18e"}.fa-arrow-circle-o-left:before{content:"\f190"}.fa-toggle-left:before,.fa-caret-square-o-left:before{content:"\f191"}.fa-dot-circle-o:before{content:"\f192"}.fa-wheelchair:before{content:"\f193"}.fa-vimeo-square:before{content:"\f194"}.fa-turkish-lira:before,.fa-try:before{content:"\f195"}.fa-plus-square-o:before{content:"\f196"}.fa-space-shuttle:before{content:"\f197"}.fa-slack:before{content:"\f198"}.fa-envelope-square:before{content:"\f199"}.fa-wordpress:before{content:"\f19a"}.fa-openid:before{content:"\f19b"}.fa-institution:before,.fa-bank:before,.fa-university:before{content:"\f19c"}.fa-mortar-board:before,.fa-graduation-cap:before{content:"\f19d"}.fa-yahoo:before{content:"\f19e"}.fa-google:before{content:"\f1a0"}.fa-reddit:before{content:"\f1a1"}.fa-reddit-square:before{content:"\f1a2"}.fa-stumbleupon-circle:before{content:"\f1a3"}.fa-stumbleupon:before{content:"\f1a4"}.fa-delicious:before{content:"\f1a5"}.fa-digg:before{content:"\f1a6"}.fa-pied-piper-pp:before{content:"\f1a7"}.fa-pied-piper-alt:before{content:"\f1a8"}.fa-drupal:before{content:"\f1a9"}.fa-joomla:before{content:"\f1aa"}.fa-language:before{content:"\f1ab"}.fa-fax:before{content:"\f1ac"}.fa-building:before{content:"\f1ad"}.fa-child:before{content:"\f1ae"}.fa-paw:before{content:"\f1b0"}.fa-spoon:before{content:"\f1b1"}.fa-cube:before{content:"\f1b2"}.fa-cubes:before{content:"\f1b3"}.fa-behance:before{content:"\f1b4"}.fa-behance-square:before{content:"\f1b5"}.fa-steam:before{content:"\f1b6"}.fa-steam-square:before{content:"\f1b7"}.fa-recycle:before{content:"\f1b8"}.fa-automobile:before,.fa-car:before{content:"\f1b9"}.fa-cab:before,.fa-taxi:before{content:"\f1ba"}.fa-tree:before{content:"\f1bb"}.fa-spotify:before{content:"\f1bc"}.fa-deviantart:before{content:"\f1bd"}.fa-soundcloud:before{content:"\f1be"}.fa-database:before{content:"\f1c0"}.fa-file-pdf-o:before{content:"\f1c1"}.fa-file-word-o:before{content:"\f1c2"}.fa-file-excel-o:before{content:"\f1c3"}.fa-file-powerpoint-o:before{content:"\f1c4"}.fa-file-photo-o:before,.fa-file-picture-o:before,.fa-file-image-o:before{content:"\f1c5"}.fa-file-zip-o:before,.fa-file-archive-o:before{content:"\f1c6"}.fa-file-sound-o:before,.fa-file-audio-o:before{content:"\f1c7"}.fa-file-movie-o:before,.fa-file-video-o:before{content:"\f1c8"}.fa-file-code-o:before{content:"\f1c9"}.fa-vine:before{content:"\f1ca"}.fa-codepen:before{content:"\f1cb"}.fa-jsfiddle:before{content:"\f1cc"}.fa-life-bouy:before,.fa-life-buoy:before,.fa-life-saver:before,.fa-support:before,.fa-life-ring:before{content:"\f1cd"}.fa-circle-o-notch:before{content:"\f1ce"}.fa-ra:before,.fa-resistance:before,.fa-rebel:before{content:"\f1d0"}.fa-ge:before,.fa-empire:before{content:"\f1d1"}.fa-git-square:before{content:"\f1d2"}.fa-git:before{content:"\f1d3"}.fa-y-combinator-square:before,.fa-yc-square:before,.fa-hacker-news:before{content:"\f1d4"}.fa-tencent-weibo:before{content:"\f1d5"}.fa-qq:before{content:"\f1d6"}.fa-wechat:before,.fa-weixin:before{content:"\f1d7"}.fa-send:before,.fa-paper-plane:before{content:"\f1d8"}.fa-send-o:before,.fa-paper-plane-o:before{content:"\f1d9"}.fa-history:before{content:"\f1da"}.fa-circle-thin:before{content:"\f1db"}.fa-header:before{content:"\f1dc"}.fa-paragraph:before{content:"\f1dd"}.fa-sliders:before{content:"\f1de"}.fa-share-alt:before{content:"\f1e0"}.fa-share-alt-square:before{content:"\f1e1"}.fa-bomb:before{content:"\f1e2"}.fa-soccer-ball-o:before,.fa-futbol-o:before{content:"\f1e3"}.fa-tty:before{content:"\f1e4"}.fa-binoculars:before{content:"\f1e5"}.fa-plug:before{content:"\f1e6"}.fa-slideshare:before{content:"\f1e7"}.fa-twitch:before{content:"\f1e8"}.fa-yelp:before{content:"\f1e9"}.fa-newspaper-o:before{content:"\f1ea"}.fa-wifi:before{content:"\f1eb"}.fa-calculator:before{content:"\f1ec"}.fa-paypal:before{content:"\f1ed"}.fa-google-wallet:before{content:"\f1ee"}.fa-cc-visa:before{content:"\f1f0"}.fa-cc-mastercard:before{content:"\f1f1"}.fa-cc-discover:before{content:"\f1f2"}.fa-cc-amex:before{content:"\f1f3"}.fa-cc-paypal:before{content:"\f1f4"}.fa-cc-stripe:before{content:"\f1f5"}.fa-bell-slash:before{content:"\f1f6"}.fa-bell-slash-o:before{content:"\f1f7"}.fa-trash:before{content:"\f1f8"}.fa-copyright:before{content:"\f1f9"}.fa-at:before{content:"\f1fa"}.fa-eyedropper:before{content:"\f1fb"}.fa-paint-brush:before{content:"\f1fc"}.fa-birthday-cake:before{content:"\f1fd"}.fa-area-chart:before{content:"\f1fe"}.fa-pie-chart:before{content:"\f200"}.fa-line-chart:before{content:"\f201"}.fa-lastfm:before{content:"\f202"}.fa-lastfm-square:before{content:"\f203"}.fa-toggle-off:before{content:"\f204"}.fa-toggle-on:before{content:"\f205"}.fa-bicycle:before{content:"\f206"}.fa-bus:before{content:"\f207"}.fa-ioxhost:before{content:"\f208"}.fa-angellist:before{content:"\f209"}.fa-cc:before{content:"\f20a"}.fa-shekel:before,.fa-sheqel:before,.fa-ils:before{content:"\f20b"}.fa-meanpath:before{content:"\f20c"}.fa-buysellads:before{content:"\f20d"}.fa-connectdevelop:before{content:"\f20e"}.fa-dashcube:before{content:"\f210"}.fa-forumbee:before{content:"\f211"}.fa-leanpub:before{content:"\f212"}.fa-sellsy:before{content:"\f213"}.fa-shirtsinbulk:before{content:"\f214"}.fa-simplybuilt:before{content:"\f215"}.fa-skyatlas:before{content:"\f216"}.fa-cart-plus:before{content:"\f217"}.fa-cart-arrow-down:before{content:"\f218"}.fa-diamond:before{content:"\f219"}.fa-ship:before{content:"\f21a"}.fa-user-secret:before{content:"\f21b"}.fa-motorcycle:before{content:"\f21c"}.fa-street-view:before{content:"\f21d"}.fa-heartbeat:before{content:"\f21e"}.fa-venus:before{content:"\f221"}.fa-mars:before{content:"\f222"}.fa-mercury:before{content:"\f223"}.fa-intersex:before,.fa-transgender:before{content:"\f224"}.fa-transgender-alt:before{content:"\f225"}.fa-venus-double:before{content:"\f226"}.fa-mars-double:before{content:"\f227"}.fa-venus-mars:before{content:"\f228"}.fa-mars-stroke:before{content:"\f229"}.fa-mars-stroke-v:before{content:"\f22a"}.fa-mars-stroke-h:before{content:"\f22b"}.fa-neuter:before{content:"\f22c"}.fa-genderless:before{content:"\f22d"}.fa-facebook-official:before{content:"\f230"}.fa-pinterest-p:before{content:"\f231"}.fa-whatsapp:before{content:"\f232"}.fa-server:before{content:"\f233"}.fa-user-plus:before{content:"\f234"}.fa-user-times:before{content:"\f235"}.fa-hotel:before,.fa-bed:before{content:"\f236"}.fa-viacoin:before{content:"\f237"}.fa-train:before{content:"\f238"}.fa-subway:before{content:"\f239"}.fa-medium:before{content:"\f23a"}.fa-yc:before,.fa-y-combinator:before{content:"\f23b"}.fa-optin-monster:before{content:"\f23c"}.fa-opencart:before{content:"\f23d"}.fa-expeditedssl:before{content:"\f23e"}.fa-battery-4:before,.fa-battery:before,.fa-battery-full:before{content:"\f240"}.fa-battery-3:before,.fa-battery-three-quarters:before{content:"\f241"}.fa-battery-2:before,.fa-battery-half:before{content:"\f242"}.fa-battery-1:before,.fa-battery-quarter:before{content:"\f243"}.fa-battery-0:before,.fa-battery-empty:before{content:"\f244"}.fa-mouse-pointer:before{content:"\f245"}.fa-i-cursor:before{content:"\f246"}.fa-object-group:before{content:"\f247"}.fa-object-ungroup:before{content:"\f248"}.fa-sticky-note:before{content:"\f249"}.fa-sticky-note-o:before{content:"\f24a"}.fa-cc-jcb:before{content:"\f24b"}.fa-cc-diners-club:before{content:"\f24c"}.fa-clone:before{content:"\f24d"}.fa-balance-scale:before{content:"\f24e"}.fa-hourglass-o:before{content:"\f250"}.fa-hourglass-1:before,.fa-hourglass-start:before{content:"\f251"}.fa-hourglass-2:before,.fa-hourglass-half:before{content:"\f252"}.fa-hourglass-3:before,.fa-hourglass-end:before{content:"\f253"}.fa-hourglass:before{content:"\f254"}.fa-hand-grab-o:before,.fa-hand-rock-o:before{content:"\f255"}.fa-hand-stop-o:before,.fa-hand-paper-o:before{content:"\f256"}.fa-hand-scissors-o:before{content:"\f257"}.fa-hand-lizard-o:before{content:"\f258"}.fa-hand-spock-o:before{content:"\f259"}.fa-hand-pointer-o:before{content:"\f25a"}.fa-hand-peace-o:before{content:"\f25b"}.fa-trademark:before{content:"\f25c"}.fa-registered:before{content:"\f25d"}.fa-creative-commons:before{content:"\f25e"}.fa-gg:before{content:"\f260"}.fa-gg-circle:before{content:"\f261"}.fa-tripadvisor:before{content:"\f262"}.fa-odnoklassniki:before{content:"\f263"}.fa-odnoklassniki-square:before{content:"\f264"}.fa-get-pocket:before{content:"\f265"}.fa-wikipedia-w:before{content:"\f266"}.fa-safari:before{content:"\f267"}.fa-chrome:before{content:"\f268"}.fa-firefox:before{content:"\f269"}.fa-opera:before{content:"\f26a"}.fa-internet-explorer:before{content:"\f26b"}.fa-tv:before,.fa-television:before{content:"\f26c"}.fa-contao:before{content:"\f26d"}.fa-500px:before{content:"\f26e"}.fa-amazon:before{content:"\f270"}.fa-calendar-plus-o:before{content:"\f271"}.fa-calendar-minus-o:before{content:"\f272"}.fa-calendar-times-o:before{content:"\f273"}.fa-calendar-check-o:before{content:"\f274"}.fa-industry:before{content:"\f275"}.fa-map-pin:before{content:"\f276"}.fa-map-signs:before{content:"\f277"}.fa-map-o:before{content:"\f278"}.fa-map:before{content:"\f279"}.fa-commenting:before{content:"\f27a"}.fa-commenting-o:before{content:"\f27b"}.fa-houzz:before{content:"\f27c"}.fa-vimeo:before{content:"\f27d"}.fa-black-tie:before{content:"\f27e"}.fa-fonticons:before{content:"\f280"}.fa-reddit-alien:before{content:"\f281"}.fa-edge:before{content:"\f282"}.fa-credit-card-alt:before{content:"\f283"}.fa-codiepie:before{content:"\f284"}.fa-modx:before{content:"\f285"}.fa-fort-awesome:before{content:"\f286"}.fa-usb:before{content:"\f287"}.fa-product-hunt:before{content:"\f288"}.fa-mixcloud:before{content:"\f289"}.fa-scribd:before{content:"\f28a"}.fa-pause-circle:before{content:"\f28b"}.fa-pause-circle-o:before{content:"\f28c"}.fa-stop-circle:before{content:"\f28d"}.fa-stop-circle-o:before{content:"\f28e"}.fa-shopping-bag:before{content:"\f290"}.fa-shopping-basket:before{content:"\f291"}.fa-hashtag:before{content:"\f292"}.fa-bluetooth:before{content:"\f293"}.fa-bluetooth-b:before{content:"\f294"}.fa-percent:before{content:"\f295"}.fa-gitlab:before{content:"\f296"}.fa-wpbeginner:before{content:"\f297"}.fa-wpforms:before{content:"\f298"}.fa-envira:before{content:"\f299"}.fa-universal-access:before{content:"\f29a"}.fa-wheelchair-alt:before{content:"\f29b"}.fa-question-circle-o:before{content:"\f29c"}.fa-blind:before{content:"\f29d"}.fa-audio-description:before{content:"\f29e"}.fa-volume-control-phone:before{content:"\f2a0"}.fa-braille:before{content:"\f2a1"}.fa-assistive-listening-systems:before{content:"\f2a2"}.fa-asl-interpreting:before,.fa-american-sign-language-interpreting:before{content:"\f2a3"}.fa-deafness:before,.fa-hard-of-hearing:before,.fa-deaf:before{content:"\f2a4"}.fa-glide:before{content:"\f2a5"}.fa-glide-g:before{content:"\f2a6"}.fa-signing:before,.fa-sign-language:before{content:"\f2a7"}.fa-low-vision:before{content:"\f2a8"}.fa-viadeo:before{content:"\f2a9"}.fa-viadeo-square:before{content:"\f2aa"}.fa-snapchat:before{content:"\f2ab"}.fa-snapchat-ghost:before{content:"\f2ac"}.fa-snapchat-square:before{content:"\f2ad"}.fa-pied-piper:before{content:"\f2ae"}.fa-first-order:before{content:"\f2b0"}.fa-yoast:before{content:"\f2b1"}.fa-themeisle:before{content:"\f2b2"}.fa-google-plus-circle:before,.fa-google-plus-official:before{content:"\f2b3"}.fa-fa:before,.fa-font-awesome:before{content:"\f2b4"}.fa-handshake-o:before{content:"\f2b5"}.fa-envelope-open:before{content:"\f2b6"}.fa-envelope-open-o:before{content:"\f2b7"}.fa-linode:before{content:"\f2b8"}.fa-address-book:before{content:"\f2b9"}.fa-address-book-o:before{content:"\f2ba"}.fa-vcard:before,.fa-address-card:before{content:"\f2bb"}.fa-vcard-o:before,.fa-address-card-o:before{content:"\f2bc"}.fa-user-circle:before{content:"\f2bd"}.fa-user-circle-o:before{content:"\f2be"}.fa-user-o:before{content:"\f2c0"}.fa-id-badge:before{content:"\f2c1"}.fa-drivers-license:before,.fa-id-card:before{content:"\f2c2"}.fa-drivers-license-o:before,.fa-id-card-o:before{content:"\f2c3"}.fa-quora:before{content:"\f2c4"}.fa-free-code-camp:before{content:"\f2c5"}.fa-telegram:before{content:"\f2c6"}.fa-thermometer-4:before,.fa-thermometer:before,.fa-thermometer-full:before{content:"\f2c7"}.fa-thermometer-3:before,.fa-thermometer-three-quarters:before{content:"\f2c8"}.fa-thermometer-2:before,.fa-thermometer-half:before{content:"\f2c9"}.fa-thermometer-1:before,.fa-thermometer-quarter:before{content:"\f2ca"}.fa-thermometer-0:before,.fa-thermometer-empty:before{content:"\f2cb"}.fa-shower:before{content:"\f2cc"}.fa-bathtub:before,.fa-s15:before,.fa-bath:before{content:"\f2cd"}.fa-podcast:before{content:"\f2ce"}.fa-window-maximize:before{content:"\f2d0"}.fa-window-minimize:before{content:"\f2d1"}.fa-window-restore:before{content:"\f2d2"}.fa-times-rectangle:before,.fa-window-close:before{content:"\f2d3"}.fa-times-rectangle-o:before,.fa-window-close-o:before{content:"\f2d4"}.fa-bandcamp:before{content:"\f2d5"}.fa-grav:before{content:"\f2d6"}.fa-etsy:before{content:"\f2d7"}.fa-imdb:before{content:"\f2d8"}.fa-ravelry:before{content:"\f2d9"}.fa-eercast:before{content:"\f2da"}.fa-microchip:before{content:"\f2db"}.fa-snowflake-o:before{content:"\f2dc"}.fa-superpowers:before{content:"\f2dd"}.fa-wpexplorer:before{content:"\f2de"}.fa-meetup:before{content:"\f2e0"}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto} +/*! + * Font Awesome 4.7.0 by @davegandy - http://fontawesome.io - @fontawesome + * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) + */@font-face{font-family:'FontAwesome';src:url('../fonts/fontawesome-webfont.eot?v=4.7.0');src:url('../fonts/fontawesome-webfont.eot?#iefix&v=4.7.0') format('embedded-opentype'),url('../fonts/fontawesome-webfont.woff2?v=4.7.0') format('woff2'),url('../fonts/fontawesome-webfont.woff?v=4.7.0') format('woff'),url('../fonts/fontawesome-webfont.ttf?v=4.7.0') format('truetype'),url('../fonts/fontawesome-webfont.svg?v=4.7.0#fontawesomeregular') format('svg');font-weight:normal;font-style:normal}.fa{display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fa-lg{font-size:1.33333333em;line-height:.75em;vertical-align:-15%}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-fw{width:1.28571429em;text-align:center}.fa-ul{padding-left:0;margin-left:2.14285714em;list-style-type:none}.fa-ul>li{position:relative}.fa-li{position:absolute;left:-2.14285714em;width:2.14285714em;top:.14285714em;text-align:center}.fa-li.fa-lg{left:-1.85714286em}.fa-border{padding:.2em .25em .15em;border:solid .08em #eee;border-radius:.1em}.fa-pull-left{float:left}.fa-pull-right{float:right}.fa.fa-pull-left{margin-right:.3em}.fa.fa-pull-right{margin-left:.3em}.pull-right{float:right}.pull-left{float:left}.fa.pull-left{margin-right:.3em}.fa.pull-right{margin-left:.3em}.fa-spin{-webkit-animation:fa-spin 2s infinite linear;animation:fa-spin 2s infinite linear}.fa-pulse{-webkit-animation:fa-spin 1s infinite steps(8);animation:fa-spin 1s infinite steps(8)}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}.fa-rotate-90{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";-webkit-transform:rotate(270deg);-ms-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";-webkit-transform:scale(-1, 1);-ms-transform:scale(-1, 1);transform:scale(-1, 1)}.fa-flip-vertical{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";-webkit-transform:scale(1, -1);-ms-transform:scale(1, -1);transform:scale(1, -1)}:root .fa-rotate-90,:root .fa-rotate-180,:root .fa-rotate-270,:root .fa-flip-horizontal,:root .fa-flip-vertical{filter:none}.fa-stack{position:relative;display:inline-block;width:2em;height:2em;line-height:2em;vertical-align:middle}.fa-stack-1x,.fa-stack-2x{position:absolute;left:0;width:100%;text-align:center}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-glass:before{content:"\f000"}.fa-music:before{content:"\f001"}.fa-search:before{content:"\f002"}.fa-envelope-o:before{content:"\f003"}.fa-heart:before{content:"\f004"}.fa-star:before{content:"\f005"}.fa-star-o:before{content:"\f006"}.fa-user:before{content:"\f007"}.fa-film:before{content:"\f008"}.fa-th-large:before{content:"\f009"}.fa-th:before{content:"\f00a"}.fa-th-list:before{content:"\f00b"}.fa-check:before{content:"\f00c"}.fa-remove:before,.fa-close:before,.fa-times:before{content:"\f00d"}.fa-search-plus:before{content:"\f00e"}.fa-search-minus:before{content:"\f010"}.fa-power-off:before{content:"\f011"}.fa-signal:before{content:"\f012"}.fa-gear:before,.fa-cog:before{content:"\f013"}.fa-trash-o:before{content:"\f014"}.fa-home:before{content:"\f015"}.fa-file-o:before{content:"\f016"}.fa-clock-o:before{content:"\f017"}.fa-road:before{content:"\f018"}.fa-download:before{content:"\f019"}.fa-arrow-circle-o-down:before{content:"\f01a"}.fa-arrow-circle-o-up:before{content:"\f01b"}.fa-inbox:before{content:"\f01c"}.fa-play-circle-o:before{content:"\f01d"}.fa-rotate-right:before,.fa-repeat:before{content:"\f01e"}.fa-refresh:before{content:"\f021"}.fa-list-alt:before{content:"\f022"}.fa-lock:before{content:"\f023"}.fa-flag:before{content:"\f024"}.fa-headphones:before{content:"\f025"}.fa-volume-off:before{content:"\f026"}.fa-volume-down:before{content:"\f027"}.fa-volume-up:before{content:"\f028"}.fa-qrcode:before{content:"\f029"}.fa-barcode:before{content:"\f02a"}.fa-tag:before{content:"\f02b"}.fa-tags:before{content:"\f02c"}.fa-book:before{content:"\f02d"}.fa-bookmark:before{content:"\f02e"}.fa-print:before{content:"\f02f"}.fa-camera:before{content:"\f030"}.fa-font:before{content:"\f031"}.fa-bold:before{content:"\f032"}.fa-italic:before{content:"\f033"}.fa-text-height:before{content:"\f034"}.fa-text-width:before{content:"\f035"}.fa-align-left:before{content:"\f036"}.fa-align-center:before{content:"\f037"}.fa-align-right:before{content:"\f038"}.fa-align-justify:before{content:"\f039"}.fa-list:before{content:"\f03a"}.fa-dedent:before,.fa-outdent:before{content:"\f03b"}.fa-indent:before{content:"\f03c"}.fa-video-camera:before{content:"\f03d"}.fa-photo:before,.fa-image:before,.fa-picture-o:before{content:"\f03e"}.fa-pencil:before{content:"\f040"}.fa-map-marker:before{content:"\f041"}.fa-adjust:before{content:"\f042"}.fa-tint:before{content:"\f043"}.fa-edit:before,.fa-pencil-square-o:before{content:"\f044"}.fa-share-square-o:before{content:"\f045"}.fa-check-square-o:before{content:"\f046"}.fa-arrows:before{content:"\f047"}.fa-step-backward:before{content:"\f048"}.fa-fast-backward:before{content:"\f049"}.fa-backward:before{content:"\f04a"}.fa-play:before{content:"\f04b"}.fa-pause:before{content:"\f04c"}.fa-stop:before{content:"\f04d"}.fa-forward:before{content:"\f04e"}.fa-fast-forward:before{content:"\f050"}.fa-step-forward:before{content:"\f051"}.fa-eject:before{content:"\f052"}.fa-chevron-left:before{content:"\f053"}.fa-chevron-right:before{content:"\f054"}.fa-plus-circle:before{content:"\f055"}.fa-minus-circle:before{content:"\f056"}.fa-times-circle:before{content:"\f057"}.fa-check-circle:before{content:"\f058"}.fa-question-circle:before{content:"\f059"}.fa-info-circle:before{content:"\f05a"}.fa-crosshairs:before{content:"\f05b"}.fa-times-circle-o:before{content:"\f05c"}.fa-check-circle-o:before{content:"\f05d"}.fa-ban:before{content:"\f05e"}.fa-arrow-left:before{content:"\f060"}.fa-arrow-right:before{content:"\f061"}.fa-arrow-up:before{content:"\f062"}.fa-arrow-down:before{content:"\f063"}.fa-mail-forward:before,.fa-share:before{content:"\f064"}.fa-expand:before{content:"\f065"}.fa-compress:before{content:"\f066"}.fa-plus:before{content:"\f067"}.fa-minus:before{content:"\f068"}.fa-asterisk:before{content:"\f069"}.fa-exclamation-circle:before{content:"\f06a"}.fa-gift:before{content:"\f06b"}.fa-leaf:before{content:"\f06c"}.fa-fire:before{content:"\f06d"}.fa-eye:before{content:"\f06e"}.fa-eye-slash:before{content:"\f070"}.fa-warning:before,.fa-exclamation-triangle:before{content:"\f071"}.fa-plane:before{content:"\f072"}.fa-calendar:before{content:"\f073"}.fa-random:before{content:"\f074"}.fa-comment:before{content:"\f075"}.fa-magnet:before{content:"\f076"}.fa-chevron-up:before{content:"\f077"}.fa-chevron-down:before{content:"\f078"}.fa-retweet:before{content:"\f079"}.fa-shopping-cart:before{content:"\f07a"}.fa-folder:before{content:"\f07b"}.fa-folder-open:before{content:"\f07c"}.fa-arrows-v:before{content:"\f07d"}.fa-arrows-h:before{content:"\f07e"}.fa-bar-chart-o:before,.fa-bar-chart:before{content:"\f080"}.fa-twitter-square:before{content:"\f081"}.fa-facebook-square:before{content:"\f082"}.fa-camera-retro:before{content:"\f083"}.fa-key:before{content:"\f084"}.fa-gears:before,.fa-cogs:before{content:"\f085"}.fa-comments:before{content:"\f086"}.fa-thumbs-o-up:before{content:"\f087"}.fa-thumbs-o-down:before{content:"\f088"}.fa-star-half:before{content:"\f089"}.fa-heart-o:before{content:"\f08a"}.fa-sign-out:before{content:"\f08b"}.fa-linkedin-square:before{content:"\f08c"}.fa-thumb-tack:before{content:"\f08d"}.fa-external-link:before{content:"\f08e"}.fa-sign-in:before{content:"\f090"}.fa-trophy:before{content:"\f091"}.fa-github-square:before{content:"\f092"}.fa-upload:before{content:"\f093"}.fa-lemon-o:before{content:"\f094"}.fa-phone:before{content:"\f095"}.fa-square-o:before{content:"\f096"}.fa-bookmark-o:before{content:"\f097"}.fa-phone-square:before{content:"\f098"}.fa-twitter:before{content:"\f099"}.fa-facebook-f:before,.fa-facebook:before{content:"\f09a"}.fa-github:before{content:"\f09b"}.fa-unlock:before{content:"\f09c"}.fa-credit-card:before{content:"\f09d"}.fa-feed:before,.fa-rss:before{content:"\f09e"}.fa-hdd-o:before{content:"\f0a0"}.fa-bullhorn:before{content:"\f0a1"}.fa-bell:before{content:"\f0f3"}.fa-certificate:before{content:"\f0a3"}.fa-hand-o-right:before{content:"\f0a4"}.fa-hand-o-left:before{content:"\f0a5"}.fa-hand-o-up:before{content:"\f0a6"}.fa-hand-o-down:before{content:"\f0a7"}.fa-arrow-circle-left:before{content:"\f0a8"}.fa-arrow-circle-right:before{content:"\f0a9"}.fa-arrow-circle-up:before{content:"\f0aa"}.fa-arrow-circle-down:before{content:"\f0ab"}.fa-globe:before{content:"\f0ac"}.fa-wrench:before{content:"\f0ad"}.fa-tasks:before{content:"\f0ae"}.fa-filter:before{content:"\f0b0"}.fa-briefcase:before{content:"\f0b1"}.fa-arrows-alt:before{content:"\f0b2"}.fa-group:before,.fa-users:before{content:"\f0c0"}.fa-chain:before,.fa-link:before{content:"\f0c1"}.fa-cloud:before{content:"\f0c2"}.fa-flask:before{content:"\f0c3"}.fa-cut:before,.fa-scissors:before{content:"\f0c4"}.fa-copy:before,.fa-files-o:before{content:"\f0c5"}.fa-paperclip:before{content:"\f0c6"}.fa-save:before,.fa-floppy-o:before{content:"\f0c7"}.fa-square:before{content:"\f0c8"}.fa-navicon:before,.fa-reorder:before,.fa-bars:before{content:"\f0c9"}.fa-list-ul:before{content:"\f0ca"}.fa-list-ol:before{content:"\f0cb"}.fa-strikethrough:before{content:"\f0cc"}.fa-underline:before{content:"\f0cd"}.fa-table:before{content:"\f0ce"}.fa-magic:before{content:"\f0d0"}.fa-truck:before{content:"\f0d1"}.fa-pinterest:before{content:"\f0d2"}.fa-pinterest-square:before{content:"\f0d3"}.fa-google-plus-square:before{content:"\f0d4"}.fa-google-plus:before{content:"\f0d5"}.fa-money:before{content:"\f0d6"}.fa-caret-down:before{content:"\f0d7"}.fa-caret-up:before{content:"\f0d8"}.fa-caret-left:before{content:"\f0d9"}.fa-caret-right:before{content:"\f0da"}.fa-columns:before{content:"\f0db"}.fa-unsorted:before,.fa-sort:before{content:"\f0dc"}.fa-sort-down:before,.fa-sort-desc:before{content:"\f0dd"}.fa-sort-up:before,.fa-sort-asc:before{content:"\f0de"}.fa-envelope:before{content:"\f0e0"}.fa-linkedin:before{content:"\f0e1"}.fa-rotate-left:before,.fa-undo:before{content:"\f0e2"}.fa-legal:before,.fa-gavel:before{content:"\f0e3"}.fa-dashboard:before,.fa-tachometer:before{content:"\f0e4"}.fa-comment-o:before{content:"\f0e5"}.fa-comments-o:before{content:"\f0e6"}.fa-flash:before,.fa-bolt:before{content:"\f0e7"}.fa-sitemap:before{content:"\f0e8"}.fa-umbrella:before{content:"\f0e9"}.fa-paste:before,.fa-clipboard:before{content:"\f0ea"}.fa-lightbulb-o:before{content:"\f0eb"}.fa-exchange:before{content:"\f0ec"}.fa-cloud-download:before{content:"\f0ed"}.fa-cloud-upload:before{content:"\f0ee"}.fa-user-md:before{content:"\f0f0"}.fa-stethoscope:before{content:"\f0f1"}.fa-suitcase:before{content:"\f0f2"}.fa-bell-o:before{content:"\f0a2"}.fa-coffee:before{content:"\f0f4"}.fa-cutlery:before{content:"\f0f5"}.fa-file-text-o:before{content:"\f0f6"}.fa-building-o:before{content:"\f0f7"}.fa-hospital-o:before{content:"\f0f8"}.fa-ambulance:before{content:"\f0f9"}.fa-medkit:before{content:"\f0fa"}.fa-fighter-jet:before{content:"\f0fb"}.fa-beer:before{content:"\f0fc"}.fa-h-square:before{content:"\f0fd"}.fa-plus-square:before{content:"\f0fe"}.fa-angle-double-left:before{content:"\f100"}.fa-angle-double-right:before{content:"\f101"}.fa-angle-double-up:before{content:"\f102"}.fa-angle-double-down:before{content:"\f103"}.fa-angle-left:before{content:"\f104"}.fa-angle-right:before{content:"\f105"}.fa-angle-up:before{content:"\f106"}.fa-angle-down:before{content:"\f107"}.fa-desktop:before{content:"\f108"}.fa-laptop:before{content:"\f109"}.fa-tablet:before{content:"\f10a"}.fa-mobile-phone:before,.fa-mobile:before{content:"\f10b"}.fa-circle-o:before{content:"\f10c"}.fa-quote-left:before{content:"\f10d"}.fa-quote-right:before{content:"\f10e"}.fa-spinner:before{content:"\f110"}.fa-circle:before{content:"\f111"}.fa-mail-reply:before,.fa-reply:before{content:"\f112"}.fa-github-alt:before{content:"\f113"}.fa-folder-o:before{content:"\f114"}.fa-folder-open-o:before{content:"\f115"}.fa-smile-o:before{content:"\f118"}.fa-frown-o:before{content:"\f119"}.fa-meh-o:before{content:"\f11a"}.fa-gamepad:before{content:"\f11b"}.fa-keyboard-o:before{content:"\f11c"}.fa-flag-o:before{content:"\f11d"}.fa-flag-checkered:before{content:"\f11e"}.fa-terminal:before{content:"\f120"}.fa-code:before{content:"\f121"}.fa-mail-reply-all:before,.fa-reply-all:before{content:"\f122"}.fa-star-half-empty:before,.fa-star-half-full:before,.fa-star-half-o:before{content:"\f123"}.fa-location-arrow:before{content:"\f124"}.fa-crop:before{content:"\f125"}.fa-code-fork:before{content:"\f126"}.fa-unlink:before,.fa-chain-broken:before{content:"\f127"}.fa-question:before{content:"\f128"}.fa-info:before{content:"\f129"}.fa-exclamation:before{content:"\f12a"}.fa-superscript:before{content:"\f12b"}.fa-subscript:before{content:"\f12c"}.fa-eraser:before{content:"\f12d"}.fa-puzzle-piece:before{content:"\f12e"}.fa-microphone:before{content:"\f130"}.fa-microphone-slash:before{content:"\f131"}.fa-shield:before{content:"\f132"}.fa-calendar-o:before{content:"\f133"}.fa-fire-extinguisher:before{content:"\f134"}.fa-rocket:before{content:"\f135"}.fa-maxcdn:before{content:"\f136"}.fa-chevron-circle-left:before{content:"\f137"}.fa-chevron-circle-right:before{content:"\f138"}.fa-chevron-circle-up:before{content:"\f139"}.fa-chevron-circle-down:before{content:"\f13a"}.fa-html5:before{content:"\f13b"}.fa-css3:before{content:"\f13c"}.fa-anchor:before{content:"\f13d"}.fa-unlock-alt:before{content:"\f13e"}.fa-bullseye:before{content:"\f140"}.fa-ellipsis-h:before{content:"\f141"}.fa-ellipsis-v:before{content:"\f142"}.fa-rss-square:before{content:"\f143"}.fa-play-circle:before{content:"\f144"}.fa-ticket:before{content:"\f145"}.fa-minus-square:before{content:"\f146"}.fa-minus-square-o:before{content:"\f147"}.fa-level-up:before{content:"\f148"}.fa-level-down:before{content:"\f149"}.fa-check-square:before{content:"\f14a"}.fa-pencil-square:before{content:"\f14b"}.fa-external-link-square:before{content:"\f14c"}.fa-share-square:before{content:"\f14d"}.fa-compass:before{content:"\f14e"}.fa-toggle-down:before,.fa-caret-square-o-down:before{content:"\f150"}.fa-toggle-up:before,.fa-caret-square-o-up:before{content:"\f151"}.fa-toggle-right:before,.fa-caret-square-o-right:before{content:"\f152"}.fa-euro:before,.fa-eur:before{content:"\f153"}.fa-gbp:before{content:"\f154"}.fa-dollar:before,.fa-usd:before{content:"\f155"}.fa-rupee:before,.fa-inr:before{content:"\f156"}.fa-cny:before,.fa-rmb:before,.fa-yen:before,.fa-jpy:before{content:"\f157"}.fa-ruble:before,.fa-rouble:before,.fa-rub:before{content:"\f158"}.fa-won:before,.fa-krw:before{content:"\f159"}.fa-bitcoin:before,.fa-btc:before{content:"\f15a"}.fa-file:before{content:"\f15b"}.fa-file-text:before{content:"\f15c"}.fa-sort-alpha-asc:before{content:"\f15d"}.fa-sort-alpha-desc:before{content:"\f15e"}.fa-sort-amount-asc:before{content:"\f160"}.fa-sort-amount-desc:before{content:"\f161"}.fa-sort-numeric-asc:before{content:"\f162"}.fa-sort-numeric-desc:before{content:"\f163"}.fa-thumbs-up:before{content:"\f164"}.fa-thumbs-down:before{content:"\f165"}.fa-youtube-square:before{content:"\f166"}.fa-youtube:before{content:"\f167"}.fa-xing:before{content:"\f168"}.fa-xing-square:before{content:"\f169"}.fa-youtube-play:before{content:"\f16a"}.fa-dropbox:before{content:"\f16b"}.fa-stack-overflow:before{content:"\f16c"}.fa-instagram:before{content:"\f16d"}.fa-flickr:before{content:"\f16e"}.fa-adn:before{content:"\f170"}.fa-bitbucket:before{content:"\f171"}.fa-bitbucket-square:before{content:"\f172"}.fa-tumblr:before{content:"\f173"}.fa-tumblr-square:before{content:"\f174"}.fa-long-arrow-down:before{content:"\f175"}.fa-long-arrow-up:before{content:"\f176"}.fa-long-arrow-left:before{content:"\f177"}.fa-long-arrow-right:before{content:"\f178"}.fa-apple:before{content:"\f179"}.fa-windows:before{content:"\f17a"}.fa-android:before{content:"\f17b"}.fa-linux:before{content:"\f17c"}.fa-dribbble:before{content:"\f17d"}.fa-skype:before{content:"\f17e"}.fa-foursquare:before{content:"\f180"}.fa-trello:before{content:"\f181"}.fa-female:before{content:"\f182"}.fa-male:before{content:"\f183"}.fa-gittip:before,.fa-gratipay:before{content:"\f184"}.fa-sun-o:before{content:"\f185"}.fa-moon-o:before{content:"\f186"}.fa-archive:before{content:"\f187"}.fa-bug:before{content:"\f188"}.fa-vk:before{content:"\f189"}.fa-weibo:before{content:"\f18a"}.fa-renren:before{content:"\f18b"}.fa-pagelines:before{content:"\f18c"}.fa-stack-exchange:before{content:"\f18d"}.fa-arrow-circle-o-right:before{content:"\f18e"}.fa-arrow-circle-o-left:before{content:"\f190"}.fa-toggle-left:before,.fa-caret-square-o-left:before{content:"\f191"}.fa-dot-circle-o:before{content:"\f192"}.fa-wheelchair:before{content:"\f193"}.fa-vimeo-square:before{content:"\f194"}.fa-turkish-lira:before,.fa-try:before{content:"\f195"}.fa-plus-square-o:before{content:"\f196"}.fa-space-shuttle:before{content:"\f197"}.fa-slack:before{content:"\f198"}.fa-envelope-square:before{content:"\f199"}.fa-wordpress:before{content:"\f19a"}.fa-openid:before{content:"\f19b"}.fa-institution:before,.fa-bank:before,.fa-university:before{content:"\f19c"}.fa-mortar-board:before,.fa-graduation-cap:before{content:"\f19d"}.fa-yahoo:before{content:"\f19e"}.fa-google:before{content:"\f1a0"}.fa-reddit:before{content:"\f1a1"}.fa-reddit-square:before{content:"\f1a2"}.fa-stumbleupon-circle:before{content:"\f1a3"}.fa-stumbleupon:before{content:"\f1a4"}.fa-delicious:before{content:"\f1a5"}.fa-digg:before{content:"\f1a6"}.fa-pied-piper-pp:before{content:"\f1a7"}.fa-pied-piper-alt:before{content:"\f1a8"}.fa-drupal:before{content:"\f1a9"}.fa-joomla:before{content:"\f1aa"}.fa-language:before{content:"\f1ab"}.fa-fax:before{content:"\f1ac"}.fa-building:before{content:"\f1ad"}.fa-child:before{content:"\f1ae"}.fa-paw:before{content:"\f1b0"}.fa-spoon:before{content:"\f1b1"}.fa-cube:before{content:"\f1b2"}.fa-cubes:before{content:"\f1b3"}.fa-behance:before{content:"\f1b4"}.fa-behance-square:before{content:"\f1b5"}.fa-steam:before{content:"\f1b6"}.fa-steam-square:before{content:"\f1b7"}.fa-recycle:before{content:"\f1b8"}.fa-automobile:before,.fa-car:before{content:"\f1b9"}.fa-cab:before,.fa-taxi:before{content:"\f1ba"}.fa-tree:before{content:"\f1bb"}.fa-spotify:before{content:"\f1bc"}.fa-deviantart:before{content:"\f1bd"}.fa-soundcloud:before{content:"\f1be"}.fa-database:before{content:"\f1c0"}.fa-file-pdf-o:before{content:"\f1c1"}.fa-file-word-o:before{content:"\f1c2"}.fa-file-excel-o:before{content:"\f1c3"}.fa-file-powerpoint-o:before{content:"\f1c4"}.fa-file-photo-o:before,.fa-file-picture-o:before,.fa-file-image-o:before{content:"\f1c5"}.fa-file-zip-o:before,.fa-file-archive-o:before{content:"\f1c6"}.fa-file-sound-o:before,.fa-file-audio-o:before{content:"\f1c7"}.fa-file-movie-o:before,.fa-file-video-o:before{content:"\f1c8"}.fa-file-code-o:before{content:"\f1c9"}.fa-vine:before{content:"\f1ca"}.fa-codepen:before{content:"\f1cb"}.fa-jsfiddle:before{content:"\f1cc"}.fa-life-bouy:before,.fa-life-buoy:before,.fa-life-saver:before,.fa-support:before,.fa-life-ring:before{content:"\f1cd"}.fa-circle-o-notch:before{content:"\f1ce"}.fa-ra:before,.fa-resistance:before,.fa-rebel:before{content:"\f1d0"}.fa-ge:before,.fa-empire:before{content:"\f1d1"}.fa-git-square:before{content:"\f1d2"}.fa-git:before{content:"\f1d3"}.fa-y-combinator-square:before,.fa-yc-square:before,.fa-hacker-news:before{content:"\f1d4"}.fa-tencent-weibo:before{content:"\f1d5"}.fa-qq:before{content:"\f1d6"}.fa-wechat:before,.fa-weixin:before{content:"\f1d7"}.fa-send:before,.fa-paper-plane:before{content:"\f1d8"}.fa-send-o:before,.fa-paper-plane-o:before{content:"\f1d9"}.fa-history:before{content:"\f1da"}.fa-circle-thin:before{content:"\f1db"}.fa-header:before{content:"\f1dc"}.fa-paragraph:before{content:"\f1dd"}.fa-sliders:before{content:"\f1de"}.fa-share-alt:before{content:"\f1e0"}.fa-share-alt-square:before{content:"\f1e1"}.fa-bomb:before{content:"\f1e2"}.fa-soccer-ball-o:before,.fa-futbol-o:before{content:"\f1e3"}.fa-tty:before{content:"\f1e4"}.fa-binoculars:before{content:"\f1e5"}.fa-plug:before{content:"\f1e6"}.fa-slideshare:before{content:"\f1e7"}.fa-twitch:before{content:"\f1e8"}.fa-yelp:before{content:"\f1e9"}.fa-newspaper-o:before{content:"\f1ea"}.fa-wifi:before{content:"\f1eb"}.fa-calculator:before{content:"\f1ec"}.fa-paypal:before{content:"\f1ed"}.fa-google-wallet:before{content:"\f1ee"}.fa-cc-visa:before{content:"\f1f0"}.fa-cc-mastercard:before{content:"\f1f1"}.fa-cc-discover:before{content:"\f1f2"}.fa-cc-amex:before{content:"\f1f3"}.fa-cc-paypal:before{content:"\f1f4"}.fa-cc-stripe:before{content:"\f1f5"}.fa-bell-slash:before{content:"\f1f6"}.fa-bell-slash-o:before{content:"\f1f7"}.fa-trash:before{content:"\f1f8"}.fa-copyright:before{content:"\f1f9"}.fa-at:before{content:"\f1fa"}.fa-eyedropper:before{content:"\f1fb"}.fa-paint-brush:before{content:"\f1fc"}.fa-birthday-cake:before{content:"\f1fd"}.fa-area-chart:before{content:"\f1fe"}.fa-pie-chart:before{content:"\f200"}.fa-line-chart:before{content:"\f201"}.fa-lastfm:before{content:"\f202"}.fa-lastfm-square:before{content:"\f203"}.fa-toggle-off:before{content:"\f204"}.fa-toggle-on:before{content:"\f205"}.fa-bicycle:before{content:"\f206"}.fa-bus:before{content:"\f207"}.fa-ioxhost:before{content:"\f208"}.fa-angellist:before{content:"\f209"}.fa-cc:before{content:"\f20a"}.fa-shekel:before,.fa-sheqel:before,.fa-ils:before{content:"\f20b"}.fa-meanpath:before{content:"\f20c"}.fa-buysellads:before{content:"\f20d"}.fa-connectdevelop:before{content:"\f20e"}.fa-dashcube:before{content:"\f210"}.fa-forumbee:before{content:"\f211"}.fa-leanpub:before{content:"\f212"}.fa-sellsy:before{content:"\f213"}.fa-shirtsinbulk:before{content:"\f214"}.fa-simplybuilt:before{content:"\f215"}.fa-skyatlas:before{content:"\f216"}.fa-cart-plus:before{content:"\f217"}.fa-cart-arrow-down:before{content:"\f218"}.fa-diamond:before{content:"\f219"}.fa-ship:before{content:"\f21a"}.fa-user-secret:before{content:"\f21b"}.fa-motorcycle:before{content:"\f21c"}.fa-street-view:before{content:"\f21d"}.fa-heartbeat:before{content:"\f21e"}.fa-venus:before{content:"\f221"}.fa-mars:before{content:"\f222"}.fa-mercury:before{content:"\f223"}.fa-intersex:before,.fa-transgender:before{content:"\f224"}.fa-transgender-alt:before{content:"\f225"}.fa-venus-double:before{content:"\f226"}.fa-mars-double:before{content:"\f227"}.fa-venus-mars:before{content:"\f228"}.fa-mars-stroke:before{content:"\f229"}.fa-mars-stroke-v:before{content:"\f22a"}.fa-mars-stroke-h:before{content:"\f22b"}.fa-neuter:before{content:"\f22c"}.fa-genderless:before{content:"\f22d"}.fa-facebook-official:before{content:"\f230"}.fa-pinterest-p:before{content:"\f231"}.fa-whatsapp:before{content:"\f232"}.fa-server:before{content:"\f233"}.fa-user-plus:before{content:"\f234"}.fa-user-times:before{content:"\f235"}.fa-hotel:before,.fa-bed:before{content:"\f236"}.fa-viacoin:before{content:"\f237"}.fa-train:before{content:"\f238"}.fa-subway:before{content:"\f239"}.fa-medium:before{content:"\f23a"}.fa-yc:before,.fa-y-combinator:before{content:"\f23b"}.fa-optin-monster:before{content:"\f23c"}.fa-opencart:before{content:"\f23d"}.fa-expeditedssl:before{content:"\f23e"}.fa-battery-4:before,.fa-battery:before,.fa-battery-full:before{content:"\f240"}.fa-battery-3:before,.fa-battery-three-quarters:before{content:"\f241"}.fa-battery-2:before,.fa-battery-half:before{content:"\f242"}.fa-battery-1:before,.fa-battery-quarter:before{content:"\f243"}.fa-battery-0:before,.fa-battery-empty:before{content:"\f244"}.fa-mouse-pointer:before{content:"\f245"}.fa-i-cursor:before{content:"\f246"}.fa-object-group:before{content:"\f247"}.fa-object-ungroup:before{content:"\f248"}.fa-sticky-note:before{content:"\f249"}.fa-sticky-note-o:before{content:"\f24a"}.fa-cc-jcb:before{content:"\f24b"}.fa-cc-diners-club:before{content:"\f24c"}.fa-clone:before{content:"\f24d"}.fa-balance-scale:before{content:"\f24e"}.fa-hourglass-o:before{content:"\f250"}.fa-hourglass-1:before,.fa-hourglass-start:before{content:"\f251"}.fa-hourglass-2:before,.fa-hourglass-half:before{content:"\f252"}.fa-hourglass-3:before,.fa-hourglass-end:before{content:"\f253"}.fa-hourglass:before{content:"\f254"}.fa-hand-grab-o:before,.fa-hand-rock-o:before{content:"\f255"}.fa-hand-stop-o:before,.fa-hand-paper-o:before{content:"\f256"}.fa-hand-scissors-o:before{content:"\f257"}.fa-hand-lizard-o:before{content:"\f258"}.fa-hand-spock-o:before{content:"\f259"}.fa-hand-pointer-o:before{content:"\f25a"}.fa-hand-peace-o:before{content:"\f25b"}.fa-trademark:before{content:"\f25c"}.fa-registered:before{content:"\f25d"}.fa-creative-commons:before{content:"\f25e"}.fa-gg:before{content:"\f260"}.fa-gg-circle:before{content:"\f261"}.fa-tripadvisor:before{content:"\f262"}.fa-odnoklassniki:before{content:"\f263"}.fa-odnoklassniki-square:before{content:"\f264"}.fa-get-pocket:before{content:"\f265"}.fa-wikipedia-w:before{content:"\f266"}.fa-safari:before{content:"\f267"}.fa-chrome:before{content:"\f268"}.fa-firefox:before{content:"\f269"}.fa-opera:before{content:"\f26a"}.fa-internet-explorer:before{content:"\f26b"}.fa-tv:before,.fa-television:before{content:"\f26c"}.fa-contao:before{content:"\f26d"}.fa-500px:before{content:"\f26e"}.fa-amazon:before{content:"\f270"}.fa-calendar-plus-o:before{content:"\f271"}.fa-calendar-minus-o:before{content:"\f272"}.fa-calendar-times-o:before{content:"\f273"}.fa-calendar-check-o:before{content:"\f274"}.fa-industry:before{content:"\f275"}.fa-map-pin:before{content:"\f276"}.fa-map-signs:before{content:"\f277"}.fa-map-o:before{content:"\f278"}.fa-map:before{content:"\f279"}.fa-commenting:before{content:"\f27a"}.fa-commenting-o:before{content:"\f27b"}.fa-houzz:before{content:"\f27c"}.fa-vimeo:before{content:"\f27d"}.fa-black-tie:before{content:"\f27e"}.fa-fonticons:before{content:"\f280"}.fa-reddit-alien:before{content:"\f281"}.fa-edge:before{content:"\f282"}.fa-credit-card-alt:before{content:"\f283"}.fa-codiepie:before{content:"\f284"}.fa-modx:before{content:"\f285"}.fa-fort-awesome:before{content:"\f286"}.fa-usb:before{content:"\f287"}.fa-product-hunt:before{content:"\f288"}.fa-mixcloud:before{content:"\f289"}.fa-scribd:before{content:"\f28a"}.fa-pause-circle:before{content:"\f28b"}.fa-pause-circle-o:before{content:"\f28c"}.fa-stop-circle:before{content:"\f28d"}.fa-stop-circle-o:before{content:"\f28e"}.fa-shopping-bag:before{content:"\f290"}.fa-shopping-basket:before{content:"\f291"}.fa-hashtag:before{content:"\f292"}.fa-bluetooth:before{content:"\f293"}.fa-bluetooth-b:before{content:"\f294"}.fa-percent:before{content:"\f295"}.fa-gitlab:before{content:"\f296"}.fa-wpbeginner:before{content:"\f297"}.fa-wpforms:before{content:"\f298"}.fa-envira:before{content:"\f299"}.fa-universal-access:before{content:"\f29a"}.fa-wheelchair-alt:before{content:"\f29b"}.fa-question-circle-o:before{content:"\f29c"}.fa-blind:before{content:"\f29d"}.fa-audio-description:before{content:"\f29e"}.fa-volume-control-phone:before{content:"\f2a0"}.fa-braille:before{content:"\f2a1"}.fa-assistive-listening-systems:before{content:"\f2a2"}.fa-asl-interpreting:before,.fa-american-sign-language-interpreting:before{content:"\f2a3"}.fa-deafness:before,.fa-hard-of-hearing:before,.fa-deaf:before{content:"\f2a4"}.fa-glide:before{content:"\f2a5"}.fa-glide-g:before{content:"\f2a6"}.fa-signing:before,.fa-sign-language:before{content:"\f2a7"}.fa-low-vision:before{content:"\f2a8"}.fa-viadeo:before{content:"\f2a9"}.fa-viadeo-square:before{content:"\f2aa"}.fa-snapchat:before{content:"\f2ab"}.fa-snapchat-ghost:before{content:"\f2ac"}.fa-snapchat-square:before{content:"\f2ad"}.fa-pied-piper:before{content:"\f2ae"}.fa-first-order:before{content:"\f2b0"}.fa-yoast:before{content:"\f2b1"}.fa-themeisle:before{content:"\f2b2"}.fa-google-plus-circle:before,.fa-google-plus-official:before{content:"\f2b3"}.fa-fa:before,.fa-font-awesome:before{content:"\f2b4"}.fa-handshake-o:before{content:"\f2b5"}.fa-envelope-open:before{content:"\f2b6"}.fa-envelope-open-o:before{content:"\f2b7"}.fa-linode:before{content:"\f2b8"}.fa-address-book:before{content:"\f2b9"}.fa-address-book-o:before{content:"\f2ba"}.fa-vcard:before,.fa-address-card:before{content:"\f2bb"}.fa-vcard-o:before,.fa-address-card-o:before{content:"\f2bc"}.fa-user-circle:before{content:"\f2bd"}.fa-user-circle-o:before{content:"\f2be"}.fa-user-o:before{content:"\f2c0"}.fa-id-badge:before{content:"\f2c1"}.fa-drivers-license:before,.fa-id-card:before{content:"\f2c2"}.fa-drivers-license-o:before,.fa-id-card-o:before{content:"\f2c3"}.fa-quora:before{content:"\f2c4"}.fa-free-code-camp:before{content:"\f2c5"}.fa-telegram:before{content:"\f2c6"}.fa-thermometer-4:before,.fa-thermometer:before,.fa-thermometer-full:before{content:"\f2c7"}.fa-thermometer-3:before,.fa-thermometer-three-quarters:before{content:"\f2c8"}.fa-thermometer-2:before,.fa-thermometer-half:before{content:"\f2c9"}.fa-thermometer-1:before,.fa-thermometer-quarter:before{content:"\f2ca"}.fa-thermometer-0:before,.fa-thermometer-empty:before{content:"\f2cb"}.fa-shower:before{content:"\f2cc"}.fa-bathtub:before,.fa-s15:before,.fa-bath:before{content:"\f2cd"}.fa-podcast:before{content:"\f2ce"}.fa-window-maximize:before{content:"\f2d0"}.fa-window-minimize:before{content:"\f2d1"}.fa-window-restore:before{content:"\f2d2"}.fa-times-rectangle:before,.fa-window-close:before{content:"\f2d3"}.fa-times-rectangle-o:before,.fa-window-close-o:before{content:"\f2d4"}.fa-bandcamp:before{content:"\f2d5"}.fa-grav:before{content:"\f2d6"}.fa-etsy:before{content:"\f2d7"}.fa-imdb:before{content:"\f2d8"}.fa-ravelry:before{content:"\f2d9"}.fa-eercast:before{content:"\f2da"}.fa-microchip:before{content:"\f2db"}.fa-snowflake-o:before{content:"\f2dc"}.fa-superpowers:before{content:"\f2dd"}.fa-wpexplorer:before{content:"\f2de"}.fa-meetup:before{content:"\f2e0"}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto} diff --git a/lab-structure/src/themes/green-icon/fonts/fonts/FontAwesome.otf b/assets/fonts/font-awesome-4.7.0/fonts/FontAwesome.otf old mode 100755 new mode 100644 similarity index 100% rename from lab-structure/src/themes/green-icon/fonts/fonts/FontAwesome.otf rename to assets/fonts/font-awesome-4.7.0/fonts/FontAwesome.otf diff --git a/lab-structure/src/themes/green-icon/fonts/fonts/fontawesome-webfont.eot b/assets/fonts/font-awesome-4.7.0/fonts/fontawesome-webfont.eot old mode 100755 new mode 100644 similarity index 100% rename from lab-structure/src/themes/green-icon/fonts/fonts/fontawesome-webfont.eot rename to assets/fonts/font-awesome-4.7.0/fonts/fontawesome-webfont.eot diff --git a/lab-structure/src/themes/green-icon/fonts/fonts/fontawesome-webfont.svg b/assets/fonts/font-awesome-4.7.0/fonts/fontawesome-webfont.svg old mode 100755 new mode 100644 similarity index 99% rename from lab-structure/src/themes/green-icon/fonts/fonts/fontawesome-webfont.svg rename to assets/fonts/font-awesome-4.7.0/fonts/fontawesome-webfont.svg index d7534c97..855c845e --- a/lab-structure/src/themes/green-icon/fonts/fonts/fontawesome-webfont.svg +++ b/assets/fonts/font-awesome-4.7.0/fonts/fontawesome-webfont.svg @@ -1,2671 +1,2671 @@ - - - - -Created by FontForge 20120731 at Mon Oct 24 17:37:40 2016 - By ,,, -Copyright Dave Gandy 2016. All rights reserved. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + +Created by FontForge 20120731 at Mon Oct 24 17:37:40 2016 + By ,,, +Copyright Dave Gandy 2016. All rights reserved. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/lab-structure/src/themes/green-icon/fonts/fonts/fontawesome-webfont.ttf b/assets/fonts/font-awesome-4.7.0/fonts/fontawesome-webfont.ttf old mode 100755 new mode 100644 similarity index 100% rename from lab-structure/src/themes/green-icon/fonts/fonts/fontawesome-webfont.ttf rename to assets/fonts/font-awesome-4.7.0/fonts/fontawesome-webfont.ttf diff --git a/lab-structure/src/themes/green-icon/fonts/fonts/fontawesome-webfont.woff b/assets/fonts/font-awesome-4.7.0/fonts/fontawesome-webfont.woff old mode 100755 new mode 100644 similarity index 100% rename from lab-structure/src/themes/green-icon/fonts/fonts/fontawesome-webfont.woff rename to assets/fonts/font-awesome-4.7.0/fonts/fontawesome-webfont.woff diff --git a/lab-structure/src/themes/green-icon/fonts/fonts/fontawesome-webfont.woff2 b/assets/fonts/font-awesome-4.7.0/fonts/fontawesome-webfont.woff2 old mode 100755 new mode 100644 similarity index 100% rename from lab-structure/src/themes/green-icon/fonts/fonts/fontawesome-webfont.woff2 rename to assets/fonts/font-awesome-4.7.0/fonts/fontawesome-webfont.woff2 diff --git a/lab-structure/src/themes/green-icon/images/favicon.ico b/assets/images/favicon.ico similarity index 100% rename from lab-structure/src/themes/green-icon/images/favicon.ico rename to assets/images/favicon.ico diff --git a/lab-structure/src/themes/green-icon/images/favicon.png b/assets/images/favicon.png similarity index 100% rename from lab-structure/src/themes/green-icon/images/favicon.png rename to assets/images/favicon.png diff --git a/lab-structure/src/themes/green-icon/images/logo-new.png b/assets/images/logo-new.png similarity index 100% rename from lab-structure/src/themes/green-icon/images/logo-new.png rename to assets/images/logo-new.png diff --git a/ph3-beta-to-ui3.0-conv/ui3template/assets/images/logo.png b/assets/images/logo.png similarity index 100% rename from ph3-beta-to-ui3.0-conv/ui3template/assets/images/logo.png rename to assets/images/logo.png diff --git a/ph3-beta-to-ui3.0-conv/ui3template/assets/images/popout.png b/assets/images/popout.png old mode 100755 new mode 100644 similarity index 100% rename from ph3-beta-to-ui3.0-conv/ui3template/assets/images/popout.png rename to assets/images/popout.png diff --git a/assets/images/vlabs-color-small-moe.jpg b/assets/images/vlabs-color-small-moe.jpg new file mode 100644 index 00000000..f4129424 Binary files /dev/null and b/assets/images/vlabs-color-small-moe.jpg differ diff --git a/assets/js/assessment.js b/assets/js/assessment.js new file mode 100644 index 00000000..09b735b0 --- /dev/null +++ b/assets/js/assessment.js @@ -0,0 +1,53 @@ +const quizContainer = document.getElementById("quiz"); +const resultsContainer = document.getElementById("results"); +const submitButton = document.getElementById("submit"); + + +function showResults() { + // gather answer containers from our quiz + const answerContainers = quizContainer.querySelectorAll(".answers"); + answerContainers.forEach(e => e.style.color = "black"); + + // keep track of user's answers + let numCorrect = 0; + + // for each question... + myQuestions.forEach((currentQuestion, questionNumber) => { + // find selected answer + const answerContainer = answerContainers[questionNumber]; + const selector = `input[name=question${questionNumber}]:checked`; + const userAnswerElement = answerContainer.querySelector(selector); + const userAnswer = userAnswerElement ? userAnswerElement.value : undefined; + + // Log the value and type of userAnswer + //console.log(`Question ${questionNumber + 1}: userAnswer =`, userAnswer, `, type =`, typeof userAnswer); + + // if answer is correct + if (userAnswer === currentQuestion.correctAnswer) { + // add to the number of correct answers + numCorrect++; + + // color the selected answer green + if (userAnswerElement) { + userAnswerElement.parentElement.style.color = "lightgreen"; + } + } + // if answer is blank + else if (userAnswer === undefined) { + // color the answers black + answerContainers[questionNumber].style.color = "black"; + } + // if answer is wrong + else { + // color the answers red + if (userAnswerElement) { + userAnswerElement.parentElement.style.color = "red"; + } + } + }); + // show number of correct answers out of total + resultsContainer.innerHTML = `${numCorrect} out of ${myQuestions.length}`; +} + + +submitButton.addEventListener("click", showResults); diff --git a/assets/js/assessment_v2.js b/assets/js/assessment_v2.js new file mode 100644 index 00000000..7c30e47d --- /dev/null +++ b/assets/js/assessment_v2.js @@ -0,0 +1,185 @@ +"use strict"; + +const quizContainer = document.getElementById("quiz"); +const resultsContainer = document.getElementById("results"); +const submitButton = document.getElementById("submit"); +const difficultyLevels = ["beginner", "intermediate", "advanced"]; + +let difficulty = []; +let questions = { all: myQuestions }; + +const addEventListener_explanations = () => { + let accordions = document.getElementsByClassName("accordion"); + Array.from(accordions).forEach((accordion) => { + accordion.addEventListener("click", function () { + /* Toggle between adding and removing the "active" class, + to highlight the button that controls the panel */ + accordion.classList.toggle("active"); + + /* Toggle between hiding and showing the active panel */ + let panel = accordion.parentElement.nextElementSibling; + if (panel.style.display === "block") { + panel.style.display = "none"; + } else { + panel.style.display = "block"; + } + }); + }); +}; + +const addEventListener_checkbox = () => { + difficulty.forEach((diff) => { + let cBox = document.getElementById(diff); + cBox.addEventListener("change", function () { + if (cBox.checked) { + difficulty.push(diff); + } else { + difficulty.splice(difficulty.indexOf(diff), 1); + } + updateQuestions(); + }); + }); +}; + +const populateQuestions = () => { + let num = 0; + myQuestions.forEach((currentQuestion) => { + if (difficultyLevels.indexOf(currentQuestion.difficulty) === -1) { + currentQuestion.difficulty = "beginner"; + } + if (!(currentQuestion.difficulty in questions)) { + questions[currentQuestion.difficulty] = []; + } + questions[currentQuestion.difficulty].push(currentQuestion); + + currentQuestion.num = num; + num += 1; + }); + + if (Object.keys(questions).length > 2) { + document.getElementById("difficulty-label").style.display = "flex"; + difficultyLevels.forEach((diff) => { + if (!(diff in questions)) { + return; + } + difficulty.push(diff); + let checkbox = document.getElementById(diff); + checkbox.checked = true; + checkbox.parentElement.style.display = "flex"; + }); + } else { + difficultyLevels.forEach((diff) => { + if (!(diff in questions)) { + return; + } + difficulty.push(diff); + }); + } +}; + +const checkDifficulties = (classlist) => { + if (difficulty.length === Object.keys(questions).length - 1) return true; + for (let i in difficulty) { + if (classlist.contains(difficulty[i])) return true; + } + // If beginner is checked list the unlisted question as beginner + for (let i in difficultyLevels) { + if (classlist.contains(difficultyLevels[i])) return false; + } + if (difficulty.indexOf("beginner") > -1) { + return true; + } +}; + +function updateQuestions() { + const quiz = document.getElementById("quiz"); + const qquestions = quiz.getElementsByClassName("question"); + for (let i = 0; i < qquestions.length; i += 1) { + if (!checkDifficulties(qquestions[i].classList)) { + qquestions[i].style.display = "none"; + qquestions[i].nextElementSibling.style.display = "none"; + } else { + qquestions[i].style.display = "block"; + qquestions[i].nextElementSibling.style.display = "flex"; + } + } +} + +function showResults() { + // gather answer containers from our quiz + const answerContainers = quizContainer.querySelectorAll(".answers"); + // keep track of user's answers + let numCorrect = 0; + let totalNum = 0; + + // for each question... + myQuestions.forEach((currentQuestion) => { + // find selected answer + if ( + difficulty.indexOf(currentQuestion.difficulty) === -1 && + difficulty.length !== Object.keys(questions).length - 1 + ) + return; + let questionNumber = currentQuestion.num; + const answerContainer = answerContainers[questionNumber]; + const selector = `input[name=question${questionNumber}]:checked`; + const userAnswer = (answerContainer.querySelector(selector) || {}).value; + // Add to total + totalNum++; + + // if answer is correct + if (userAnswer === currentQuestion.correctAnswer) { + // Color the correct answer lightgreen + const correctAnswerElement = document.getElementById( + "answer" + questionNumber.toString() + userAnswer + ); + correctAnswerElement.style.color = "lightgreen"; + + // add to the number of correct answers + numCorrect++; + + // Show all explanations + if (currentQuestion.explanations) { + for (let answer in currentQuestion.answers) { + let explanation = currentQuestion.explanations[answer]; + let explanationButton = document.getElementById( + "explanation" + questionNumber.toString() + answer + ); + if (explanation) { + explanationButton.parentElement.nextElementSibling.innerHTML = explanation; + explanationButton.style.display = "inline-block"; + } else { + explanationButton.style.display = "none"; + } + } + } + } else if (userAnswer) { + // if answer is wrong + document.getElementById( + "answer" + questionNumber.toString() + userAnswer + ).style.color = "red"; + + // Show explanation for the selected answer + if (currentQuestion.explanations && userAnswer) { + let explanation = currentQuestion.explanations[userAnswer]; + let explanationButton = document.getElementById( + "explanation" + questionNumber.toString() + userAnswer + ); + if (explanation) { + explanationButton.parentElement.nextElementSibling.innerHTML = explanation; + explanationButton.style.display = "inline-block"; + } else { + explanationButton.style.display = "none"; + } + } + } + }); + + // show number of correct answers out of total + resultsContainer.innerHTML = `Score: ${numCorrect} out of ${totalNum}`; +} + +populateQuestions(); +addEventListener_explanations(); +addEventListener_checkbox(); +submitButton.addEventListener("click", showResults); \ No newline at end of file diff --git a/assets/js/event-handler.js b/assets/js/event-handler.js new file mode 100644 index 00000000..324cc788 --- /dev/null +++ b/assets/js/event-handler.js @@ -0,0 +1,76 @@ +"use-strict"; + +const Toast = Swal.mixin({ + toast: true, + position: 'center', + showConfirmButton: false, + timer: 3000, + timerProgressBar: true, + didOpen: (toast) => { + toast.addEventListener('mouseenter', Swal.stopTimer) + toast.addEventListener('mouseleave', Swal.resumeTimer) + } +}) + +document.getElementById('bug-report').addEventListener('vl-bug-report', (event) => { + //console.log('Received vl-bug-report event:', event); + if (event.detail.status === 200 || event.detail.status === 201) { + const learningUnit = document.head.querySelector('meta[name="learning-unit"]').content; + const task = document.head.querySelector('meta[name="task-name"]').content; + if (window.dataLayer) { + window.dataLayer.push({ + event: "vl-bug-report", + "bug-type": event.detail.issues, + "learning-unit": learningUnit ? learningUnit : "", + "task-name": task ? task : "" + }) + } + Toast.fire({ + icon: 'success', + iconColor: "white", + background: "#a5dc86", + title: 'Bug Reported Successfully', + }) + } else { + const error = event.detail.error; + console.log('Error details:', error); + Toast.fire({ + icon: 'error', + iconColor: "white", + color: "white", + background: "#f27474", + timer: 5000, + title: 'Bug Report Failed', + text: 'Please try again later', + //text: 'Please try again later. Error: ' + error, + }); + } +}); + +// Function to handle the rating submit logic +function handleRatingSubmit(e) { + const learningUnit = document.head.querySelector('meta[name="learning-unit"]').content; + const task = document.head.querySelector('meta[name="task-name"]').content; + if (window.dataLayer) { + window.dataLayer.push({ + event: "vl-rating-submit", + "rating": e.detail.rating, + "rating-value": e.detail.rating, + "learning-unit": learningUnit ? learningUnit : "", + "task-name": task ? task : "" + }); + } + Toast.fire({ + icon: 'success', + iconColor: "white", + background: "#a5dc86", + title: 'Rating Submitted Successfully', + }); +} + +const ratingSubmitElement = document.querySelector('rating-submit'); +if (ratingSubmitElement) { + // Wait for the 'vl-rating-submit' event before adding the event listener + ratingSubmitElement.addEventListener('vl-rating-submit', handleRatingSubmit); +} + diff --git a/assets/js/iframeResize.js b/assets/js/iframeResize.js new file mode 100644 index 00000000..fc116cbf --- /dev/null +++ b/assets/js/iframeResize.js @@ -0,0 +1,29 @@ +const sendPostMessage = (mutationList, ob) => { + if (mutationList && mutationList.length > 0) { + let height = document.scrollingElement.scrollHeight; + window.parent.postMessage({ + frameHeight: height + }, '*'); + } +} + +window.onresize = () => sendPostMessage(); + +const config = { attributes: true, childList: true, subtree: true }; + +const observer = new MutationObserver(sendPostMessage); +observer.observe(document.body, config); + + + +/* This is only needed when there is a nested iframe, and +will work only if this script is manualy inserted in the embedded iframe page. +*/ +window.onmessage = (e) => { + if (e.data.hasOwnProperty("frameHeight")) { + var iframeDiv = document.querySelector("iframe"); + if (iframeDiv) { + iframeDiv.style["padding-top"] = `${e.data.frameHeight}px`; + } + } +}; diff --git a/assets/js/instruction-box.js b/assets/js/instruction-box.js new file mode 100644 index 00000000..f8152c85 --- /dev/null +++ b/assets/js/instruction-box.js @@ -0,0 +1,11 @@ +var collapsibleEl = document.getElementsByClassName("collapsible")[0]; +collapsibleEl.addEventListener("click", function() { + this.classList.toggle("active"); + var content = this.nextElementSibling; + if (content.style.maxHeight){ + content.style.maxHeight = null; + } else { + content.style.maxHeight = content.scrollHeight + "px"; + } +}); + diff --git a/lab-structure/src/themes/green-icon/js/jquery-3.4.1.slim.min.js b/assets/js/jquery-3.4.1.slim.min.js similarity index 100% rename from lab-structure/src/themes/green-icon/js/jquery-3.4.1.slim.min.js rename to assets/js/jquery-3.4.1.slim.min.js diff --git a/assets/js/toggleSidebar.js b/assets/js/toggleSidebar.js new file mode 100644 index 00000000..4059d064 --- /dev/null +++ b/assets/js/toggleSidebar.js @@ -0,0 +1,37 @@ +const sidebar = document.querySelector(".sidebar"); +const myModal = new bootstrap.Modal(document.getElementById("popupMenu")); +const breakpointLg = 992; + +function toggle() { + const w = $(this).width(); + if (w < breakpointLg) { + myModal.toggle(); + } else { + if (sidebar.classList.contains("vlabs-hidden")) { + sidebar.classList.remove("vlabs-hidden"); + } else { + sidebar.classList.add("vlabs-hidden"); + } + } +} + +function simulationHeaderToggle() { + const dropdown = document.querySelector( + ".simulation-header .dropdown .backdrop" + ); + if (dropdown.classList.contains("vlabs-hidden")) { + dropdown.classList.remove("vlabs-hidden"); + } else { + dropdown.classList.add("vlabs-hidden"); + } +} + +if (document.querySelector(".simulation-header")) { + window.addEventListener("click", ({ target }) => { + if (!(target.closest(".navbar-toggler") || target.closest(".nav-menu"))) { + document + .querySelector(".simulation-header .dropdown .backdrop") + .classList.add("vlabs-hidden"); + } + }); +} diff --git a/ph3-beta-to-ui3.0-conv/ui3template/assets/js/webcomponents-loader.min.js b/assets/js/webcomponents-loader.min.js similarity index 100% rename from ph3-beta-to-ui3.0-conv/ui3template/assets/js/webcomponents-loader.min.js rename to assets/js/webcomponents-loader.min.js diff --git a/ph3-beta-to-ui3.0-conv/ui3template/assets/js/zero-md.min.js b/assets/js/zero-md.min.js similarity index 100% rename from ph3-beta-to-ui3.0-conv/ui3template/assets/js/zero-md.min.js rename to assets/js/zero-md.min.js diff --git a/assets_plugins/json/bug-report-questions.js b/assets_plugins/json/bug-report-questions.js new file mode 100644 index 00000000..7467fbaf --- /dev/null +++ b/assets_plugins/json/bug-report-questions.js @@ -0,0 +1,24 @@ +const { ContentTypes } = require("../../enums"); + +const issues = { + [ContentTypes.TEXT]: ["Insufficient Content"], + [ContentTypes.VIDEO]: ["Insufficient Content"], + [ContentTypes.ASSESMENT]: [ + "Incorrect Options", + "Incorrect Answer", + "Incorrect Question", + ], + [ContentTypes.ASSESSMENT]: [ + "Incorrect Options", + "Incorrect Answer", + "Incorrect Question", + ], + [ContentTypes.SIMULATION]: [ + "Simulation Not Working", + "Incorrect Results/Observations", + "Insufficient/Incorrect Instructions", + ], + DEFAULT: ["Page Not Loading", "Content Not Visible", "Incorrect Content"], +}; + +module.exports = issues; diff --git a/config.js b/config.js new file mode 100644 index 00000000..338f97f5 --- /dev/null +++ b/config.js @@ -0,0 +1,114 @@ +const path = require("path"); +const log = require("./logger.js"); + +const Lab = { + descriptor_name: "lab-descriptor", + build_dir: "build", + exp_build_dir: "exprepos", + exp_deploy_dir: "exp", + deployment_dest: "/var/www/html", + stage_dir: "stage", + ui_template_name: "templates", + static_content_dir: "static_content", + partials: [ + ["analytics_head", "lab-analytics-head"], + ["analytics_body", "lab-analytics-body"], + ["validation_body", "lab-validation-body"], + ["commons", "commons"], + ["header", "header"], + ["breadcrumbs", "lab-breadcrumbs"], + ["side_menu", "sidemenu"], + ["content", "content"], + ["footer", "footer"], + ["popup_menu", "popupmenu"], + ["simulation_header", "simulation-header"], + ["bug_report_mobile", "bug-report-mobile"], + ["svc_rating_display", "svc-rating-display"], + ["svc_rating_submit", "svc-rating-submit"], + ["nav_menu_items", "nav-menu-items"], + ], + pages: [ + { + + } + ] +}; + +const Experiment = { + descriptor_name: "experiment-descriptor.json", + default_descriptor: "default-experiment-descriptor.json", + build_dir: "build", + exp_dir: "experiment", + ui_template_name: "templates", + static_content_dir: "static_content", + partials: [ + ["analytics_head", "analytics-head"], + ["analytics_body", "analytics-body"], + ["validation_body", "validation-body"], + ["meta", "meta"], + ["commons", "commons"], + ["header", "header"], + ["breadcrumbs", "breadcrumbs"], + ["tools", "tools"], + ["side_menu", "sidemenu"], + ["content", "content"], + ["footer", "footer"], + ["popup_menu", "popupmenu"], + ["simulation_header", "simulation-header"], + ["bug_report_mobile", "bug-report-mobile"], + ["svc_rating_display", "svc-rating-display"], + ["svc_rating_submit", "svc-rating-submit"], + ["nav_menu_items", "nav-menu-items"], + ], + optional_pages: [ + "Observations", + "Assignment", + "Quiz" + ] +}; + +const PROJECT_ROOT = path.resolve(__dirname); + + +/* +Experiment build path +------------------------- +This is here to avoid circular dependency between +Experiment moudle and Task module. +*/ +function build_path(src) { + return path.resolve(src, Experiment.build_dir, path.basename(path.resolve(src))); +} + +function assets_path() { + return path.resolve(__dirname, "assets"); +} + +function isURL(source) { + try { + new URL(source); + return true; + } catch (e) { + log.debug(`${source} is not a valid URL`); + return false; + } +} + +const VLAB_INFRA_CONFIG = { + "production": { + "url": "https://cdn.vlabs.ac.in/config/vlabs-config.js", + "urlAlt": "https://cdn.vlabs.ac.in/config/vlabs-config.umd.cjs" + }, + "testing": { + "url": "https://cdn.vlabs.ac.in/config/vlabs-config.js", + "urlAlt": "https://cdn.vlabs.ac.in/config/vlabs-config.umd.cjs" + } +}; + +module.exports.Experiment = Experiment; +module.exports.Lab = Lab; +module.exports.build_path = build_path; +module.exports.assets_path = assets_path; +module.exports.isURL = isURL; +module.exports.PROJECT_ROOT = PROJECT_ROOT; +module.exports.VLAB_INFRA_CONFIG = VLAB_INFRA_CONFIG; diff --git a/default-code-assessment.json b/default-code-assessment.json new file mode 100644 index 00000000..0b1ab54e --- /dev/null +++ b/default-code-assessment.json @@ -0,0 +1,22 @@ +{ + "version": 1, + "experiment name": "Experiment Name", + "problems": [ + { + "problem name": "Basic Bubble Sort", + "description": "Implement basic Bubble Sort algorithm for the given input array", + "inputs": [ + [64,66,20,49,11,79] + ], + "expected": ["11,20,49,64,66,79"] + }, + { + "problem name": "Optimized Bubble Sort", + "description": "Implement Optimized Bubble Sort algorithm for the given input array", + "inputs": [ + [64,66,20,49,11,79] + ], + "expected": ["11,20,49,64,66,79"] + } + ] +} \ No newline at end of file diff --git a/default-experiment-descriptor.json b/default-experiment-descriptor.json new file mode 100644 index 00000000..8dd38760 --- /dev/null +++ b/default-experiment-descriptor.json @@ -0,0 +1,59 @@ +{ + "unit-type": "lu", + "label": "", + "basedir": ".", + "LaTeXinMD": false, + "code-assessment": { + "include": false, + "languages": ["javascript"], + "position": 5 + }, + "service-worker": "/path/to/service-worker.js", + "units": [ + { + "unit-type": "aim" + }, + { + "target": "theory.html", + "source": "theory.md", + "label": "Theory", + "unit-type": "task", + "content-type": "text" + }, + { + "target": "pretest.html", + "source": "pretest.json", + "label": "Pretest", + "unit-type": "task", + "content-type": "assesment" + }, + { + "target": "procedure.html", + "source": "procedure.md", + "label": "Procedure", + "unit-type": "task", + "content-type": "text" + }, + { + "target": "simulation.html", + "source": "simulation/index.html", + "label": "Simulation", + "unit-type": "task", + "content-type": "simulation" + }, + { + "target": "posttest.html", + "source": "posttest.json", + "label": "Posttest", + "unit-type": "task", + "content-type": "assesment" + }, + { + "target": "references.html", + "source": "references.md", + "label": "References", + "unit-type": "task", + "content-type": "text" + } + ] +} diff --git a/docs/analytics.org b/docs/analytics.org new file mode 100644 index 00000000..70cfeb46 --- /dev/null +++ b/docs/analytics.org @@ -0,0 +1,98 @@ +#+TITLE: Analytics + +* Introduction +This document describes the analytics information included in a lab +and experiment page. + +The Lab and Experiment pages are tracked for analytics information +using the google analytics service. This service keeps track usage +information for each page in a given domain. Currently we collect +analytics for labs hosted in the [[vlabs.ac.in][vlabs.ac.in]] domain. + +The reporting of analytics is done using googld data studio reports +and is publically available [[https://datastudio.google.com/u/0/reporting/1bVjKkAw-e617LmNE1v_WPdIByVRz2waa/page/5fLPB][here]]. + +The setup for tracking analytics is done using google tag manager. + +*Tag Manager Container: GTM-W59SWTR* + +* Mechanism for Collecting Analytics +There are two types of information collected for any page by google +analytics: + +- predefined variable :: Predefined/inbuilt variables are things like + page url, timestamp etc which is common to all webpages. No + configuration is required for these variables. + +- user defined variables :: These variables are used to store + additional information related to the page. For example, in an + experiment level page, the experiment name is stored in a user + defined variable. The [[https://support.google.com/tagmanager/answer/6164391?hl=en][Datalayer]] facility of google tag manager + is used to create these variables. + +In the next two sections we discuss the datalayer variables for Lab +and Experiment level pages. + +* Analytics Setup in pages + +In order to track any page using google analytics, we need to add two +scripts in the page. + +** Header Script +The header script contains some javascript code provided by google tag +manager along with the =dataLayer= object. + +Refer to the Html templates for header scripts in [[../page-templates/head.handlebars][lab]] and [[../templates/partials/analytics-head.handlebars][experiment]] +pages for details. + +*NOTE*: The code in the header scripts include the GTM container ID. +It has been hardcoded in the templates and will need to be changed in +the unlikely event that the container ID changes. + +** Body Snippet +The body snippet needs to be added at the top of the body (first child +of the body element). + +This snippet also contains the GTM container ID and will have to +change when the container ID changes. + +The body snippet for the lab pages is included in the +[[../skeleton-new.html][skeleton-new.html]] document which is the common template for all lab +pages. + +The body snippet for the experiment pages is included in the +[[../templates/partials/analytics-body.handlebars][analytics-body.handlebars]] template. + + +* Lab Analytics + +|------------+---------------------------| +| VARIABLE | DESCRIPTION | +|------------+---------------------------| +| labName | Name of the Lab | +| discipline | Subject Domain of the Lab | +| college | College Code | +| phase | Phase Number of the Lab | +|------------+---------------------------| + +All of these fields are given in the lab-descriptor document. + + +* Experiment Analytics + +|--------------+---------------------------| +| VARIABLE | DESCRIPTION | +|--------------+---------------------------| +| labName | Name of the Lab | +| discipline | Subject Domain of the Lab | +| college | College Code | +| phase | Phase Number of the Lab | +| expName | Experiment Name | +| expShortName | Experiment Short Name | +|--------------+---------------------------| + +All of these fields are given in the lab-descriptor. + + +*NOTE*: *Please get all the fields verified before building a lab.* + diff --git a/docs/content-validation.md b/docs/content-validation.md new file mode 100644 index 00000000..eb395c75 --- /dev/null +++ b/docs/content-validation.md @@ -0,0 +1,41 @@ +# Content Validation +--- +title: "Content Validation" +summary: "Tools for code and content validation" +audience: "Experiment Developer" +date: 2023-05-11T13:49:21.348Z +tags: [] +phase: "Ext Phase 3" +author: ["Shreyash Jain","Aditya Malhotra"] +--- + +## Introduction +There is a need for a tool that can validate the code and content of the experiment. This tool will help in catching errors early and since these tools are available directly to the developers they can validate the files, thus it saves time. We have added 4 validation tools, and a dedicated UI webpage to view the logs. The UI is user-friendly which allows the developer to debug easily. These tools are: +1. Eslint +This will ensure consistency in the code, will point out bugs and will raise warnings when the coding standards are not followed. +2. Validate Experiment Descriptor +The experiment descriptor is the primary file that contains information on how the build directory is going to be created, thus validating it is of high importance. +3. Validate code-assessment.json +The `code-assessment.json` file contains the Code assessment problems along with their inputs and +expected outputs. The component needs the json to be in prescribed format for the data to be parsed. Thus validating it becomes significant. +4. Validating Assessment Files +In an experiment, a developer wants to create quizzes. Virtual labs have a standard template for rendering quizzes, thus a developer needs to write a JSON file which will be converted to a quiz. These JSON files are validated via this tool +5. Checking for HTTP links +These tools check whether the build directory contains any HTTP links or not. +The HTTP links bring security concerns and hosting issues. + +## How to use +After the experiment has been build and deployed there will be button on the top named `validation-tool` (as shown in the figure below). On clicking it, a new page will open that contains all the logs of the validation tools. +![validation_tool1](./images/validation-tool1.jpg) + +The page will look like this: +![validation_tool2](./images/validation-tool2.jpg) + +On the left side, there will be a list of all the validation tools. You can select multiple tools, there is an option to choose severity as well. On the right side the logs will be displayed, you will get the file name, to see the details of the error click on the file name. The details will be displayed below the file name. + +## How to validate +Check the build logs, if there are any errors in the build logs then the validation tool will not work. If there are no errors in the build logs then you can use the validation tool. + +## Important Points +1. The validation tool will only work if there are no major errors in the build process. You can check the build logs to see if there are any errors or not. +2. The validation tool can be viewed in the deployed experiment. diff --git a/docs/contributors.md b/docs/contributors.md new file mode 100644 index 00000000..f972fb77 --- /dev/null +++ b/docs/contributors.md @@ -0,0 +1,47 @@ +--- +title: contributors +author: "Shreyash Jain and Aditya Malhotra" +audience: "Experiment Developer" +date: 2023-05-11T13:49:21.348Z +phase: "Ext Phase 3" +summary: "This document describes the how to enable the contributors page in your experiment." +tags: [] +--- + +## Introduction +We at Virtual Labs have always believed in giving credit where its due. Developers and SMEs now have a dedicated page to get the credit for their contributions in the experiment. + +## How to use +The contributors.md file will look like this: +```markdown +EMPTY + +## Subject Matter Experts +| SNo. | Name | Email | Institute | ID | +| :---: | :---: | :---: | :---: | :---: | +| 1 | name | email | institute | id | + +## Developers +| SNo. | Name | Email | Institute | ID | +| :---: | :---: | :---: | :---: | :---: | +| 1 | name | email | institute | id | +| 2 | name | email | institute | id | +``` +This file will be present in the experiment directory. You can add the details of the contributors in the table. +You will need to remove the `EMPTY` line before adding the details. +If the file is not present in the experiment directory, you can copy the template above and add it to your experiment directory. + + +## How to verify +You can verify the contributors page by deploying the experiment. The contributors page will be available in the experiment in the sidebar. +The page will look like this: +![Contributors](/docs/images/Contributors.png) + + +## Important Points +1. The contributors.md file should be present in the experiment directory. +2. The contributors.md file should be in the above format. +3. The contributors page will not be rendered if you dont remove the `EMPTY` line. + + + diff --git a/docs/custom-modules.md b/docs/custom-modules.md new file mode 100644 index 00000000..4c7ccb63 --- /dev/null +++ b/docs/custom-modules.md @@ -0,0 +1,39 @@ +--- +title: Custom Modules +author: "Shreyash Jain and Aditya Malhotra" +audience: "Experiment Developer" +date: 2023-05-11T13:49:21.348Z +phase: "Ext Phase 3" +summary: "This document describes how to add custom modules to the experiment." +tags: [] +--- + +## Introduction +In an experiment, there are several theoretical pages like procedure, theory etc. The developer is supposed to write the contents of those pages in a markdown file, later these markdown files are rendered. To render the build script uses the virtual labs CSS and JS. There might be cases that a developer wants to add his own CSS and JS modules to add further functionality to their experiments. +The new build script allows developers to add their own CSS/JS either as a file or a CDN link. + + +## How to Use +The developer needs to specify the CSS/JS files in the experiment-descriptor.json file. The developer can specify the CSS/JS files in the following way: + +```json +{ + "target": "procedure.html", + "source": "procedure.md", + "js_modules" : ["procedure.js","https://cdn.jsdelivr.net/npm/katex@0.16.7/dist/katex.min.js"], + "css_modules" : ["procedure.css","https://cdn.jsdelivr.net/npm/katex@0.16.7/dist/katex.min.css"], + "label": "Procedure", + "unit-type": "task", + "content-type": "text" +} +``` + +As shown in the above snippet the js modules and the css modules will be added to the procedure.html page. The developer can specify the modules for every page in the experiment-descriptor.json file. + +## How to verify +To verify, deploy the experiment and check if the CSS/JS modules are added to the page or not. + +## Important points to note +1. The developer can specify the CSS/JS files in the experiment-descriptor.json file. +2. The developer can specify the CSS/JS files either as a file or a CDN link. +3. The developer can specify the CSS/JS files for every page in the experiment-descriptor.json file as long as the unit-type is task. \ No newline at end of file diff --git a/docs/exp-build-process.md b/docs/exp-build-process.md new file mode 100644 index 00000000..276edda6 --- /dev/null +++ b/docs/exp-build-process.md @@ -0,0 +1,388 @@ +# Experiment Build Process + +## Introduction +This document describes the Experiment UI build process. + +## Conceptual Model of an Experiment +An experiment is divided into several /learning units/ and /tasks/. +Learning Units and Tasks are logical units of an experiment that we +discuss in the next few sections. + +## Learning Unit + +### Concept of a Learning Unit +A Learning Unit is a pedagogical term used to denote a set of learning +material including lessons, exercises and evaluations aimed at +teaching a particular subset of topics to be covered in a course. + +The students have to perform a set of activities of various kind in +order to achieve the learning objectives of the learning unit. We +refer to these activities as /Tasks/. + +### Structure and Properties of a Learning Unit +Learning Units have the following properties: + +- AIM :: A learning unit always has an aim/learning objective. This + aim outlines the topics and concepts that the students are + expected to learn from a given learning unit. + +- Sub Learning Units :: A learning unit can be further divided into + more than one learning units. This is useful when a topic is + huge and consists of several sub-topics that require detailed + study. + +- Tasks :: There can be several tasks in a learning unit. Each task + corresponds to a learning activity that the students need + to perform. + + +## Task +### Concept of a Task +A Learning Unit can be divided into several smaller Learning Units and +Tasks. Currently, Tasks are the lowest logical units in any +experiment and cannot be further divided. A task corresponds to a +single activity that the students need to perform. + +### Structure and Properties of a Task + +- Content Type :: Each Task has one of the following content types: + + Text + + Video + + Assesment + + Simulation + +- Source :: File used to build the page related to that task. The + nature of this source document depends on the content type + and is discussed in the sections on the relevant content + types. + +- Target :: The Html page to be generated for this task. Each task + has a corresponding Html page related to it that contains + the content related to this task. + + + +* Experiment Webpages +A Virtual Labs Experiment is a collection of webpages containing the +learning material for the topics covered in the Experiment. These +webpages are built using content provided by the subject matter +experts and it can be in several formats. The resulting page and it's +build process depends on the nature of the content. + +### Relation between Learning Units, Tasks and Pages + +- Learning Unit :: A learning unit itself does not have a page + associated with it. A learning unit has a set of + sub-units and tasks. + +- Task :: Each task has exactly one page associated with it. The kind + of page that is generated for a task depends on the content + type of the task. + +### Contents supported for Task Pages +Each task has a corresponding webpage associated with it. This page +is generated as a result of the build process. The build process of a +page depends on the content type of the task. + +In the following sections we discuss the different content types and +build process details. + +## Text +A Task with the "text" content type contains reading meterial for the +learner. It contains mostly textual information and may include +images and hyperlinks. + +**NOTE** : **text content may not contain videos.** + +- Source :: A page of text type requires a markdown document + containing the source of text. This markdown document is + used to build the final page for the task. + +- Target :: The target page is build using the markdown source. The + markdown content is processed throught a markdown parser + and the resulting html is added to the common page + template. + + +## Video + +A Task with "video" content type contains at least one video in the +task page. It can also have additional information in the form of +text, images and hyperlinks. + +All the processing for video content type is similar to "text" type. + +### What is the difference between text and video content types? + +- For Authors :: + + Text content cannot have embedded video. + + Video content must have at least one embedded video. + +- For Developers :: + + Embedded videos in "video" type pages need to be processing with + analytics information. + + If there are embedded videos in a "text" source document, the + processing should fail with appropriate error message. + + If there is no embedded video in a "video" source document, the + processing should fail with appropriate error message. + +## Implementation Status + +Video and text content types are processed the same way. The +analytics injection in embedded video pages is to be implemented. + + +## Simulation + +A Simulation type page contains interactive simulations that +demonstrate the concepts learned in the reading material/ videos. A +simulation is an html document along with all it's assets (css, js, +images, etc.) required to run the simulation. These pages are +embedded in the corresponding task page using iframes. + +- Source :: The html document that contains the simulation. +- Target :: The task page is built by inserting an iframe in the + common template. This iframe points to the source html + document. + +One task page can only contain a single simulation. + + +### Assesment +Assesment type page contains multiple-choice questions related to the +material in the learning unit. + +- Source :: The questions in an assesment are written in a js module + with a predefined format that contains questions along + with assesment code. The source should provide link to + this document. +- Target :: Page corresponding to the assesment task. The source is + included as a script in the task page. + + +## URL Scheme for a page +~~~ +- github pages: https://virtual-labs.github.io/ +- vlab website: https://.vlabs.ac.in//exp/ +~~~ +/lab-code/ refers to the 2-3 letter code used for the sub-domain of +the lab. For example: /de-iitr/ for IITR Digital Electronics Labs, +/ds1/ and /ds2/ for IIITH data structures labs. + +Each learning unit has a different directory for all its content. So, +the filepath for any page is /. + + +## The Feedback Page + + +# Experiment Descriptor + +The experiment descriptor is a json document that provides information +about all the learning units and tasks in an experiment, that is +required to build an experiment as well as configurations for components like +code assessment. + +The =experiment-descriptor.json= needs to be provided by the +experiment authors in the root of the experiment repository. If it is +not present then a default-experiment-descriptor.json is used. + +## Elements of a descriptor +### Task Object +A Task Object describes a task. For example: + +~~~ +{ + "unit-type": "task", + "label": "Overview", + "LaTeXinMD": "boolean", + "content-type": "video", + "source": "overview.md", + "target": "overview.html" +} +~~~ + + +The above json object represents a task. It is identified as a task +by the field =unit-type=. + +The =label= field is used as a label for the unit's link in the +sidemenu. + +The =content-type= field describes the type of content in the target +html page generated for this unit. + +The =source= field gives a relative link to the source document +required to build the page to be generated for the task. The path of +the page to be generated is given in the =target= field. + +### Learning Unit Object +A Learning Unit object describes a learning unit. For example: + +~~~ +{ + "unit-type": "lu", + "label": "Bubble Sort", + "basedir": "bubble-sort", + "code-assessment": { + "include": false, + "languages": ["javascript"], + "position": 5 + }, + "units": [...] + +} +~~~ + +The above object describes a learning unit. Observe that a learning +unit does not have source and target fields. This is because no page +is generated for a learning unit. Pages are only generated for tasks +in a learning unit. + +Some additional fields: + +- basedir :: This field gives relative path to the directory that + contains all the contents (tasks and units) in this unit. + All the tasks and units use this directory as root and + relative paths are computed accordingly. + +- LaTeXinMD :: This feild gives LaTeX support into the markdown using KaTeX integration. The feature is controlled by a flag which needs to put on the experiment descriptor. + +- code-assessment :: Configuration for the code-assessment component. It includes options like languages to choose from, position/index in the List of all Units. + +- units :: This is a list of units (Tasks and LUs) that are contained + within this learning unit. + +### Aim Object + +Each Learning Unit needs to have an Aim. This aim describes the +learning objectives of a unit. This Aim Object denotes the fact that +an Aim is required in this learning unit. + +*Each learning unit should have the aim object as the first object in +its list of units.* (This is not enforced as of now, but it is a good +practice.) + +The aim object looks as follows: + +~~~ +{ + "unit-type": "aim" +} +~~~ + +An aim object is a special case of task, and is similar to the +following task: + +~~~ +{ + "unit-type": "task", + "label": "Aim", + "content-type": "text", + "source": "aim.md", + "target": "index.html" +} +~~~ + + +## Default Descriptor + +- assumptions + +- the experiment authors follow the experiment structure prescribed by + the template. + - The directory structure is preserved. + - The file names remain the same and are used for the intended + purpose. + - Refer to the [default descriptor](https://github.com/virtual-labs/ph3-lab-mgmt/blob/master/default-experiment-descriptor.json) for details. + +- failure scenarios + - The main reason for why the experiment build process fails is + missing files. + + - *How does the build script know which files to look for?* + + - The experiment build process depends on the experiment + descriptor for all the experiment structure related information. + The experiment descriptor is a json document that lists all the + learning units and tasks in an experiment. It contains + information regarding the html pages to build for each unit and + their dependencies in the form of relative file paths. The + build script looks for each of these dependencies in the given + path in the experiment repository and it exits with failure if + any of the dependent files are missing. The experiment + descriptor is written by the authors but it is optional and + usually not needed. If the authors do not write the experiment + descriptor then a default descriptor is used. + + - There are two possible scenarios :: + 1. Custom Experiment Descriptor - If the authors have provided an + experiment descriptor in the root directory of the experiment + repository. This is done when a different experiment structure + is required from the one given in the template. + + 2. Default Experiment Descriptor - This is the most common + scenario. The authors do not provide any experiment descriptor + and follow the prescribed experiment template. In this case + the default experiment descriptor is used. + +## Structure of an experiment descriptor + +The experiment descriptor contains a single Learning Unit object that +acts as the root unit for the experiment. + +See [this](https://github.com/virtual-labs/exp-bubble-sort-iiith/blob/main/experiment-descriptor.json) descriptor for an example + +### Problems and Limitations of the experiment descriptor +The experiment descriptor is intended to provided a mechanism to make +the experiment structure more flexible. The authors get the freedom +to define their own directory structure and file names and divide +their experiment into several learning units. However, the current +implementation supports this under certain limits. In this section we +didcuss the limitations of the functionalities supported by the +experiment descriptor. + +#### No support for Nested Learning Units +The experiment descriptor is designed with flexibility in mind. It +allows for a recursive structure where each learning unit can contain +several nested units. But, the current implementation does not +support this. It assumes the following: + +- The top level learning unit that represents the experiment contains + all the learning units listed as its direct children in the "units" + field. + +- The inner learning units contain only tasks, no learning units. + +The main challenge in supporting nested learning units is the +structure and functioning of the side menu. The side menu is a list +of links to all the units in the experiment that is presented at the +left side of each page in the experiment. The details of the side +menu are discussed [here](https://github.com/virtual-labs/ph3-lab-mgmt/blob/master/docs/exp-side-menu.org). The side menu contains a drawer for each +learning unit that contains links to all the units contained in that +unit. + +The challenge is to design the user interface that facilitates easy +navigation with nested drawers for nested learning units. The drawers +a separated from each other visually by a horizontal left margin that +represents its level in the heirarchy and when you go deeper in the +nested structure it might be difficult to accomodate the spacing. + + +#### The Label field in the top level unit object +The top level object is a learning unit that represents the entire +experiment. A learning unit object has a *label* field which is used +as a label for the side menu drawer for that unit. Because the side +menu does not have a drawer for the experiment unit this is field is +not used anywhere. + +This can cause confusion to the authors who might assume that this +field is used for the name of the experiment whereas the experiment +name comes from the "experiment-name.md" document. + + +## Unit Types + +- lu :: Learning Unit +- task :: Task +- aim :: Aim diff --git a/docs/exp-side-menu.md b/docs/exp-side-menu.md new file mode 100644 index 00000000..37290ce4 --- /dev/null +++ b/docs/exp-side-menu.md @@ -0,0 +1,33 @@ +# Experiment UI - Side Menu + +## INTRODUCTION +This document describes the side menu of the experiment user interface. + +## PURPOSE OF THE SIDE MENU +The side menu is intended as a navigation tool for the user. It allows the user to navigate different parts/units of the experiment that are divided into different pages. The side menu highlights the current page to make it easy for the user to track their location in the experiment. + +## FEATURES +The side menu provides the following features: + +### Links to all the pages in the experiment +The side menu provides links to all the pages in the experiment. The default pages currently supported are: +1. Aim - aim.md +2. Theory - theory.md +3. Pretest - pretest.json - [Instructions](https://github.com/virtual-labs/ph3-exp-template/blob/main/experiment/README.md) to populate this file +4. Procedure - procedure.md +5. Simulation - populate simulation directory +6. Posttest - posttest.json - [Instructions](https://github.com/virtual-labs/ph3-exp-template/blob/main/experiment/README.md) to populate this file +7. Contributors - contributors.md - Captures the names and contact information of SME's and the developers of the experiment. If required the developer may change the presentation template and also add a Credit section to this file. +8. References/Further Reading - references.md +9. Feedback - It is populated by the script and does not need any inputs from the developer + +This menu can be customized by making changes to the experiment-descriptor.json as detailed [here](https://github.com/virtual-labs/ph3-lab-mgmt/blob/master/docs/exp-build-process.md#experiment-descriptor). + +### Highlights the link to the current page +To facilitate tracking the current page, the side menu highlights the link to the current page in a different text color. + +### Drawers for links to nested units +There are three kinds of units: Learning Unit, Task, and Aim. Out of these units, only Task and Aim units have a page. Learning units do not have a page. This difference is reflected in the side menu as follows: + +1. TASK AND AIM : For Task and Aim units, the side menu provides links to the corresponding pages. +2. LEARNING UNIT : Learning units do not have pages associated with them. The side menu has a drawer in place of a link for each learning unit. The drawer groups all links to the units within the learning unit and the user can open/close the drawer to access the links contained within. \ No newline at end of file diff --git a/docs/faq.md b/docs/faq.md new file mode 100644 index 00000000..56743f26 --- /dev/null +++ b/docs/faq.md @@ -0,0 +1,147 @@ +# Frequently Asked Questions + +## What is a Lab? + +A Lab is a collection of virtual experiments on a particular topic +provided to the students in the form of webpages and can be found at +[www.vlab.co.in](https://www.vlab.co.in/). + + +## What do you mean by the Lab build process? + +A Lab is published in the form of a collection of webpages consisting +of all the learning material divided into experiments. The lab build +process is responsible for building these webpages using the source +material created by the lab authors. The experiment build process is +a part of the lab build process and is responsible for building the +webpages for a particular experiment in the lab. + +Details about the complete lab build process can be found [here](./lab-build-process.org). + + +## What is the difference between developing a lab and building a lab? + +### Lab Development + +A lab is developed by subject matter experts at different +universities. The lab development process involves writing the +necessary information about the lab as well as creating learning +material for each experiment (which includes creating reading +material, assesment quizzes, instructional videos, and most +importantly the interactive simulations). + +The details of lab related information to be provided can be found +here. + +After development of a lab is complete the development team has to +create a hosting request to get the lab published. The details of the +process to get a lab published can be found here. + +All labs are published by the VLEAD Team at IIIT Hyderabad. To +publish a lab, the lab sources (including the experiments) have to be +first converted into webpages. This is done by the lab build process. + + +### Lab Building + +Upon recieving a hosting request for a lab, the hosting team at VLEAD +takes the lab information and experiment sources, and generates the +webpages for the lab related information and for each experiment. + +In short the sequence of processes is as follows: + +LAB DEVELOPMENT -> HOSTING REQUEST -> LAB BUILD -> PUBLISH + + +## Who develops a lab? + +The subject matter experts on a given topic are responsible for +developing a lab. These are usually faculty members at universities +affiliated with Virtual Labs. + + +## Who builds a Lab? + +The VLEAD hosting team builds and publishes a lab when requested by +the developers. + + +## What is a Lab Descriptor? + +A Lab Descriptor is a document that contains all the relevant +information about a lab. It can be found in the repository of a lab. +Details of lab descriptor can be found +[here](docs/lab-descriptor.org). + + +## What is the format of a Lab Descriptor? + +A lab descriptor is a json document containing an object with key +value pairs. + +## What is the structure of a Lab Descriptor? + +The structure of a lab descriptor can be found in +[this](docs/lab-descriptor.org) document. Please refer to the +[schema](../labDescSchema.json) for a formal definition. + +## Who writes a Lab Descriptor? + +A lab descriptor is created by the hosting engineer at VLEAD. This is +because VLEAD is responsible for creating labs. The different team +that work on developing experiments do not create lab. + +## Is it necessary to write a Lab Descriptor? + +Yes, lab descriptor must be created and verified before the lab is +built. The build process checks if the descriptor is present and +valid. + +## What is an Experiment? +An experiment is a collection of webpages that contain learning +resources for a particular topic of interest. + + +# What is the process of building an experiment from the sources? +The process of building an individual experiment from its sources +provided by the authors, it described in [this](exp-build-process.org) +document. + + +## Who develops an experiment? +An experiment is developed by subject matter experts at various +insitutes. The development teams follow the given +[template](https://github.com/virtual-labs/ph3-exp-template/) to +develop experiments. + +## Who builds an experiment? +The experiment is built in two environment: +1. Testing: The teams can test their experiments while developing + them. This happens automatically using the experiment build + scripts and github actions. + +2. Production: This is done as a part of the lab build process by the + hosting engineer. + + +## What is an Experiment Descriptor? +An experiment descriptor is used to as a map for building the +experiments. It describes all the elements that go into an experiment +and where to find the sources for each page. + +## What is the format of an Experiment Descriptor? +The experiment descriptor is a json document. Find a sample +experiment descriptor +[here](https://github.com/virtual-labs/exp-bubble-sort-iiith/blob/main/experiment-descriptor.json). + +## What is the structure of an Experiment Descriptor? +Details of the experiment descriptor can be found +[here](exp-build-process.org). + +## Who wirtes an Experiment Descriptor? +The experiment descriptor is written by the developers of the +experiment. + +## Is it necessary to write an experiment descriptor? +No. The experiment descriptor is needed when you want a structure +that is different from the one prescribed by the template. diff --git a/docs/images/Contributors.png b/docs/images/Contributors.png new file mode 100644 index 00000000..e9d633e7 Binary files /dev/null and b/docs/images/Contributors.png differ diff --git a/docs/images/validation-tool1.jpg b/docs/images/validation-tool1.jpg new file mode 100644 index 00000000..a35ecf1b Binary files /dev/null and b/docs/images/validation-tool1.jpg differ diff --git a/docs/images/validation-tool2.jpg b/docs/images/validation-tool2.jpg new file mode 100644 index 00000000..36a6c379 Binary files /dev/null and b/docs/images/validation-tool2.jpg differ diff --git a/docs/index.html b/docs/index.html deleted file mode 100644 index 13d7d49c..00000000 --- a/docs/index.html +++ /dev/null @@ -1,525 +0,0 @@ - - - - - - - -Phase 3 Lab and Experiment Operations - - - - - - - - - - - - -
-

Phase 3 Lab and Experiment Operations

- - -
-

1 Introduction

-
-

-A Virtual Labs Experiment is a systematic collection of learning -resources for Engineering students to learn about a single topic in -a subject. Each experiment consists of some theory and reading -material, interactive simulations and quizes or tests. The -authoring process may be different for each institute but the end -result is a collection of web-pages that are published together as -an Experiment. -

- -

-Each experiment is a part of of Lab. A Lab is a conceptually a -collection of Experiments related to a subject. A Lab is -published as a collection of web-pages that provide an entry point -for a user to learn about that subject. The list of experiments -included in a lab provides links to all the available experiments. -

- -

-Creating a publishable lab along with all it's experiments, is a -process that involves a lot of manual effort that does not add any -value to the lab itself. Labgen is a command-line tool that helps -in avoiding all the repeatative effort involved in creating a lab -from individual experiments and other lab content. -

- -

-The following processes are supported by labgen: -

-
    -
  1. Generation of Lab pages.
  2. -
  3. Deployment of Lab
  4. -
  5. Build and Deployment of Experiments
  6. -
- -

-The automated build and deployment of experiments is supported only -for experiments generated using the Phase 3 experiment authoring -process (link?) defined by IIT-B. -

-
-
- - -
-

2 Requirements

-
-
    -
  1. node 12.12.x -
      -
    • Download link: node
    • -
    • recommended to install via nvm
    • -
  2. -
  3. npm 6.11.x
  4. -
-
-
- - -
-

3 Setup

-
-
-
-

3.1 Install Dependencies

-
-
-
-npm install
-
-
-
-
-
-
- - -
-

4 Generating Lab Pages

-
-
-
-

4.1 Create Lab Repository

-
-

-Create a new lab repository on Github or clone and existing one. -The repository should be empty. -

-
-
- -
-

4.2 Initialize Lab Descriptor

-
-

-To start with the process of lab generation, you need a Lab -Descriptor. -

- -

-Lab Descriptor is a json file the contains data for lab pages and -other information for lab and experiment deployment. This document -describes the structure of a lab descriptor file. -

- -

-Run the following command to initialize a lab descriptor file that -contains all the required fields, without any values. -

- -
-
npm run labgen -- init <path/to/lab/repo>
-
-
- -

-In the above command <path/to/lab/repo> should be replaced with -the actual path to the local lab repository mentioned in the first -step. -

-
- -
-

4.2.1 Init Example

-
-

-For example, if https://github.com/virtual-labs/myNewLab is your -repository and you clone it on your local system at location -/home/myuser/virtual-labs/, then you would do run the following -commands - -

- -
-
npm labgen -- init /home/myuser/virtual-labs/myNewLab
-
-
- -

-or -

- -
-
npm labgen -- init ~/virtual-labs/myNewLab
-
-
- -

-This will generate the file -~/virtual-labs/myNewLab/lab-descriptor.json. -

-
-
-
- -
-

4.3 Complete and Verify Lab Descriptor

-
-

-Fill all the values in the <path/to/lab/repo>/lab-descriptor.json -file generated above and create a pull-request to get the -lab-descriptor approved. -

-
- - -
-

4.3.1 LD Verification Example

-
-

-Continuing the init example, lets see how to submit the completed -lab-descriptor for verification. -

- -

-In the lab repository, switch to a new branch and edit the json. -

- -
-
cd ~/virtual-labs/myNewLab
-git checkout -b lab-descriptor
-editor lab-descriptor.json
-
-
- -

-After filling the json push the file to remote and create a pull -request. -

- -
-
git add lab-descriptor.json
-git commit -m "lab-descriptor for verification"
-git push origin lab-descriptor
-
-
- -

-Once this pull request is merged to master, do not make any new -changes to the lab-descriptor. -

-
-
-
- -
-

4.4 Generate Lab

-
-

-From the Phase-3-Lab-Template repository, run the following. -

- -
-
npm run labgen -- generate <path/to/lab/repo>
-
-
- -

-This will generate the lab pages using the verified -lab-descriptor.json from the lab repository and push the -generated content to remote. -

-
-
- -
-

4.5 Deploy Lab and Experiments

-
-

-From the Phase-3-Lab-Template repository, run the following. -

- -
-
npm run labgen -- deploy <path/to/lab/repo>
-
-
- -

-This will copy the lab pages to /var/www/html/<lab-name>, and -then build and copy experiments listed in the lab-descriptor to -/var/www/html/<lab-name>/<exp>. -

-
-
-
-
-
-

Author: ojas

-

Created: 2020-05-25 Mon 23:25

-

Validate

-
- - diff --git a/process.org b/docs/lab-build-process.org similarity index 63% rename from process.org rename to docs/lab-build-process.org index ccbc416d..0206397d 100644 --- a/process.org +++ b/docs/lab-build-process.org @@ -1,161 +1,135 @@ -#+TITLE: Process - -* Introduction - - This document describes the page generation process. - -* Process - -** Generate Pages - - [[file:page-generation.png][file:page-generation.png]] - - =generate= function is reponsible for generating the lab pages. It - takes the labpath and generates all the html pages required for the - lab. - - -*** Dependencies - - Template :: The template html file that defines the common - skeleton for all pages. - - Config :: This contains information about which pages are - generated using which templates. - - Lab Descriptor :: This is a json document that contains all the - lab related data. This should be present in - the lab repository, on the master branch. - - Page Templates :: Each page in the lab is generated using the - top level skeleton and a page specific - template. The data for the page specific - template comes from the lab descriptor. All - the page templates are placed in a directory - called =page-templates=. - -*** Generating Components - The components are generated using templates. Templates are found - in the [[file:page-templates][page-templates]] directory. - - The =page-templates= directory contains [[https://handlebarsjs.com/][handlebarsjs]] templates. - Each of these templates is one of two types: - - Page Specific Template :: Page specific templates are defined - for components that are required in a single page. - - Common Template :: Common Templates are used to generate - components like headers, footers etc. that are placed in each - page. - -**** Difference Between IIITH and Other Lab pages - The IIITH lab pages are similar to all other lab pages, except - for the List of Experiments Page. The list of experiments page - has different template for the two types of experiments. - - - Template for IIITH Labs :: nested-list-of-experiments-ctnt.handlebars - - Template for Other Labs :: list-of-experiments-ctnt.handlebars - - As the templates are different, the data also comes from - different fields in the lab-descriptor. - - - IIITH Lab List of Experiments Field :: =experiments= - - Other Lab List of Experiments Field :: =nested-experiments= - - Only one of these fields should be present in a lab-descriptor. - - *NOTE*: If both fields are present, the lab pages will not be - generated. - -*** Generate Lab - - Once the pages are generated (generated pages are present in - =page-components=) the lab is generated using the following: - - - Lab Structure :: The =lab-structure= directory contains the - files and directories needed to make the pages - work. Like the needed css and js files are - present here. This directory also contains a - makefile that contains the recipe for building - the lab using the sources. - - Page Components :: Page Components are the html pages generated - using the data and templates. - - The lab structure directory is copied to the =labpath= directory - (that contains the lab-descriptor) and then the generated pages - are copied there. - - Finally, the makefile is executed in the =labpath/src= directory. - -** Build and Stage Experiments - - [[file:deployment-process.jpg][file:deployment-process.jpg]] - - After the lab pages are built, the experiments need to built and - staged. - - The =deployExperiments= function handles this process. - - Here again, we make a distinction between IIITH Experiments and - Other experiments. The type of experiments is decided based on the - =collegeName= field in the lab-descriptor. If the =collegeName= is - =IIITH= then all experiments are identified as =IIITH= experiments. - - The reason we make this distinction, is because these two types of - experiments have a different build process. - -*** IIITH Experiments - The IIITH Experiments are designed in such a way that there are - three repositories that contain different content for each - experiments. - - - content-html :: the main pages. - - artefacts :: the artefacts like images, simulations etc. - - ? :: - - The build process requires us the clone the =content-html= - repository and run the makefile. This makefile takes care of the - entire build process. - -*** Other Experiments - For all experiments that are developed using the =IITB Development - Process=, the build process is different than that of =IIITH= - experiments. The experiment content is authored in markdown and - the simulations are embedded in iframes. - - The scripts for building and hosting these experiments is - available in a separate [[https://github.com/virtual-labs/ph3-beta-to-ui3.0-conv][repository]]. We provide the repo URL and - the version of the sources to use for our deployment. Our scripts - then clones the repo, and executes the scripts on our behalf. - -** Stage Lab - - If the build and staging process of experiments is successful, we - move on to the process of staging the lab. - - Here we basically just copy the contents of the =build= directory - from the labpath to the staging location, which is a directory on - the server. - -** Deploy - - If the staging of experiments and lab sources succeeds the last - step is to place the lab sources and the experiments to their final - location on the server. - - *NOTE*: We assume that is process is not prone to any known errors. - -** Release Management - - After each successful lab generation and deployment process, the - lab sources are pushed to its repository along with the timestamp - in its commit message. - - A new release of the sources is made by incrementing the previous - release number. The numbering scheme follows semantic versioning. - The type of release determines the version number. - - -*** Version scheme - - Every release follows the scheme : =v..=. Where X, Y, and - Z are non-negative integers. - - Types of releases: - - Major :: X is incremented and Y, Z become 0. - - Minor :: X stays the same. Y is incremented and Z becomes 0. - - Patch :: X and Y remain the same. Z is incremented. +#+TITLE: Lab Build Process + +* Introduction +This document describes the lab build process. + +* Process + +** Generate Pages + + [[file:page-generation.png][file:page-generation.png]] + +*** Assumptions +- There exists a git repository for the lab. +- The lab repository is available on the machine that runs this + script. +- The lab repository has a remote (usually on + https://github.com/virtual-labs/) +- The lab repository has a =master= branch. +- There exists a =lab-descriptor.json= in the lab repository. +- Experiment repositories (and tags) exist and follow the provided + experiment [[https://github.com/virtual-labs/ph3-exp-template/][template]]. + + +*** Dependencies + - Template :: The template html file that defines the common + skeleton for all pages. + - Config :: This contains information about which pages are + generated using which templates. + - Lab Descriptor :: This is a json document that contains all the + lab related data. This should be present in + the lab repository, on the master branch. + - Page Templates :: Each page in the lab is generated using the + top level skeleton and a page specific + template. The data for the page specific + template comes from the lab descriptor. All + the page templates are placed in a directory + called =page-templates=. + +*** Generating Components + The components are generated using templates. Templates are found + in the [[file:page-templates][page-templates]] directory. + + The =page-templates= directory contains [[https://handlebarsjs.com/][handlebarsjs]] templates. + Each of these templates is one of two types: + - Page Specific Template :: Page specific templates are defined + for components that are required in a single page. + - Common Template :: Common Templates are used to generate + components like headers, footers etc. that are placed in each + page. + +**** Difference Between IIITH and Other Lab pages + The IIITH lab pages are similar to all other lab pages, except + for the List of Experiments Page. The list of experiments page + has different template for the two types of experiments. + + - Template for IIITH Labs :: nested-list-of-experiments-ctnt.handlebars + - Template for Other Labs :: list-of-experiments-ctnt.handlebars + + As the templates are different, the data also comes from + different fields in the lab-descriptor. + + - IIITH Lab List of Experiments Field :: =experiments= + - Other Lab List of Experiments Field :: =nested-experiments= + + Only one of these fields should be present in a lab-descriptor. + + *NOTE*: If both fields are present, the lab pages will not be + generated. + +*** Generate Lab + + Once the pages are generated (generated pages are present in + =page-components=) the lab is generated using the following: + + - Page Components :: Page Components are the html pages generated + using the data and templates. + + - assets :: the css, js, images and fonts are taken from + =templates/assets= directory. + +** Build and Stage Experiments + + [[file:deployment-process.jpg][file:deployment-process.jpg]] + + After the lab pages are built, the experiments need to built and + staged. + +** Stage Lab + + If the build and staging process of experiments is successful, we + move on to the process of staging the lab. + + Here we basically just copy the contents of the =build= directory + from the labpath to the staging location, which is a directory on + the server. + +** Deploy + + If the staging of experiments and lab sources succeeds the last + step is to place the lab sources and the experiments to their final + location on the server. + + *NOTE*: We assume that is process is not prone to any known errors. + +** Release Management + + After each successful lab generation and deployment process, the + lab sources are pushed to its repository along with the timestamp + in its commit message. + + A new release of the sources is made by incrementing the previous + release number. The numbering scheme follows semantic versioning. + The type of release determines the version number. + + +*** Version scheme + + Every release follows the scheme : =v..=. Where X, Y, and + Z are non-negative integers. + + Types of releases: + - Major :: X is incremented and Y, Z become 0. + - Minor :: X stays the same. Y is incremented and Z becomes 0. + - Patch :: X and Y remain the same. Z is incremented. + +* Reporting + + The timestamp, verion number and status (success or failure) of the + run is updated to a [[https://docs.google.com/spreadsheets/d/1Z-acT5GKrna_JyHanxq3mXKocRPUb1KPL8vY7mKa5KA/edit#gid=0][google sheet]]. + +* Descriptor Validation + + The lab descriptor is validated using a [[file:~/iiith/vlead/Phase-3-Lab-Template/labDescSchema.json][schema]]. If anything is + invalid in the lab descriptor, the error is displayed and process + aborts. diff --git a/docs/lab-descriptor.html b/docs/lab-descriptor.html deleted file mode 100644 index ea9cc05c..00000000 --- a/docs/lab-descriptor.html +++ /dev/null @@ -1,722 +0,0 @@ - - - - - - - -Lab Descriptor - - - - - - - - - - - - -
-

Lab Descriptor

- - -
-

1 Introduction

-
-

-Lab Descriptor is a json file that contains information about -generation, and deployment of lab pages and related experiments. -

-
-
- -
-

2 Lab Descriptor Structure

-
- - - --- -- -- -- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FieldSub FieldTypeDescription
boradAreanameStringBroad Area (Domain) name
 linkURLLink to the page on vlab.co.in that
   lists all labs in the domain.
baseUrl URLA URL has host and url-path. baseUrl
   contains the host part of the lab.
lab StringLab name as displayed on lab pages.
deployLab BooleanShould the lab be deployed?
phase numberVirtual Labs Phase
collegeName StringName of authoring college.
introduction StringContents of the Introduction.html page.
experiments List ExperimentList of Experiments. Each item in this list
   is an Experiment object. Experiment object
   is described here. This list is used for
   populating the List Of Experiments.html page
   and for deployment of experiments.
experiment-sectionssect-nameStringThis is required when list of experiments is a
   nested list. (ex: Data Structures Lab). Otherwise
   just use experiments and ommit
   experiment-sections.
 experimentsList ExperimentList of experiments in a section.
targetAudienceUGList StringList of UG degrees, that the lab is targeted
   towards.
 PGList StringList of PG degrees that the lab is targeted
   towards.
objective [optional] StringContent for Objective.html page. This field is
   optional. If this is omitted then Objective.html
   page is not generated.
courseAlignmentdescriptionStringContent for Course Alignment.html page.
 universitiesList StringContent for Course Alignment.html page.
-
-
- -
-

3 Experiment

-
- - - --- -- -- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FieldTypeDescription
nameStringName of the Experiment as displayed on
  the Experiment pages.
short-nameStringUnique short name for the experiment.
  Used in the url path for the experiment.
repoURLURL of the remote repository for the
  experiment sources.
branchStringBranch of the remote repository to be used.
tag [TODO]StringTag of the repository to be used.
deploy [TODO]BooleanShould the experiment be deployed.
-
- -
-

3.1 Example

-
-
-
-{
-    "name": "Performance Characteristics of Centrifugal Pump",
-    "short-name": "centrifugal-pump",
-    "repo": "http://vlabs.ac.in/gitlab/central-hosting/fluid/centrifugal-pump-nitk.git",
-    "branch": "master",
-    "tag": "v1.0.1"
-}
-
-
-
-
-
-
- -
-

4 Empty Lab descriptor

-
-

-Following is a lab descriptor file which has not been filled. Use -this as a starting point to create the lab descriptor for your lab. -

- -
-
{
-    "broadArea": {
-        "name": "",
-        "link": ""
-    },
-    "lab": "",
-    "deployLab": ,
-    "phase": ,
-    "collegeName": "",
-    "baseUrl": "",
-    "introduction": "",
-    "experiments": [],
-    "targetAudience": {
-        "UG": [],
-        "PG": []
-    },
-    "objective": "",
-    "courseAlignment": {
-        "description": "",
-        "universities": []
-    }
-}
-
-
-
-
- -
-

5 Sample Lab Descriptor

-
-

-Following lab descriptor is used for testing. -

- -
-
-{
-    "broadArea": {
-        "name": "Civil Engineering",
-        "link": "http://vlab.co.in/broad-area-civil-engineering"
-    },
-    "lab": "Fluid Machinery",
-    "deployLab":true,
-    "phase": 3,
-    "collegeName": "NITS",
-    "baseUrl": "http://localhost",
-    "introduction": "Welcome to fluid macninery lab!",
-    "experiments": [
-        {
-            "name": "Performance Characteristics of Centrifugal Pump",
-            "short-name": "centrifugal-pump",
-            "repo": "http://vlabs.iitb.ac.in/gitlab/vlabs-dev-central-hosting/fluid-machinery-nitk/performance-characteristics-centrifugal-pump-nitk.git",
-            "branch": "master",
-            "tag": "v1.0.0",
-            "deploy": true
-        },
-        {
-            "name": "Performance Characteristics of Hydraulic Ram",
-            "short-name": "hydraulic-ram",
-            "repo": "http://vlabs.iitb.ac.in/gitlab/vlabs-dev-central-hosting/fluid-machinery-nitk/performance-characteristics-hydraulic-ram-nitk.git",
-            "branch": "master",
-            "tag": "v1.0.0",
-            "deploy": false
-        }
-    ],
-    "targetAudience": {
-        "UG": [
-            "B. Tech./ B.E in Civil Engineering"
-        ],
-        "PG": [
-            "MS/Ph. D. Beginners in Civil Engineering and related topics"
-        ]
-    },
-    "objective": "Hello World.",
-    "courseAlignment": {
-        "description": "course are listed here:",
-        "universities": [
-            "Visvesvaraya Technological University Karnataka",
-            "National Institute of Technology Karnataka Karnataka",
-            "Anna University Tamil Nadu",
-            "SRM University Delhi - NCR Sonepat Haryana",
-            "University of Kerala Kerala",
-            "APJ Abdul Kalam Technological University Kerala",
-            "CUSAT Kerala"
-        ]
-    }
-}  
-
-
-
-
-
-
-
-

Author: ojas

-

Created: 2020-05-25 Mon 23:26

-

Validate

-
- - diff --git a/lab-descriptor.org b/docs/lab-descriptor.org similarity index 95% rename from lab-descriptor.org rename to docs/lab-descriptor.org index 5bbbc278..35af71a7 100644 --- a/lab-descriptor.org +++ b/docs/lab-descriptor.org @@ -1,188 +1,192 @@ -#+title: Lab Descriptor -#+setupfile: ./org-html-themes/setup/theme-readtheorg-local.setup -#+export_file_name: ./docs/lab-descriptor.html - -* Introduction - - Lab Descriptor is a json file that contains information about - generation, and deployment of lab pages and related experiments. - -* Lab Descriptor Structure - - |------------------------+----------------+-------------------+-----------------------------------------------------| - | Field | Sub Field | Type | Description | - |------------------------+----------------+-------------------+-----------------------------------------------------| - | *boradArea* | /name/ | =String= | Broad Area (Domain) name | - |------------------------+----------------+-------------------+-----------------------------------------------------| - | | /link/ | =URL= | Link to the page on vlab.co.in that | - | | | | lists all labs in the domain. | - |------------------------+----------------+-------------------+-----------------------------------------------------| - | *baseUrl* | | =URL= | A URL has =host= and =url-path=. baseUrl | - | | | | contains the =host= part of the lab. | - |------------------------+----------------+-------------------+-----------------------------------------------------| - | *lab* | | =String= | Lab name as displayed on lab pages. | - |------------------------+----------------+-------------------+-----------------------------------------------------| - | *deployLab* | | =Boolean= | Should the lab be deployed? | - |------------------------+----------------+-------------------+-----------------------------------------------------| - | *phase* | | =number= | Virtual Labs Phase | - |------------------------+----------------+-------------------+-----------------------------------------------------| - | *collegeName* | | =String= | Name of authoring college. | - |------------------------+----------------+-------------------+-----------------------------------------------------| - | *introduction* | | =String= | Contents of the =Introduction.html= page. | - |------------------------+----------------+-------------------+-----------------------------------------------------| - | *experiments* | | =List Experiment= | List of Experiments. Each item in this list | - | | | | is an =Experiment= object. =Experiment= object | - | | | | is described [[Experiment][here]]. This list is used for | - | | | | populating the =List Of Experiments.html= page | - | | | | and for deployment of experiments. | - |------------------------+----------------+-------------------+-----------------------------------------------------| - | *experiment-sections* | /sect-name/ | =String= | This is required when list of experiments is a | - | | | | nested list. (ex: Data Structures Lab). Otherwise | - | | | | just use *experiments* and ommit | - | | | | *experiment-sections*. | - |------------------------+----------------+-------------------+-----------------------------------------------------| - | | /experiments/ | =List Experiment= | List of experiments in a section. | - |------------------------+----------------+-------------------+-----------------------------------------------------| - | *targetAudience* | /UG/ | =List String= | List of UG degrees, that the lab is targeted | - | | | | towards. | - |------------------------+----------------+-------------------+-----------------------------------------------------| - | | /PG/ | =List String= | List of PG degrees that the lab is targeted | - | | | | towards. | - |------------------------+----------------+-------------------+-----------------------------------------------------| - | *objective* [optional] | | =String= | Content for =Objective.html= page. This field is | - | | | | optional. If this is omitted then =Objective.html= | - | | | | page is not generated. | - |------------------------+----------------+-------------------+-----------------------------------------------------| - | *courseAlignment* | /description/ | =String= | Content for =Course Alignment.html= page. | - |------------------------+----------------+-------------------+-----------------------------------------------------| - | | /universities/ | =List String= | Content for =Course Alignment.html= page. | - |------------------------+----------------+-------------------+-----------------------------------------------------| - -* Experiment - - Each experiment record should contain the following information: - - |--------------+-----------+------------------+------------------------------------------| - | Field | Type | Source | Description | - |--------------+-----------+------------------+------------------------------------------| - | *name* | =String= | Hosting Request | Name of the Experiment as displayed on | - | | | | the Experiment pages. | - |--------------+-----------+------------------+------------------------------------------| - | *short-name* | =String= | Hosting Engineer | Unique short name for the experiment. | - | | | | Used in the url path for the experiment. | - |--------------+-----------+------------------+------------------------------------------| - | *repo* | =URL= | Hosting Request | URL of the remote repository for the | - | | | | experiment sources. | - |--------------+-----------+------------------+------------------------------------------| - | *tag* | =String= | Hosting Request | Tag of the repository to be used. | - |--------------+-----------+------------------+------------------------------------------| - | *deploy* | =Boolean= | Hosting Engineer | Should the experiment be deployed. | - |--------------+-----------+------------------+------------------------------------------| - - The information comes from two sources: Hosting Request and Hosting - Engineer. The hosting engineer has to provide a unique =short-name= - for the experiment which is used for the experiment deployment path. - All other values should be taken from the Hosting Request. - - -** Example - - #+BEGIN_SRC js - - { - "name": "Performance Characteristics of Centrifugal Pump", - "short-name": "centrifugal-pump", - "repo": "http://vlabs.ac.in/gitlab/central-hosting/fluid/centrifugal-pump-nitk.git", - "tag": "v1.0.1", - "deploy": true - } - - #+END_SRC - -* Empty Lab descriptor - - Following is a lab descriptor file which has not been filled. Use - this as a starting point to create the lab descriptor for your lab. - - #+BEGIN_SRC js :eval no :noweb yes :mkdirp yes :tangle ./lab-descriptor.json - { - "broadArea": { - "name": "", - "link": "" - }, - "lab": "", - "deployLab": , - "phase": , - "collegeName": "", - "baseUrl": "", - "introduction": "", - "experiments": [], - "targetAudience": { - "UG": [], - "PG": [] - }, - "objective": "", - "courseAlignment": { - "description": "", - "universities": [] - } - } - #+END_SRC - -* Sample Lab Descriptor - - Following lab descriptor is used for testing. - - #+BEGIN_SRC js :eval no :noweb yes :mkdirp yes :tangle ./sample-lab-descriptor.json - - { - "broadArea": { - "name": "Civil Engineering", - "link": "http://vlab.co.in/broad-area-civil-engineering" - }, - "lab": "Fluid Machinery", - "deployLab":true, - "phase": 3, - "collegeName": "NITS", - "baseUrl": "http://localhost", - "introduction": "Welcome to fluid macninery lab!", - "experiments": [ - { - "name": "Performance Characteristics of Centrifugal Pump", - "short-name": "centrifugal-pump", - "repo": "http://vlabs.iitb.ac.in/gitlab/vlabs-dev-central-hosting/fluid-machinery-nitk/performance-characteristics-centrifugal-pump-nitk.git", - "tag": "v1.0.0", - "deploy": true - }, - { - "name": "Performance Characteristics of Hydraulic Ram", - "short-name": "hydraulic-ram", - "repo": "http://vlabs.iitb.ac.in/gitlab/vlabs-dev-central-hosting/fluid-machinery-nitk/performance-characteristics-hydraulic-ram-nitk.git", - "tag": "v1.0.0", - "deploy": true - } - ], - "targetAudience": { - "UG": [ - "B. Tech./ B.E in Civil Engineering" - ], - "PG": [ - "MS/Ph. D. Beginners in Civil Engineering and related topics" - ] - }, - "objective": "Hello World.", - "courseAlignment": { - "description": "course are listed here:", - "universities": [ - "Visvesvaraya Technological University Karnataka", - "National Institute of Technology Karnataka Karnataka", - "Anna University Tamil Nadu", - "SRM University Delhi - NCR Sonepat Haryana", - "University of Kerala Kerala", - "APJ Abdul Kalam Technological University Kerala", - "CUSAT Kerala" - ] - } - } - - #+END_SRC +#+title: Lab Descriptor +#+setupfile: ./org-html-themes/setup/theme-readtheorg-local.setup +#+export_file_name: ./docs/lab-descriptor.html + +* Introduction + + Lab Descriptor is a json file that contains information about + generation, and deployment of lab pages and related experiments. + +* Lab Descriptor Structure + + |------------------------+----------------+-------------------+-----------------------------------------------------| + | Field | Sub Field | Type | Description | + |------------------------+----------------+-------------------+-----------------------------------------------------| + | *boradArea* | /name/ | =String= | Broad Area (Domain) name | + |------------------------+----------------+-------------------+-----------------------------------------------------| + | | /link/ | =URL= | Link to the page on vlab.co.in that | + | | | | lists all labs in the domain. | + |------------------------+----------------+-------------------+-----------------------------------------------------| + | *baseUrl* | | =URL= | A URL has =host= and =url-path=. baseUrl | + | | | | contains the =host= part of the lab. | + |------------------------+----------------+-------------------+-----------------------------------------------------| + | *lab* | | =String= | Lab name used in google analytics. | + |------------------------+----------------+-------------------+-----------------------------------------------------| + | *lab_display_name* | | =String= | Lab name as displayed on lab pages. | + |------------------------+----------------+-------------------+-----------------------------------------------------| + | *deployLab* | | =Boolean= | Should the lab be deployed? | + |------------------------+----------------+-------------------+-----------------------------------------------------| + | *phase* | | =number= | Virtual Labs Phase | + |------------------------+----------------+-------------------+-----------------------------------------------------| + | *collegeName* | | =String= | Name of authoring college. | + |------------------------+----------------+-------------------+-----------------------------------------------------| + | *introduction* | | =String= | Contents of the =Introduction.html= page. | + |------------------------+----------------+-------------------+-----------------------------------------------------| + | *experiments* | | =List Experiment= | List of Experiments. Each item in this list | + | | | | is an =Experiment= object. =Experiment= object | + | | | | is described [[Experiment][here]]. This list is used for | + | | | | populating the =List Of Experiments.html= page | + | | | | and for deployment of experiments. | + |------------------------+----------------+-------------------+-----------------------------------------------------| + | *experiment-sections* | /sect-name/ | =String= | This is required when list of experiments is a | + | | | | nested list. (ex: Data Structures Lab). Otherwise | + | | | | just use *experiments* and ommit | + | | | | *experiment-sections*. | + |------------------------+----------------+-------------------+-----------------------------------------------------| + | | /experiments/ | =List Experiment= | List of experiments in a section. | + |------------------------+----------------+-------------------+-----------------------------------------------------| + | *targetAudience* | /UG/ | =List String= | List of UG degrees, that the lab is targeted | + | | | | towards. | + |------------------------+----------------+-------------------+-----------------------------------------------------| + | | /PG/ | =List String= | List of PG degrees that the lab is targeted | + | | | | towards. | + |------------------------+----------------+-------------------+-----------------------------------------------------| + | *objective* [optional] | | =String= | Content for =Objective.html= page. This field is | + | | | | optional. If this is omitted then =Objective.html= | + | | | | page is not generated. | + |------------------------+----------------+-------------------+-----------------------------------------------------| + | *courseAlignment* | /description/ | =String= | Content for =Course Alignment.html= page. | + |------------------------+----------------+-------------------+-----------------------------------------------------| + | | /universities/ | =List String= | Content for =Course Alignment.html= page. | + |------------------------+----------------+-------------------+-----------------------------------------------------| + +* Experiment + + Each experiment record should contain the following information: + + |--------------+-----------+------------------+------------------------------------------| + | Field | Type | Source | Description | + |--------------+-----------+------------------+------------------------------------------| + | *name* | =String= | Hosting Request | Name of the Experiment as displayed on | + | | | | the Experiment pages. | + |--------------+-----------+------------------+------------------------------------------| + | *short-name* | =String= | Hosting Engineer | Unique short name for the experiment. | + | | | | Used in the url path for the experiment. | + |--------------+-----------+------------------+------------------------------------------| + | *repo* | =URL= | Hosting Request | URL of the remote repository for the | + | | | | experiment sources. | + |--------------+-----------+------------------+------------------------------------------| + | *tag* | =String= | Hosting Request | Tag of the repository to be used. | + |--------------+-----------+------------------+------------------------------------------| + | *deploy* | =Boolean= | Hosting Engineer | Should the experiment be deployed. | + |--------------+-----------+------------------+------------------------------------------| + + The information comes from two sources: Hosting Request and Hosting + Engineer. The hosting engineer has to provide a unique =short-name= + for the experiment which is used for the experiment deployment path. + All other values should be taken from the Hosting Request. + + +** Example + + #+BEGIN_SRC js + + { + "name": "Performance Characteristics of Centrifugal Pump", + "short-name": "centrifugal-pump", + "repo": "http://vlabs.ac.in/gitlab/central-hosting/fluid/centrifugal-pump-nitk.git", + "tag": "v1.0.1", + "deploy": true + } + + #+END_SRC + +* Empty Lab descriptor + + Following is a lab descriptor file which has not been filled. Use + this as a starting point to create the lab descriptor for your lab. + + #+BEGIN_SRC js :eval no :noweb yes :mkdirp yes :tangle ./lab-descriptor.json + { + "broadArea": { + "name": "", + "link": "" + }, + "lab": "", + "lab_display_name": "", + "deployLab": , + "phase": , + "collegeName": "", + "baseUrl": "", + "introduction": "", + "experiments": [], + "targetAudience": { + "UG": [], + "PG": [] + }, + "objective": "", + "courseAlignment": { + "description": "", + "universities": [] + } + } + #+END_SRC + +* Sample Lab Descriptor + + Following lab descriptor is used for testing. + + #+BEGIN_SRC js :eval no :noweb yes :mkdirp yes :tangle ./sample-lab-descriptor.json + + { + "broadArea": { + "name": "Civil Engineering", + "link": "http://vlab.co.in/broad-area-civil-engineering" + }, + "lab": "Fluid Machinery", + "lab_display_name": "Fluid Machinery", + "deployLab":true, + "phase": 3, + "collegeName": "NITS", + "baseUrl": "http://localhost", + "introduction": "Welcome to fluid macninery lab!", + "experiments": [ + { + "name": "Performance Characteristics of Centrifugal Pump", + "short-name": "centrifugal-pump", + "repo": "http://vlabs.iitb.ac.in/gitlab/vlabs-dev-central-hosting/fluid-machinery-nitk/performance-characteristics-centrifugal-pump-nitk.git", + "tag": "v1.0.0", + "deploy": true + }, + { + "name": "Performance Characteristics of Hydraulic Ram", + "short-name": "hydraulic-ram", + "repo": "http://vlabs.iitb.ac.in/gitlab/vlabs-dev-central-hosting/fluid-machinery-nitk/performance-characteristics-hydraulic-ram-nitk.git", + "tag": "v1.0.0", + "deploy": true + } + ], + "targetAudience": { + "UG": [ + "B. Tech./ B.E in Civil Engineering" + ], + "PG": [ + "MS/Ph. D. Beginners in Civil Engineering and related topics" + ] + }, + "objective": "Hello World.", + "courseAlignment": { + "description": "course are listed here:", + "universities": [ + "Visvesvaraya Technological University Karnataka", + "National Institute of Technology Karnataka Karnataka", + "Anna University Tamil Nadu", + "SRM University Delhi - NCR Sonepat Haryana", + "University of Kerala Kerala", + "APJ Abdul Kalam Technological University Kerala", + "CUSAT Kerala" + ] + } + } + + #+END_SRC diff --git a/docs/latex.md b/docs/latex.md new file mode 100644 index 00000000..769d82e4 --- /dev/null +++ b/docs/latex.md @@ -0,0 +1,43 @@ +--- +title: latex +author: "Shreyash Jain and Aditya Malhotra" +audience: "Experiment Developer" +date: 2023-05-11T13:49:21.348Z +phase: "Ext Phase 3" +summary: "This document describes the how to enable the latex support in your experiment." +tags: [] +--- + +## Introduction +We have incorporated the support for rendering math following the commonly used KaTeX syntax into our build pipeline. +You can write KaTeX syntax in both Markdown as well as Assessment(JSON) files. Which will be rendered into maths automatically by our tool. + +## How to use +To enable LaTeX rendering in your experiment, you need to add the following line in your experiment descriptor file: +```json +"LaTeXinMD": true +``` + +## How to verify +To verify that the LaTeX is working properly, you can add the following line in your Markdown file: +```markdown +$$ +\frac{1}{2} +$$ +``` +This will render the following equation: +$$ +\frac{1}{2} +$$ + +You can view the rendered equation in the deployed experiment. + +## Important Points +1. You can use LaTeX in both Markdown and Assessment(JSON) files. +2. You need to add the following line in your experiment descriptor file to enable LaTeX in Markdown files: +```json +"LaTeXinMD": true +``` +3. LaTeX is enabled by default in Assessment(JSON) files. + + diff --git a/docs/plugins.org b/docs/plugins.org new file mode 100644 index 00000000..12641370 --- /dev/null +++ b/docs/plugins.org @@ -0,0 +1,76 @@ +#+TITLE: PLUGINS + +* Introduction +This document describes the components of the lab and experiment +architecture that can be redesigned as independent systems and +included in the the lab architecture + + +* Plugin Arcitecture +The plugin architecture is based on the idea of separating the core +application from additional features in order to achieve the +following: + +- Ease of Extension :: When the application is modelled as a + composition of several features put together as independent + plugins, it becomes easy to add/remove/modify the features as and + when needed. + +- Plugins can be indenpendently developed and maintained :: Plugins + can be devloped by as separate projects that can be simply + imported and used by the core system. + +There are two main components in a plugin based system: The Core and +Extensions. + + +** Core +The core is the basic application. This core is kept as simple as +possible and only conatains business logic. All the features are +separated into plugins. + +In case of the lab build process, the core of the application consists +of the lab and experiment related data (lab name, broad area, list of +experiments etc.) and logic (processing pipeline, url schemes, +configurations etc.). + + +** Extensions/Plugins +Any feature that is not related to the application domain, can be +separated as a plugin. In the Lab and Experiment build processes the +following features can be separated as plugins. + +- Page +- Content Rendering +- Content Dependency Validation +- Analytics +- Feedback +- Discussion Forum +- Ratings +- Component Units like code assessment + +*** Analytics +Analytics feature tracks the usage of lab and experiment webpages. +This feature is not unique to the Virtual Labs. It is widely used by +websites to measure the activities of visiting users. As a result +there are several tools available for performing website analytics. +Currently we at Virtual Labs use Google Analytics, but it is not the +only option avaiable. + +Additionally, there are scenarios where analytics is not needed. For +example, while developing and testing an experiment/lab, analytics is +not required. So, we need the ability to enable/disable analytics. + +The details of analytics are provided in [[file:analytics.org][this]] document. + +As of now, the process to add analytics to any page is included in the +page building process which in turn depends of the kind of page (is it +a lab page or an experiment page). + +The first step towards creating a plugin for analytics requires +separating the page building process from the core. + +* References + +https://medium.com/omarelgabrys-blog/plug-in-architecture-dec207291800 + diff --git a/docs/quiz.md b/docs/quiz.md new file mode 100644 index 00000000..8d5b0b4c --- /dev/null +++ b/docs/quiz.md @@ -0,0 +1,233 @@ +# Quiz +### 1. Introduction +The quiz section is designed as part of the experiment to assess students' learning and understanding. It allows for the creation of multiple-choice, single-answer quizzes. The quiz can be used for different purposes: + +* Pretest: To assess prerequisite knowledge before starting. +* Posttest: To test understanding after completing the module. +* Learning Unit Quizzes: To evaluate the knowledge gained from specific sections of the content. + +The quiz implementation format is explained below. + +### 2. Target Audience +This guide is intended for developers building experiments the virtual lab and aiming to include a quiz section in the experiment. + +### 3. Structure of quiz +The quiz is structured in a JSON file format. The quiz questions must be represented as an array of objects. Each object corresponds to a question. Below are the specifications for the quiz format : + +### 3.1 Array of Questions +Each question in the quiz is defined with the following attributes: +* **question:** This represents the question to be asked. +* **answers:** This contains the possible answer choices, each labeled (for example, as a, b, c, and d). +* **correctAnswer:** The correct option for the question, specified by the corresponding letter. + +Example: + +``` +"questions" : [ + { + "question" : "What is 1+2 ?", + "answers" : + { + "a" : 1, + "b" : 2, + "c" : 3, + "d" : 4 + }, + "correctAnswer" : c + } +] +``` +### 3.2 Explanation of Keys: + +* "question": The text to be displayed as the question. +* "answers": An object of key-value pairs where the key is a label (a, b, c, d), and the value is the corresponding answer choice. +* "correctAnswer": The correct answer's label (e.g., a, b, c, or d). + +### 3.3 Best Practices for Writing Questions: +* Design the questions clear and unambiguous. +* Ensure that only one answer is correct. +* Provide distinct and not confusing answer choices. +* The correct answer key should always correspond to the correct option in the answers field. + +### 4. Quiz V2.0 (Enhancements done) +The new format of quiz has multiple new additions. The details for which have been described below. +The format of json would be as linked [here](./pretest.json) + +First we will look at the additional fields added + +### 4.1 Fields +* Mandatory Fields + * [version](#42-version) - Ensures the enhanced quiz is rendered correctly. + * [levels](#44-levels) - Adds difficulty levels to each question, allowing for filtering. + +* Optional Fields + * [explanations](#43-explanations) - Adds an explanation to each answer. If wrong answer is choosen, only it's explanation pops up. If correct answer is choosen, all available explanations pop up. + +### 4.2 Version +The very first field is absolutely necessary. This ensures that the quiz supports the new features. +``` +"version": 2.0 +``` + +### 4.3 Explanations +The explanations section shows up after a question is answered. It is optional and can be omitted entirely. Below are examples of how to structure the explanations: + +1. All answers have explanations +``` +"explanations": { + "a" : "Explanation 1", + "b" : "Explanation 2", + "c" : "Explanation 3", + "d" : "Explanation 4" +}, +``` +2. Some answers have explanations +``` +"explanations": { + "a" : "Explanation 1", + "d" : "Explanation 4" +}, +``` + +3. No answers have explanations +``` +/* Can be excluded from json */ +``` + +### 4.4 Levels +The difficulty level for each question is mandatory and allows filtering. The available difficulty levels are: +``` +['beginner', 'intermediate', 'advanced'] +``` +Using any other will not work. The format for the same: +``` +"difficulty" : "beginner" +``` + +### 5. Tips +1. **Rich Text in explanations** +Explanations can include HTML-formatted rich text, allowing features like hyperlinks and text formatting. +``` +"explanations": { + "a" : "Explanation 1 here", + "b" : "Explanation 2" +}, +``` +[Example](https://github.com/virtual-labs/exp-stacks-queues-iiith/blob/main/experiment/pretest.json) + +2. **Multi Correct Questions** +To mimic multi-correct questions, you can structure the options within the question itself and offer options like: +``` + "answers" : + { + "a" : "both i and ii", + "b" : "All i, ii, iii, iv", + "c" : "Only i", + "d" : "None of the above" + } +``` +[Example](https://github.com/virtual-labs/exp-Effect-field-gradient-iiith/blob/main/experiment/pretest.json) + +3. **Image Support** +Images can be added to both question and answers. + +* **Image in question** : +``` +"questions" : [ + { + "question": "$\\\\$ question image", + "answers" : + { + "a" : 1, + "b" : 2, + "c" : 3, + "d" : 4 + }, + "correctAnswer" : c, + "explanations": {}, + "difficulty": "intermediate" + } +] +``` + +* **Image and Text in question** : +``` +"questions" : [ + { + "question": "This is an example question $\\\\$
question image", + "answers" : + { + "a" : 1, + "b" : 2, + "c" : 3, + "d" : 4 + }, + "correctAnswer" : c, + "explanations": {}, + "difficulty": "advanced" + } +] +``` +The same two cases apply for answers too. +[Example](https://github.com/virtual-labs/exp-convolutional-codes-iiith/blob/dev/experiment/posttest.json) + +* **Multiple lines in the Text in question** : +``` +"questions" : [ + { + "question": "This is an example question
Text line 1
Text line 2", + "answers" : + { + "a" : 1, + "b" : 2, + "c" : 3, + "d" : 4 + }, + "correctAnswer" : d, + "explanations": {}, + "difficulty": "beginner" + } +] +``` +[Example](https://github.com/virtual-labs/exp-bubble-sort-iiith/blob/main/experiment/posttest.json) + +4. **Debugging through JSON validator** +Please consider running your JSON files through a JSON validator like https://jsonlint.com/ for smoother debugging. + +**Make sure the image aspect ratio remains constant and good to maintain the structure** + +### 6. Manual Validation of Quiz Json (wrt version 2.0) +Until automatic validation is set up, manually check: +* The first field has to be "version" with 2 or 2.0 as value. +* The questions field needs to be an array of objects containing questions. +* Each question object should have + * question : Should be a string + * answer : Should be an object containing options, and each option should be a string. + * difficulty : Should be a string and should have values from ["beginner", "intermerdiate", "advanced"] + * correctAnswer : Should be a string and it's value should be present in keys of one of the answer. +* If explanation is present, it has to be an object and needs to follow the description of answer object. + +### 7. Test Cases +- [x] Using the mentioned quiz format +- [x] Using the old quiz json format +- [ ] Not including the version in json +- [ ] Including incorrect version in json +- [ ] Including correct version but following old format +- [x] Difficulty not mentioned +- [x] Incorrect difficulty level mentioned +- [x] Explanation not provided for all options +- [x] Explanation not mentioned +- [x] Explanation object not defined +- [x] HTML in question (tags like hyper links, bold etc) +- [x] HTML in answer (tags like hyper links, bold etc) +- [x] HTML in explanation (tags like hyper links, bold etc) +- [x] On wrong answer, the corresponding answer text is colored red +- [x] On correct answer, the corresponding answer text is colored green +- [x] Combination of filters working properly +- [x] If all questions have same difficulty, filter option should be hidden. +- [x] When questions are answered after filtering, marks should be counted out of filtered questions, not total. +- [x] On wrong answer, only explanation of wrong answer is shown +- [x] On correct answer, all available explanations are shown + +### 8. TODO +* Add automatic schema validation \ No newline at end of file diff --git a/docs/templates.org b/docs/templates.org new file mode 100644 index 00000000..d9ab03b3 --- /dev/null +++ b/docs/templates.org @@ -0,0 +1,8 @@ +#+TITLE: TEMPLATES + +This document describes the templates used for building experiment and +lab pages. + +* LAB TEMPLATES + +* EXPERIMEMT TEMPLATES diff --git a/docs/units.dia b/docs/units.dia new file mode 100644 index 00000000..6e92189f Binary files /dev/null and b/docs/units.dia differ diff --git a/docs/units.org b/docs/units.org new file mode 100644 index 00000000..4550f761 --- /dev/null +++ b/docs/units.org @@ -0,0 +1,107 @@ +#+TITLE: UNITS - DESIGN + +* Introduction +This document describes the classes used for implementing the +experiment model. + +* Enums +Enums (Enumerated types) are used here to define the datatypes for +different elements. + +These are used for two reasons: +- Central place for defining all the types +- Validation of inputs (descriptors) + +The module that implements these enums also defines the validation +function for each of then. The validation functions are used to +verify the input (string). The input strings have to match exactly +with the given string representations, otherwise the validation fails. + +*Note for future enhancement:* /This should be moved to a json +schema. The schema already has features to validate inputs. See the +following issue for details: [[https://gitlab.com/vlead/task-allocation/-/issues/95][95]]/ + + +** UnitTypes +The =UnitTypes= record defines the valid unit types. + +|------+-----------------------| +| Type | String Representation | +|------+-----------------------| +| LU | "lu" | +| TASK | "task" | +| AIM | "aim" | +|------+-----------------------| + +** ContentTypes +Content Types represent the types of content available for building +pages. + +|------------+-----------------------| +| Type | String Representation | +|------------+-----------------------| +| TEXT | "text" | +| VIDEO | "video" | +| SIMULATION | "simulation" | +| ASSESMENT | "assesment" | +| COMPONENT | "component" | +|------------+-----------------------| + +** BuildEnvs +The build environments used for configuring the build process. + +|------------+-----------------------| +| Type | String Representation | +|------------+-----------------------| +| PRODUCTION | "production" | +| TESTING | "testing" | +| LOCAL | "local" | +|------------+-----------------------| + +The local mode is not yet implemented, it's just an idea. + +The main difference between testing and production environments: + +|-------------------------------+----------+------------| +| Feature | Testing | Production | +|-------------------------------+----------+------------| +| Analytics | DISABLED | ENABLED | +| Breadcrumbs with links to lab | DISABLED | ENABLED | +|-------------------------------+----------+------------| + +The reason why breadcrums are disabled in testing mode is because the +testing mode was initially designed to be used with individual +experiment build process. When the experiments are built +individually, the lab level information is not available, so the links +to lab pages are not generated. + +** Future Improvement +The analytics and breadcrumbs features are coupled together. There +should be a configuration option that allows the developers to +enable/disable features for each mode. + +This can only be properly achieved when we move to the plugin based +architecture. + +* Unit + +=Unit= is the base class for all types of units in an experiment. It +defines the common attributes in all units. + +* LearningUnit +The =LearningUnit= class inherits from the =Unit= class. It has an +additional field called =units=. This field defines the list of units +contained in this unit. + +* Task +Defines the =Task= class. Inherits from =Unit=. Difference between +=Task= and =LearningUnit= classes: + +- Tasks have a corresponding =source= and =target (html)= page. +- Learning units can contains other units. + + +* Aim +=Aim= inherits from Task. It is a special kind of task which acts as +the entry point for each learning unit. Each learning unit should +have an aim. diff --git a/docs/units.png b/docs/units.png new file mode 100644 index 00000000..36dbbf94 Binary files /dev/null and b/docs/units.png differ diff --git a/docs/usage.org b/docs/usage.org new file mode 100644 index 00000000..1a0ddab0 --- /dev/null +++ b/docs/usage.org @@ -0,0 +1,14 @@ +#+TITLE: USAGE GUIDE + +* INTRODUCTION + +This document describes the various tools provided in this repository +and how to use them. + +* TOOLS + +- lab descriptor verification :: + +- building a lab :: + +- building an experiment :: diff --git a/docs/using-node.md b/docs/using-node.md new file mode 100644 index 00000000..a439c516 --- /dev/null +++ b/docs/using-node.md @@ -0,0 +1,65 @@ +# Run the build script using node + +1. To run the build script using nodejs, you have to clone this repository in your experiment project folder. +2. Then, you have to install the dependencies using the following command: +```bash +npm install +``` +3. After that, you can run the build script using the following commands and options: +```bash +Usage: node main.js [mode] [options] +Modes: + build Build the experiment + validate Validate the code and content + clean Clean the build and plugins + deploy Deploy the experiment locally + buildLab Build the lab + deployLab Deploy the lab locally + + +Common Options: + --src path to the experiment, default is parent directory + --debug enable debug mode + --help display help for command + + +Mode: build +Usage: build [options] +Options: + --clean clean build folder + --validateEslint validate the code using eslint + --validateExpDesc validate the experiment description and assessment files + --disablePlugin disable the plugins + --deploy deploy the experiment locally + --env environment to build the experiment + + +Mode: Validate +Usage: validate [options] +Options: + --validateEslint validate the code using eslint + --validateExpDesc validate the experiment description and assessment files + + +Mode: clean +Usage: clean + + +Mode: deploy +Usage: deploy + + +Mode: buildLab +Usage: buildLab [options] +Options: + --src path to the lab, default is parent directory + --deploy deploy the lab locally + --release release type of the lab, default is minor + + +Mode: deployLab +Usage: deployLab [options] +Options: + --src path to the lab, default is parent directory + --release release type of the lab, default is minor +``` diff --git a/docs/using_npm_package.md b/docs/using_npm_package.md new file mode 100644 index 00000000..cc1926e7 --- /dev/null +++ b/docs/using_npm_package.md @@ -0,0 +1,23 @@ +# Run Build Script using npm package + +1. To run the build script using the npm package you need to make sure that the experiment has package.json file in the root directory. If you don't have one, you can create it by running the following command in the root directory of your experiment: +```bash +npm init -y +``` +2. After initialising the experiment as a node project, you can run the build script by running the following command: +```bash +Usage: npx @virtual-labs/buildexp [command] +Options: +Commands: + build-exp Build the experiment + build-exp-deploy Build the experiment and deploy locally + build-exp-noplugin Build the experiment without using any plugins + clean-build-exp Clean and build the experiment + validate Validate the code and content + clean Clean the build and plugins + deploy Deploy the experiment locally + build-lab Build the lab + deploy-lab Deploy the lab locally + build-and-deploy-lab Build and deploy the lab locally + help Display help for command +``` diff --git a/enums.js b/enums.js new file mode 100644 index 00000000..70782400 --- /dev/null +++ b/enums.js @@ -0,0 +1,76 @@ +const UnitTypes = { + LU: "lu", + TASK: "task", + AIM: "aim", +}; + +const ContentTypes = { + TEXT: "text", + VIDEO: "video", + SIMULATION: "simulation", + ASSESMENT: "assesment", + ASSESSMENT: "assessment", + COMPONENT: "component", +}; + +const BuildEnvs = { + PRODUCTION: 'production', + TESTING: 'testing', + LOCAL: 'local' +}; + +const PluginScope = { + EXPERIMENT: 'experiment', + PAGE: 'page', + POSTBUILD: 'postbuild' +}; + +const PluginConfig = { + Default: { + JS_MODULE: 'js/main.js', + CSS_MODULE: 'css/main.css', + }, +}; + +const DeveloperInstitutes = ["AMRT", "COEP", "DLBG", "IIITH", "IITB", "IITD", "IITG", "IITK", "IITKGP", "IITR", "NITK"]; + +function validType(t, v) { + return Object.values(t).includes(v); +} + +function validUnitType(ut) { + if (validType(UnitTypes, ut)) { + return ut; + } else { + throw new Error("Invalid unit type"); + } +} + +function validContentType(ct) { + if (validType(ContentTypes, ct)) { + return ct; + } else { + throw new Error("Invalid content type"); + } +} + +function validBuildEnv(e) { + if (validType(BuildEnvs, e)) { + return e; + } else { + throw new Error("Invalid build environment"); + } +} + +module.exports = { + UnitTypes, + ContentTypes, + BuildEnvs, + PluginScope, + PluginConfig, + DeveloperInstitutes, + validType, + validContentType, + validUnitType, + validBuildEnv +}; diff --git a/exp_build/.eslintrc.js b/exp_build/.eslintrc.js new file mode 100644 index 00000000..7444e52f --- /dev/null +++ b/exp_build/.eslintrc.js @@ -0,0 +1,14 @@ +module.exports = { + "env": { + "browser": true, + "es2021": true + }, + "extends": "eslint:recommended", + "parserOptions": { + "ecmaVersion": "latest", + "sourceType": "module" + }, + "rules": { + }, + "plugins": ["only-warn"] +} diff --git a/exp_build/aim.js b/exp_build/aim.js new file mode 100644 index 00000000..26338af7 --- /dev/null +++ b/exp_build/aim.js @@ -0,0 +1,26 @@ +const { Task } = require("./task.js"); +const { + UnitTypes, + ContentTypes, + validType, + validContentType, +} = require("../enums.js"); + +class Aim extends Task { + constructor(basedir, lu_label, exp_path) { + super( + UnitTypes.AIM, + "Aim", + ContentTypes.TEXT, + exp_path, + basedir, + "aim.md", + "index.html", + [], + [], + lu_label + ); + } +} + +module.exports = { Aim }; diff --git a/exp_build/exp_gen.js b/exp_build/exp_gen.js new file mode 100644 index 00000000..5a7f647e --- /dev/null +++ b/exp_build/exp_gen.js @@ -0,0 +1,95 @@ +const fs = require("fs"); +const path = require("path"); +const Handlebars = require("handlebars"); +const shell = require("shelljs"); + +const { Experiment } = require("./experiment.js"); +const Config = require("../config.js"); +const { Plugin } = require("./plugin.js"); +const { PluginScope } = require("../enums.js"); +const log = require("../logger.js"); + + +function copyFileSync(src, dest, options = {}) { + + try { + fs.copyFileSync(src, dest); + } catch (e) { + log.error(`Error while copying ${src} to ${dest}::${e}`); + return 1; + } + return 0; +} + +function run(src, lab_data, build_options) { + log.debug(`Running build process at ${src}`); + // if the experiment repo does not contain experiment descriptor we will add the default descriptor. + if (!shell.test("-f", Experiment.descriptorPath(src))) { + // shell.cp( + copyFileSync( + path.resolve(Config.PROJECT_ROOT, Config.Experiment.default_descriptor), + path.resolve(this.src, Experiment.descriptorPath(src)) + ); + } + + const exp = new Experiment(src); + const pluginConfigFile = Plugin.getConfigFileName(build_options.env); + const pluginConfig = require(pluginConfigFile); + + const pageScopePlugins = pluginConfig.filter( + (p) => p.scope === PluginScope.PAGE + ); + + pageScopePlugins.forEach((plugin) => { + if (plugin.id === "svc-rating") { + plugin.attributes.columnValue = lab_data.exp_short_name; + } + }); + + const code_assessment = exp.descriptor["code-assessment"]; + + // Include code-assessment.json if the code editor is included + if (code_assessment && code_assessment.include) { + log.info("Code Editor included"); + build_options.codeditor = true; + build_options.code_assessment = code_assessment; + exp.includeCodeEditor(code_assessment.position); + } + else { + build_options.codeditor = false; + log.info("Code Editor Not included"); + } + + const services = exp.descriptor["services"]; + + if (services && services.length > 0) { + build_options.services = services; + } + + exp.init(Handlebars); + // Validation + if (build_options.isValidate) { + exp.validate(build_options); + } + + // if the experiment repo contains contributors.md file we will add its lu to the descriptor. + if (shell.test("-f", Experiment.contributorsPath(src))) { + if ( + shell + .head({ "-n": 1 }, Experiment.contributorsPath(src)) + .includes("EMPTY") + ) { + log.warn("Contributors.md file is empty, please add contributors to the file."); + } else { + exp.includeContributors(); + } + } + else { + log.warn("Contributors.md file is not present, please add contributors to the experiment."); + } + exp.includeFeedback(); + exp.build(Handlebars, lab_data, build_options); +} + +module.exports.run = run; +module.exports.build_experiment = run; \ No newline at end of file diff --git a/exp_build/experiment.js b/exp_build/experiment.js new file mode 100644 index 00000000..1503e8c0 --- /dev/null +++ b/exp_build/experiment.js @@ -0,0 +1,304 @@ +const path = require("path"); +const fs = require("fs"); +const { renderMarkdown } = require("./renderer.js"); +const process = require("process"); +const shell = require("shelljs"); + +const Config = require("../config.js"); +const { LearningUnit } = require("./learning_unit.js"); +const { Task } = require("./task.js"); +const { + UnitTypes, + ContentTypes, + BuildEnvs, + PluginScope, +} = require("../enums.js"); +const { Plugin } = require("./plugin.js"); +const log = require("../logger.js"); + +function getAssessmentPath(src, units) { + let assessmentPath = []; + units.forEach((unit) => { + if (unit["unit-type"] === "lu") { + const nextSrc = path.resolve(src, unit.basedir); + let paths = getAssessmentPath(nextSrc, unit.units); + assessmentPath.push(...paths); + } + if (unit["content-type"] === ContentTypes.ASSESMENT || unit["content-type"] === ContentTypes.ASSESSMENT) { + const quiz = path.resolve(src, unit.source); + assessmentPath.push(quiz); + } + }); + return assessmentPath; +} + +class Experiment { + constructor(src) { + this.src = src; + this.descriptor = require(Experiment.descriptorPath(src)); + } + + static ui_template_path = path.resolve( + __dirname, + Config.Experiment.ui_template_name + ); + + static static_content_path = path.resolve( + __dirname, + Config.Experiment.static_content_dir + ); + + static descriptorPath(src) { + return path.resolve(src, Config.Experiment.descriptor_name); + } + + static codeAssessmentPath(src) { + return path.resolve(`${src}/experiment`, "code-assessment.json"); + } + + static contributorsPath(src) { + return path.resolve(`${src}/experiment`, "contributors.md"); + } + + static registerPartials(hb) { + Config.Experiment.partials.forEach(([name, file]) => { + const partial_content = fs.readFileSync( + path.resolve( + Experiment.ui_template_path, + "partials", + `${file}.handlebars` + ) + ); + hb.registerPartial(name, partial_content.toString()); + }); + } + + init(hb) { + try { + log.debug("Initializing experiment"); + const bp = Config.build_path(this.src); + shell.mkdir(path.resolve(this.src, Config.Experiment.build_dir)); + shell.cp("-R", path.resolve(this.src, Config.Experiment.exp_dir), bp); + shell.cp("-R", Config.assets_path(), bp); + + // Copy the Katex CSS and fonts to the build directory in assets/katex_assets + log.debug("Moving Katex assets"); + shell.mkdir(path.resolve(bp, "assets", "katex_assets")); + const pathtoKatex = require.resolve("katex") + const katex_assets_path = path.dirname(pathtoKatex); + shell.cp( + "-R", + path.resolve(katex_assets_path, "katex.min.css"), + path.resolve(bp, "assets", "katex_assets") + ); + shell.cp( + "-R", + path.resolve(katex_assets_path, "fonts"), + path.resolve(bp, "assets", "katex_assets") + ); + + log.debug("Moving feedback file"); + shell.cp( + "-R", + path.resolve(Experiment.static_content_path, "feedback.md"), + bp + ); + + log.debug("Linking with Handlebars"); + Experiment.registerPartials(hb); + } catch (e) { + log.error("Error initializing experiment", e); + log.error("Exiting Build Process"); + process.exit(); + } + } + + validate(build_options) { + log.debug("Validating experiment"); + const buildPath = Config.build_path(this.src); + const expPath = path.resolve(this.src, Config.Experiment.exp_dir); + if (build_options.isESLINT) { + try { + log.debug("Validating with eslint"); + shell.exec(`npx eslint -c ${__dirname}/.eslintrc.js ${expPath} > ${buildPath}/eslint.log`); + } catch (e) { + log.error("Error validating with eslint", e); + } + } + if (build_options.isExpDesc) { + const descriptorPath = Experiment.descriptorPath(this.src); + const descriptor = require(descriptorPath); + const pathToValidator = path.resolve(__dirname, "../validation/validate.js"); + try { + log.debug("Validating experiment descriptor"); + shell.exec(`node ${pathToValidator} -f ${descriptorPath} >> ${buildPath}/validate.log`); + } catch (e) { + log.error("Error validating experiment descriptor", e); + } + // loop through the units and validate the content + try { + log.debug("Validating Assessment files"); + const assessmentPath = getAssessmentPath(expPath, descriptor.units); + assessmentPath.forEach((file) => { + if (fs.existsSync(file)) { + // trim ep from file + const fileName = file.replace(expPath, ""); + shell.exec(`echo =${fileName} >> ${buildPath}/assesment.log`); + shell.exec( + `node ${pathToValidator} -f ${file} -c assessment >> ${buildPath}/assesment.log` + ); + } else { + log.error(`Assessment file ${path} does not exist`); + } + }); + } catch (e) { + log.error("Error validating Assessment files", e); + } + } + if (build_options.codeditor) { + try { + log.debug("Validating with Code Assessment"); + const codeAssessmentPath = path.resolve(expPath, './code-assessment.json'); + const pathToValidator = path.resolve(__dirname, "../validation/validate.js"); + shell.exec(`node ${pathToValidator} -f ${codeAssessmentPath} >> ${buildPath}/code-assessment.log`); + } catch (e) { + log.error("Error validating with eslint", e); + } + } + } + name() { + const name_file = fs.readFileSync( + path.resolve(Config.build_path(this.src), "experiment-name.md") + ); + return renderMarkdown(name_file.toString()); + } + + generateServiceWorker(buildPath) { + const { generateSW } = require("@virtual-labs/service_worker"); + const expPath = path.resolve(this.src, Config.Experiment.exp_dir); + let inputPath = ""; + // check if the user has provided a service worker file path and if so, check if it exists + if (this.descriptor['service-worker']) { + const swPath = path.resolve(expPath, this.descriptor['service-worker']); + if (fs.existsSync(swPath)) { + inputPath = swPath; + } else { + log.warn(`Service worker file ${swPath} does not exist`); + } + } else { + log.warn("No service worker file provided"); + } + const swDest = path.resolve(buildPath, "sw.js"); + generateSW(inputPath, buildPath, swDest); + } + + build(hb, lab_data, options) { + /* + here we are assuming that the descriptor contains a simgle object + that represents the learning unit corresponding to the experiment. + */ + log.debug(`Building experiment`); + const explu = LearningUnit.fromRecord(this.descriptor, this.src); + const exp_info = { + name: this.name(), + menu: explu.units, + src: this.src, + bp: Config.build_path(this.src) + "/", + }; + + if(options.codeditor) { + const [codeditor_id, div_id, js_modules, css_modules] = Plugin.loadCodeAssessment(options); + exp_info.codeditor_id = codeditor_id; + exp_info.codeditor_div_id = div_id; + exp_info.codeassessment_js_modules = js_modules; + exp_info.codeassessment_css_modules = css_modules; + exp_info.codeassessment_languages = options.code_assessment.languages; + } + + if (options.plugins) { + Plugin.loadAllPlugins(options); + exp_info.plugins = Plugin.processExpScopePlugins( + exp_info, + hb, + lab_data, + options + ); + } + explu.build(exp_info, lab_data, options); + // post build + if (options.plugins) { + Plugin.processPostBuildPlugins(exp_info, options); + } + + // generate service worker + this.generateServiceWorker(exp_info.bp); + /* + This "tmp" directory is needed because when you have a sub-directory + with the same name, it can cause issue. So, we assume that there should + not be any sub-directory with "tmp" name, and first move the contents to tmp + before moving the contents to the top level directory. + */ + const tmp_dir = path.resolve(this.src, Config.Experiment.build_dir, "tmp"); + shell.mv(path.resolve(Config.build_path(this.src)), tmp_dir); + shell.mv( + path.resolve(tmp_dir, "*"), + path.resolve(this.src, Config.Experiment.build_dir) + ); + shell.rm("-rf", tmp_dir); + } + + includeFeedback() { + const feedbackLU = { + "unit-type": "task", + label: "Feedback", + "content-type": "text", + source: "feedback.md", + target: "feedback.html", + }; + + this.descriptor.units.push(feedbackLU); + } + + includeContributors() { + const contributors = { + "unit-type": "task", + label: "Contributors", + "content-type": "text", + source: "contributors.md", + target: "contributors.html", + }; + this.descriptor.units.push(contributors); + } + + includeCodeEditor(position = 5) { + const codeditor = { + "target": "code-assessment.html", + "label": "Code Assessment", + "source": "code-assessment.json", + "unit-type": "task", + "content-type": "component", + }; + this.descriptor.units.splice(position,0,codeditor); + } +} + +module.exports = { Experiment }; + +// need to handle optional menu items + +/* + +TODO + +Removing this becaiuse it is optional and we have not yet handled +the case. + + { + "target": "posttest.html", + "source": "posttest.js", + "label": "Posttest", + "unit-type": "task", + "content-type": "assesment" + }, + +*/ diff --git a/exp_build/learning_unit.js b/exp_build/learning_unit.js new file mode 100644 index 00000000..7bb56179 --- /dev/null +++ b/exp_build/learning_unit.js @@ -0,0 +1,85 @@ +const path = require("path"); +const fs = require("fs"); +const marked = require("marked"); +const process = require("process"); +const Handlebars = require("handlebars"); +const shell = require("shelljs"); + +const {Unit} = require("./unit.js"); +const {Task} = require("./task.js"); +const {Aim} = require("./aim.js"); + +const {UnitTypes, ContentTypes, validType, validContentType} = require("../enums.js"); +const log = require("../logger.js"); + +class LearningUnit extends Unit { + constructor( + unit_type, + label, + exp_path, + basedir, + units + ) { + super(unit_type, label, exp_path, basedir); + if (units) { + this.units = Array.from(units).map( + (u) => { + switch(u["unit-type"]){ + case UnitTypes.LU: + return LearningUnit.fromRecord(u, exp_path); + break; + case UnitTypes.TASK: + u.basedir = basedir; + return Task.fromRecord(u, label, exp_path); + break; + case UnitTypes.AIM: + return (new Aim(this.basedir, label, exp_path)); + break; + } + }); + } + else { + units = []; + } + } + + static unit_type = UnitTypes.LU; + + static fromRecord(lu, exp_path) { + const u = new LearningUnit( + lu["unit-type"], + lu["label"], + exp_path, + lu["basedir"], + lu["units"] + ); + return u; + } + + + menuItemInfo(host_path) { + return { + label: this.label, + unit_type: this.unit_type, + id: this.label.toLowerCase().replace(/ /g, '-'), + units: this.units?this.units.map(t => { + let info = t.menuItemInfo(host_path); + //console.log(info); + return info; + }):[] + }; + } + + + build(exp_info, lab_data, options) { + log.debug(`Building LU ${this.label}`); + if (this.units.length > 0) { + this.units.forEach(u => { + u.build(exp_info, lab_data, options); + }); + } + log.debug(`Finished building LU ${this.label}`); + } +} + +module.exports = {LearningUnit}; diff --git a/exp_build/plugin-config.production.js b/exp_build/plugin-config.production.js new file mode 100644 index 00000000..58eeb48a --- /dev/null +++ b/exp_build/plugin-config.production.js @@ -0,0 +1,52 @@ +const { PluginScope } = require("../enums.js"); +const issues = require("../assets_plugins/json/bug-report-questions.js"); + +const config = [ + { + id: "plugin-bug-report", + scope: PluginScope.PAGE, + js_modules: [ + "https://cdn.vlabs.ac.in/bug-report/vlabs-bug-report.js" + ], + attributes: { + issues: JSON.stringify(issues), + }, + }, + { + id: "svc-rating", + scope: PluginScope.PAGE, + repo: "https://github.com/virtual-labs/svc-rating", + tag: "v1.1.0.beta", + label: "Experiment Rating", + js_modules: [ + "https://virtual-labs.github.io/svc-rating/index.js", + "https://virtual-labs.github.io/svc-rating/config.js", + "https://apis.google.com/js/api.js", + ], + css_modules: [ + "https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.2.1/css/all.min.css", + ], + attributes: { + spreadsheetID: "1x12nhpp0QvnsA6x-O1sV4IA9SAbfVsq_wiexWkutOmU", + sheetName: "Exp-Rating-Clean", + columnName: "Experiment Short Name", + columnValue: "expName", + title: "Rate this experiment", + imagesDirectory: "https://virtual-labs.github.io/svc-rating/", + }, + + }, + { + id: "VLABS-code-editor", + div_id: "code-editor", + js_modules: [ + "https://virtual-labs.github.io/comp-code-editor/js/codeditor.js" + ], + css_modules: [ + "https://virtual-labs.github.io/comp-code-editor/css/codeditor.css" + ], + label: "Code Assessment", + }, +]; + +module.exports = config; diff --git a/exp_build/plugin-config.testing.js b/exp_build/plugin-config.testing.js new file mode 100644 index 00000000..c6576998 --- /dev/null +++ b/exp_build/plugin-config.testing.js @@ -0,0 +1,75 @@ +const { PluginScope } = require("../enums.js"); +const issues = require("../assets_plugins/json/bug-report-questions.js"); + +const config = [ + { + id: "plugin-bug-report", + scope: PluginScope.PAGE, + js_modules: [ + "https://cdn.vlabs.ac.in/bug-report/vlabs-bug-report.js" + ], + attributes: { + issues: JSON.stringify(issues), + }, + }, + { + id: "tool-performance", + scope: PluginScope.EXPERIMENT, + repo: "https://github.com/virtual-labs/tool-performance", + template: "handlebars/performance-report.handlebars", + target: "performance-report.html", + label: "Performance Tool", + }, + { + id: "tool-validation", + scope: PluginScope.EXPERIMENT, + repo: "https://github.com/virtual-labs/tool-validation", + tag: "v1.0.1", + template: "handlebars/validator-report.handlebars", + target: "validator-report.html", + label: "Validation Tool", + }, + { + id: "tool-validation", + scope: PluginScope.POSTBUILD, + repo: "https://github.com/virtual-labs/tool-validation", + tag: "v1.0.1", + command: "npm i && node js/link_validation.js", + }, + { + id: "svc-rating", + scope: PluginScope.PAGE, + repo: "https://github.com/virtual-labs/svc-rating", + tag: "v1.1.0.beta", + label: "Experiment Rating", + js_modules: [ + "index.js", + "config.js", + "https://apis.google.com/js/api.js", + ], + css_modules: [ + "https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.2.1/css/all.min.css", + ], + attributes: { + spreadsheetID: "1x12nhpp0QvnsA6x-O1sV4IA9SAbfVsq_wiexWkutOmU", + sheetName: "Experiment-Database", + columnName: "Experiment Short Name", + columnValue: "expName", + title: "Rate this experiment", + imagesDirectory: "/plugins/svc-rating/images/", + }, + }, + { + id: "VLABS-code-editor", + div_id: "code-editor", + js_modules: [ + "https://virtual-labs.github.io/comp-code-editor/js/codeditor.js" + ], + css_modules: [ + "https://virtual-labs.github.io/comp-code-editor/css/codeditor.css" + ], + label: "Code Assessment", + }, +]; + +module.exports = config; diff --git a/exp_build/plugin.js b/exp_build/plugin.js new file mode 100644 index 00000000..1379325e --- /dev/null +++ b/exp_build/plugin.js @@ -0,0 +1,284 @@ +const path = require("path"); +const fs = require("fs"); +const shell = require("shelljs"); +const { JSDOM } = require("jsdom"); + +const Config = require("../config.js"); +const { PluginConfig, PluginScope } = require("../enums.js"); +const log = require("../logger.js"); + +function setCurr(component, targetPath, subTaskFlag = false) { + let obj = { ...component }, + isCurrentItem = false; + + if (obj.unit_type === "aim") { + subTaskFlag = true; + isCurrentItem = true; + } + + if (!subTaskFlag) { + obj = component.menuItemInfo(targetPath); + } + + if (obj.unit_type === "lu") { + obj.units = [ + ...obj.units.map((subComponent) => + setCurr(subComponent, targetPath, true) + ), + ]; + } + + return { ...obj, isCurrentItem: isCurrentItem }; +} + + +// function isURL(source) { +// try { +// new URL(source); +// return true; +// } catch (e) { +// log.debug(`${source} is not a valid URL`); +// return false; +// } +// } + +function finalPath(target_path ,pluginId, modules) { + const pluginPath = path.resolve("plugins", pluginId); + let final_paths = []; + for (let module of modules) { + if(Config.isURL(module)) { + log.debug(`${module} is a valid URL`); + final_paths.push(module); + continue; + } + const absolute_path = path.resolve( + path.join(pluginPath, module) + ); + // check if the file exists + if (fs.existsSync(absolute_path)) { + log.debug(`${absolute_path} is found successfully`); + final_paths.push( + path.posix.join("/", "plugins", pluginId, module) + ); + } + else { + log.error(`${absolute_path} does not exist`); + } + } + return final_paths; +} + +function prepareRepo(repoInfo) { + log.debug(`Preparing repo ${repoInfo.id}`); + if (!fs.existsSync(repoInfo.id)) { + if (repoInfo.tag) { + shell.exec(`git clone --depth=1 ${repoInfo.repo} --branch ${repoInfo.tag}`, { silent: true }); + } + else { + shell.exec(`git clone --depth=1 ${repoInfo.repo}`, { silent: true }); + } + } else { + shell.cd(`${repoInfo.id}`); + shell.exec(`git pull`, { silent: true }); + shell.cd(".."); + } +} + +class Plugin { + static getConfigFileName(options_env) { + const env = options_env || BuildEnvs.TESTING; + const pluginConfigFile = `./plugin-config.${env}.js`; + return pluginConfigFile; + } + + static loadAllPlugins(options) { + const pluginConfigFile = Plugin.getConfigFileName(options.env); + const pluginConfig = require(pluginConfigFile); + + if (!fs.existsSync("plugins")) { + shell.exec("mkdir plugins"); + } + pluginConfig.map((plugin) => { + if(plugin.label == 'Code Assessment') { + return; + } + shell.cd("plugins"); + prepareRepo(plugin); + shell.cd(".."); + }); + } + + static loadCodeAssessment(options) { + const pluginConfigFile = Plugin.getConfigFileName(options.env); + const code_assessment = require(pluginConfigFile).find(plugin => plugin.label == "Code Assessment") + + return [code_assessment.id, code_assessment.div_id, code_assessment.js_modules, code_assessment.css_modules] + } + + static processExpScopePlugins(exp_info, hb, lab_data, options) { + log.debug("Processing experiment scope plugins"); + let pluginConfig = require(Plugin.getConfigFileName(options.env)); + + if (!options.isValidate) { + pluginConfig = pluginConfig.filter((p) => p.id !== "tool-validation"); + } + + const expScopePlugins = pluginConfig.filter( + (p) => p.scope === PluginScope.EXPERIMENT + ); + + let plugins = []; + expScopePlugins.forEach((plugin) => { + try { + const pluginPath = path.resolve("plugins", plugin.id); + const page_template = fs.readFileSync( + path.resolve(pluginPath, plugin.template) + ); + + let assets_path = path.relative( + path.dirname( + path.join(Config.build_path(exp_info.src), plugin.target) + ), + Config.build_path(exp_info.src) + ); + assets_path = assets_path ? assets_path : "."; + const cssModule = plugin.cssModule || PluginConfig.Default.CSS_MODULE; + const jsModule = plugin.jsModule || PluginConfig.Default.JS_MODULE; + + const page_data = { + experiment_name: exp_info.name, + assets_path: assets_path, + units: exp_info.menu.map((component) => + setCurr( + component, + path.join(Config.build_path(exp_info.src), plugin.target) + ) + ), + cssModule: path.join("plugins", plugin.id, cssModule), + jsModule: path.join("plugins", plugin.id, jsModule), + }; + + fs.writeFileSync( + path.join(Config.build_path(exp_info.src), plugin.target), + hb.compile(page_template.toString())(page_data) + ); + + plugins.push({ target: plugin.target, label: plugin.label }); + log.debug(`Plugin ${plugin.id} processed`); + } catch (e) { + log.error(`Error while processing plugin ${plugin.id}`); + log.error(e); + } + }); + + // shell.exec( + // `rsync -av "${path.resolve("./plugins")}" "${Config.build_path( + // exp_info.src + // )}" --exclude=.git` + // ); + // remove .git folder from all folders in plugins + shell.rm("-rf", path.resolve("./plugins", "**", ".git/")); + shell.cp("-r", path.resolve("./plugins"), Config.build_path(exp_info.src)); + return plugins; + } + + static preProcessPageScopePlugins(options) { + const pluginConfigFile = Plugin.getConfigFileName(options.env); + const pluginConfig = require(pluginConfigFile); + const pageScopePlugins = {}; + pluginConfig + .filter((p) => p.scope === PluginScope.PAGE) + .forEach((element) => { + pageScopePlugins[element.id] = element; + }); + // console.log(plugins["plugin-bug-report"].attributes.bug_options); + return pageScopePlugins; + } + + + static processPageScopePlugins(page, options) { + log.debug(`Processing page scope plugins`); + const pluginConfigFile = Plugin.getConfigFileName(options.env); + const pluginConfig = require(pluginConfigFile); + + const pageScopePlugins = pluginConfig.filter( + (p) => p.scope === PluginScope.PAGE + ); + + const html = fs.readFileSync(path.resolve(page.targetPath())); + const dom = new JSDOM(html); + const { document } = dom.window; + + pageScopePlugins.forEach((plugin) => { + // Render the Plugin UI component inside the parent + const pluginParent = document.getElementById(plugin.id); + log.debug(`Processing plugin ${plugin.id}`); + if (pluginParent) { + // Write code to process a template file and add to the parent + } + + // add the css-modules in the head + if (plugin.css_modules) { + const css_modules = finalPath(page.targetPath(), plugin.id, plugin.css_modules); + css_modules.forEach((css) => { + const cssNode = document.createElement("link"); + cssNode.rel = "stylesheet"; + cssNode.href = css; + + document.head.appendChild(cssNode); + }); + } + // add the js-modules at the bottom of the body + if (plugin.js_modules) { + const js_modules = finalPath(page.targetPath(), plugin.id, plugin.js_modules); + js_modules.forEach((mjs) => { + const scriptNode = document.createElement("script"); + scriptNode.type = "module"; + scriptNode.src = mjs; + + document.body.appendChild(scriptNode); + }); + } + log.debug(`Plugin ${plugin.id} processed`); + }); + fs.writeFileSync(page.targetPath(), dom.serialize()); + } + + static processPostBuildPlugins(exp_info, options) { + log.debug("Processing post build plugins"); + let pluginConfig = require(Plugin.getConfigFileName(options.env)); + + if (!options.isValidate) { + pluginConfig = pluginConfig.filter((p) => p.id !== "tool-validation"); + } + + const postBuildScopePlugins = pluginConfig.filter( + (p) => p.scope === PluginScope.POSTBUILD + ); + if (!fs.existsSync("plugins")) { + shell.exec("mkdir plugins"); + } + + postBuildScopePlugins.forEach((plugin) => { + try { + log.debug(`Processing plugin ${plugin.id}`); + shell.cd("plugins"); + shell.cd(`${plugin.id}`); + try { + shell.exec(`${plugin.command} ${exp_info.bp}`, { silent: true }); + } catch (e) { + log.error(`Error while executing command ${plugin.command}`); + log.error(e); + } + shell.cd(".."); + shell.cd(".."); + log.debug(`Plugin ${plugin.id} processed`); + } catch (e) { + log.error(`Error while processing plugin ${plugin.id}`); + log.error(e); + } + }); + } +} + +module.exports = { Plugin }; diff --git a/exp_build/renderer.js b/exp_build/renderer.js new file mode 100644 index 00000000..3cdc40ec --- /dev/null +++ b/exp_build/renderer.js @@ -0,0 +1,284 @@ +const marked = require("marked"); +const katex = require("katex"); +const Config = require("../config.js"); +const path = require("path"); +const shell = require("shelljs"); +const args = require("minimist")(process.argv.slice(2)); +const log = require("../logger.js"); + + +let src = "."; +if (args.src) { + src = args.src; + src = path.resolve(Config.PROJECT_ROOT, src); +} + +let LaTeXinMD = true; +let expressions = []; +let descriptorPath = path.resolve( + src, + `${Config.Experiment.descriptor_name}` +); + +if (!shell.test("-f", descriptorPath)) { + LaTeXinMD = false; +} else { + descriptor = require(descriptorPath); + LaTeXinMD = descriptor.LaTeXinMD || false; +} + +const tokenizeDoubleDollar = (md) => { + // Find all $$ by for loop + const matches = []; + for (let i = 0; i < md.length - 1; i++) { + if (md[i] === "$" && md[i + 1] === "$") { + let info = { + start: i, + end: i + 1, + type: "doubleDollar", + }; + matches.push(info); + i++; + } + } + return matches; +}; + +const tokenizeSingleDollar = (md) => { + // Find all $ by for loop + const matches = []; + for (let i = 0; i < md.length; i++) { + if (md[i] === "$") { + if (i > 0 && md[i - 1] === "$") { + continue; + } + if (i < md.length - 1 && md[i + 1] === "$") { + continue; + } + + let info = { + start: i, + end: i, + type: "singleDollar", + }; + + matches.push(info); + } + } + return matches; +}; + +const handleDoubleDollar = (matches, md) => { + let num_matches = matches.length; + num_matches = num_matches % 2 === 0 ? num_matches : num_matches - 1; + + // replace everything between $$...$$ with {{LATEX-EXPRESSSION}} + let offset = 0; + for (let i = 0; i < num_matches - 1; i++) { + let j = i + 1; + let match1 = matches[i]; + let match2 = matches[j]; + + let start1 = match1.start + offset; + let end1 = match1.end + offset; + let start2 = match2.start + offset; + let end2 = match2.end + offset; + + let latex = md.substring(start1, end2 + 1); + let expression = `{{LATEX-EXPRESSSION-${expressions.length}}}`; + expressions.push(katexRender(latex, true)); + md = md.substring(0, start1) + expression + md.substring(end2 + 1); + + offset += expression.length - latex.length; + i++; + } + return md; +}; + +const checkForNewline = (md, pos1, pos2) => { + for (let i = pos1; i < pos2; i++) { + if (md[i] === "\n") { + return true; + } + } + return false; +}; + +const handleSingleDollar = (matches, md) => { + let num_matches = matches.length; + // num_matches = num_matches % 2 === 0 ? num_matches : num_matches - 1; + + let offset = 0; + for (let i = 0; i < num_matches - 1; i++) { + let j = i + 1; + // console.log(i,j); + if ( + checkForNewline(md, matches[i].start + offset, matches[j].start + offset) + ) { + continue; + } + + let match1 = matches[i]; + let match2 = matches[j]; + + let start1 = match1.start + offset; + let end1 = match1.end + offset; + let start2 = match2.start + offset; + let end2 = match2.end + offset; + + let latex = md.substring(start1, end2 + 1); + let expression = `{{LATEX-EXPRESSSION-${expressions.length}}}`; + expressions.push(katexRender(latex, false)); + md = md.substring(0, start1) + expression + md.substring(end2 + 1); + + offset += expression.length - latex.length; + i++; + } + return md; +}; + + +// function to detect maths expression and replace it with {{LATEX-EXPRESSSION}} keyword +function preProcessData(md) { + const matchesDD = tokenizeDoubleDollar(md); + const renderedDD = handleDoubleDollar(matchesDD, md); + const matchesSD = tokenizeSingleDollar(renderedDD); + const renderedSD = handleSingleDollar(matchesSD, renderedDD); + return renderedSD; +} + +function katexRender(texString, displayMode) { + let html = ""; + + // remove all $ from texString start and end + while (texString[0] === "$") { + texString = texString.substring(1); + } + while (texString[texString.length - 1] === "$") { + texString = texString.substring(0, texString.length - 1); + } + + try { + html = katex.renderToString(texString, { displayMode: displayMode }); + } catch (e) { + if (e instanceof katex.ParseError) { + // KaTeX can't parse the expression + html = ("Error in LaTeX '" + texString + "': " + e.message) + .replace(/&/g, "&") + .replace(//g, ">"); + // wrap in to make it more visible + html = "" + html + ""; + } else { + throw e; // other error + } + } + return html; +} + +function mathsExpression(expr) { + // trim expr till both sides start with $ + while (expr[0] !== "$" && expr.length > 0) { + expr = expr.substring(1); + } + while (expr[expr.length - 1] !== "$" && expr.length > 0) { + expr = expr.substring(0, expr.length - 1); + } + + if (expr.match(/^\$\$[\s\S]*\$\$$/)) { + expr = expr.substr(2, expr.length - 4); + return katexRender(expr, true); + } else if (expr.match(/^\$[\s\S]*\$$/)) { + expr = expr.substr(1, expr.length - 2); + return katexRender(expr, false); + } +} + +function replaceCodeBlocks(html) { + + if (typeof html === "string") { + html = html.replace(/{{LATEX-EXPRESSSION-\d+}}/g, function(match) { + const index = parseInt(match.match(/\d+/)[0]); + return expressions[index]; + }); + } + return html; +} + +function renderMarkdown(md) { + log.debug("Rendering Markdown" + (LaTeXinMD ? " with LaTeX" : "")); + if (LaTeXinMD) { + expressions = []; + const preProcessedMd = preProcessData(md); + let html = marked(preProcessedMd); + html = replaceCodeBlocks(html); + return html; + } else { + return marked(md); + } +} + +function renderJSON(json) { + log.debug("Rendering JSON"); + json = JSON.parse(json); + + // check for versioning + if (json.version) { + let questions = json.questions; + questions.forEach((question) => { + // render question + let processedQuestion = preProcessData(question.question); + let questionHTML = replaceCodeBlocks(processedQuestion); + question.question = questionHTML; + + // render answers + let answers = question.answers; + for (option in answers) { + let answer = answers[option]; + let processedAnswer = preProcessData(answer); + let answerHTML = replaceCodeBlocks(processedAnswer); + question.answers[option] = answerHTML; + } + + // render explanations + let explanations = question.explanations; + for (option in explanations) { + let explanation = explanations[option]; + let processedExplanation = preProcessData(explanation); + let explanationHTML = replaceCodeBlocks(processedExplanation); + question.explanations[option] = explanationHTML; + } + }); + } + else { + // older version, list of objects + json.forEach((element) => { + + let question = element.question; + let answers = element.answers; + let corectAnswer = element.correctAnswer; + + // render question + let processedQuestion = preProcessData(question); + let questionHTML = replaceCodeBlocks(processedQuestion); + element.question = questionHTML; + + // render answers + for (option in answers) { + let answer = answers[option]; + let processedAnswer = preProcessData(answer); + let answerHTML = replaceCodeBlocks(processedAnswer); + element.answers[option] = answerHTML; + } + + // render correct answer + let processedCorrectAnswer = preProcessData(corectAnswer); + let correctAnswerHTML = replaceCodeBlocks(processedCorrectAnswer); + element.correctAnswer = correctAnswerHTML; + }); + } + + return JSON.stringify(json); +} + +module.exports = { renderMarkdown, renderJSON }; diff --git a/page-components/feedback-ctnt.html b/exp_build/static_content/feedback.md similarity index 66% rename from page-components/feedback-ctnt.html rename to exp_build/static_content/feedback.md index 609563b0..33fd1349 100644 --- a/page-components/feedback-ctnt.html +++ b/exp_build/static_content/feedback.md @@ -4,7 +4,7 @@

Feedback

Thanks for using Virtual Labs. Your opinion is valuable to us. To help us improve, we'd like to ask you a few questions about your experience. It will only take 3 minutes and your answers will help us make Virtual Labs better for you and other users.


- +

Thanks for your time !
diff --git a/exp_build/task.js b/exp_build/task.js new file mode 100644 index 00000000..d77ce79f --- /dev/null +++ b/exp_build/task.js @@ -0,0 +1,341 @@ +const path = require("path"); +const fs = require("fs"); +const { renderJSON, renderMarkdown } = require("./renderer.js"); +const process = require("process"); +const Handlebars = require("handlebars"); +const shell = require("shelljs"); + +const Config = require("../config.js"); +const { Unit } = require("./unit.js"); + +const { convert } = require("html-to-text"); + +const { + UnitTypes, + ContentTypes, + BuildEnvs, + validType, + validContentType, + PluginScope, +} = require("../enums.js"); +const { NONAME } = require("dns"); +const { Plugin } = require("./plugin.js"); + +const log = require("../logger.js"); + +class Task extends Unit { + constructor( + unit_type, + label, + content_type, + exp_path, + basedir, + source, + target, + js_modules, + css_modules, + lu + ) { + super(unit_type, label, exp_path, basedir); + this.lu = lu; + this.content_type = validContentType(content_type); + this.source = source; + this.target = target; + this.js_modules = js_modules || []; + this.css_modules = css_modules || []; + } + + static unit_type = UnitTypes.TASK; + + static fromRecord(t, lu, exp_path) { + return new Task( + t["unit-type"], + t["label"], + t["content-type"], + exp_path, + t["basedir"], + t["source"], + t["target"], + t["js_modules"], + t["css_modules"], + lu + ); + } + + menuItemInfo(host_path) { + return { + label: this.label, + unit_type: this.unit_type, + isCurrentItem: false, + lu: this.lu, + target: path.relative(path.dirname(host_path), this.targetPath()), + }; + } + + getMenu(menu_data) { + return menu_data.map((mi) => mi.menuItemInfo(this.targetPath())); + } + + setCurrent(menu) { + menu.map((u) => { + if (u.unit_type === UnitTypes.TASK || u.unit_type === UnitTypes.AIM) { + u.isCurrentItem = this.target === u.target; + } else { + u.isCurrentLU = u.units + ? u.units.some((t) => { + return t.target === this.target; + }) + : false; + u.units = u.units + ? u.units.map((t) => { + t.isCurrentItem = this.target === t.target; + return t; + }) + : []; + } + return u; + }); + return menu; + } + + targetPath() { + return path.resolve( + path.join(Config.build_path(this.exp_path), this.basedir, this.target) + ); + } + + sourcePath() { + return path.resolve( + path.join(Config.build_path(this.exp_path), this.basedir, this.source) + ); + } + + finalPath(modules) { + let final_paths = []; + for (let module of modules) { + if (Config.isURL(module)) { + log.debug(`${module} is a valid URL`); + final_paths.push(module); + continue; + } + + const absolute_path = path.resolve( + path.join(Config.build_path(this.exp_path), this.basedir, module) + ); + // check if the file exists + if (fs.existsSync(absolute_path)) { + log.debug(`${absolute_path} is found successfully`); + final_paths.push( + path.relative(path.dirname(this.targetPath()), absolute_path) + ); + } + else { + log.error(`${absolute_path} does not exist`); + } + } + return final_paths; + } + + serviceWorkerPath() { + let exp_service_worker = path.resolve( + path.join(Config.build_path(this.exp_path), this.basedir, "sw.js") + ); + let task_folder = path.dirname(this.targetPath()); + let final_service_worker = path.relative(task_folder, exp_service_worker); + return final_service_worker; + } + + buildPage(exp_info, lab_data, options) { + let assets_path = path.relative( + path.dirname(this.targetPath()), + Config.build_path(this.exp_path) + ); + assets_path = assets_path ? assets_path : "."; + + // exp_info.name is an html tag. To get the experiment name from it, + // we need to extract the text + const exp_info_name_text = convert(exp_info.name, { + selectors: [{ selector: "h1", options: { uppercase: false } }], + }); + const page_plugins = Plugin.preProcessPageScopePlugins(options); + const page_data = { + production: options.env === BuildEnvs.PRODUCTION, + testing: options.env === BuildEnvs.TESTING, + plugins: exp_info.plugins, + page_plugins: page_plugins, + local: options.local, + addAnalytics: options.addAnalytics, + units: this.setCurrent(this.getMenu(exp_info.menu)), + experiment_name: exp_info.name, + meta: { + "experiment-short-name": lab_data.exp_short_name, + "developer-institute": lab_data.collegeName, + "learning-unit": this.lu || exp_info_name_text, + "task-name": this.label, + }, + isText: false, + isVideo: false, + isSimulation: false, + isAssessment: false, + assets_path: assets_path, + js_modules: this.finalPath(this.js_modules), + css_modules: this.finalPath(this.css_modules), + lab_data: lab_data, + exp_info: exp_info, + lab: lab_data.lab, + lab_display_name: lab_data.lab_display_name, + broadArea: lab_data.broadArea, + deployLab: lab_data.deployLab, + phase: lab_data.phase, + collegeName: lab_data.collegeName, + baseUrl: lab_data.baseUrl, + exp_name: lab_data.exp_name || exp_info_name_text, + exp_short_name: lab_data.exp_short_name, + service_worker_path: this.serviceWorkerPath(), + }; + // Context Info for Bug report + page_data.bugreport_context_info = JSON.stringify({ + organisation: "Virtual Labs", + developer_institute: lab_data.collegeName, + expname: page_data.exp_name, + labname: lab_data.lab, + phase: lab_data.phase, + }); + + // console.log(page_data.bugreport_context_info); + page_data.content_type = this.content_type; + switch (this.content_type) { + case ContentTypes.TEXT: + const mdContent = fs.readFileSync(this.sourcePath()).toString(); + const htmlContent = renderMarkdown(mdContent); + page_data.content = htmlContent; + page_data.isText = true; + break; + + case ContentTypes.VIDEO: + const vidContent = fs.readFileSync(this.sourcePath()).toString(); + const htmlvidContent = renderMarkdown(vidContent); + page_data.content = htmlvidContent; + page_data.isVideo = true; + break; + + case ContentTypes.SIMULATION: + page_data.isSimulation = true; + page_data.sim_src = this.source; + + // Inject IframeResizer + let content = fs + .readFileSync(path.resolve(this.sourcePath())) + .toString(); + + const rp = path.join( + path.relative( + path.dirname(this.sourcePath()), + Config.build_path(this.exp_path) + ), + "assets/js/iframeResize.js" + ); + + const expConfig = ` + + `; + + content = content.replace( + "", + ` + ${options.services ? expConfig : ''} + ` + ); + fs.writeFileSync(path.resolve(this.sourcePath()), content); + break; + + case ContentTypes.ASSESSMENT: + case ContentTypes.ASSESMENT: + page_data.isAssessment = true; + + if (shell.test("-f", this.sourcePath())) { + let JSONdata = require(this.sourcePath()); + let version = JSONdata.version; + JSONdata = renderJSON(JSON.stringify(JSONdata)); + if (version) { + /** + * The below condition will only work if the version in the json is either 2 or 2.0, for any update in version + * it needs to be changed here accordingly + */ + if (version == 2) { + page_data.isJsonVersion2 = true; + } + page_data.questions = JSON.parse(JSONdata).questions; + } + else { // Assuming it is version 1 of json format + page_data.questions = JSON.parse(JSONdata); + } + // page_data.questions_str = JSON.stringify(JSON.parse(JSONdata).questions); + page_data.questions_str = JSON.stringify(page_data.questions); + page_data.isJsonVersion = true; + } else { + const jsonpath = this.sourcePath(); + const jspath = path.resolve( + path.dirname(jsonpath), + `${path.basename(jsonpath, "json")}js` + ); + + if (shell.test("-f", jspath)) { + page_data.quiz_src = path.basename(jspath); + page_data.isJsVersion = true; + } else { + log.error(`${jsonpath} is missing`); + process.exit(-1); + } + } + break; + + case ContentTypes.COMPONENT: + page_data.isComponent = true; + let css_module = []; + let js_module = []; + exp_info.codeassessment_js_modules.forEach(jsmodule => { + js_module.push(jsmodule); + }); + exp_info.codeassessment_css_modules.forEach(cssmodule => { + css_module.push(cssmodule); + }); + page_data.js_modules = this.finalPath(js_module); + page_data.css_modules = this.finalPath(css_module); + page_data.codeditor_div_id = exp_info.codeditor_div_id; + break; + } + + const page_template = fs.readFileSync( + path.resolve( + __dirname, + Config.Experiment.ui_template_name, + "pages", + "content.handlebars" + ) + ); + + try { + fs.writeFileSync( + this.targetPath(), + Handlebars.compile(page_template.toString())(page_data) + ); + } catch (e) { + log.error(e); + } + } + + build(exp_info, lab_data, options) { + log.debug(`Building TASK ${this.label}...`); + this.buildPage(exp_info, lab_data, options); + Plugin.processPageScopePlugins(this, options); + log.debug(`Finished building TASK ${this.label}`); + } +} + +module.exports = { Task }; diff --git a/exp_build/templates/pages/content.handlebars b/exp_build/templates/pages/content.handlebars new file mode 100644 index 00000000..dc9a5ee5 --- /dev/null +++ b/exp_build/templates/pages/content.handlebars @@ -0,0 +1,73 @@ + + + + {{> analytics_head }} + {{> meta }} + {{> commons }} + + {{#each css_modules}} + + {{/each}} + + + + {{> analytics_body }} + + {{#if isSimulation}} +

+
+ {{> popup_menu }} + {{> content }} + {{> bug_report_mobile }} +
+
+ {{else}} + {{> header }} +
+
+
+ {{> breadcrumbs }} + {{#if testing}} + {{> tools }} + {{/if}} +
+
+
+ {{> popup_menu }} + {{> side_menu }} + {{> content }} + {{> bug_report_mobile }} +
+
+ {{> footer }} + {{/if}} + + + + {{#each js_modules}} + + {{/each}} + + + + diff --git a/exp_build/templates/pages/lab-content.handlebars b/exp_build/templates/pages/lab-content.handlebars new file mode 100644 index 00000000..e1d643c0 --- /dev/null +++ b/exp_build/templates/pages/lab-content.handlebars @@ -0,0 +1,48 @@ + + + + {{> analytics_head }} + {{> meta }} + {{> commons }} + + + + {{> analytics_body }} + + {{#if isSimulation}} +
+
+ {{> popup_menu }} + {{> content }} + {{> bug_report_mobile }} +
+
+ {{else}} + {{> header }} +
+ {{> breadcrumbs }} +
+ {{> popup_menu }} + {{> side_menu }} + {{> content }} + {{> bug_report_mobile }} +
+
+ {{> footer }} + {{/if}} + + diff --git a/exp_build/templates/partials/analytics-body.handlebars b/exp_build/templates/partials/analytics-body.handlebars new file mode 100644 index 00000000..be3692c1 --- /dev/null +++ b/exp_build/templates/partials/analytics-body.handlebars @@ -0,0 +1,17 @@ +{{#if addAnalytics}} +{{#if production}} + + + +{{else if testing}} + + + +{{/if}} +{{/if}} diff --git a/exp_build/templates/partials/analytics-head.handlebars b/exp_build/templates/partials/analytics-head.handlebars new file mode 100644 index 00000000..a41597e2 --- /dev/null +++ b/exp_build/templates/partials/analytics-head.handlebars @@ -0,0 +1,49 @@ +{{#if addAnalytics}} +{{#if production}} + + + +{{else if testing}} + + + +{{/if}} +{{/if}} \ No newline at end of file diff --git a/exp_build/templates/partials/breadcrumbs.handlebars b/exp_build/templates/partials/breadcrumbs.handlebars new file mode 100644 index 00000000..2d9a9758 --- /dev/null +++ b/exp_build/templates/partials/breadcrumbs.handlebars @@ -0,0 +1,21 @@ +{{#if production }} + + + +{{/if }} diff --git a/exp_build/templates/partials/bug-report-mobile.handlebars b/exp_build/templates/partials/bug-report-mobile.handlebars new file mode 100644 index 00000000..853588e6 --- /dev/null +++ b/exp_build/templates/partials/bug-report-mobile.handlebars @@ -0,0 +1,25 @@ +
+ + +
\ No newline at end of file diff --git a/exp_build/templates/partials/commons.handlebars b/exp_build/templates/partials/commons.handlebars new file mode 100644 index 00000000..f18240a7 --- /dev/null +++ b/exp_build/templates/partials/commons.handlebars @@ -0,0 +1,29 @@ +Virtual Labs + + + + + + + + + + + + + + diff --git a/exp_build/templates/partials/content.handlebars b/exp_build/templates/partials/content.handlebars new file mode 100644 index 00000000..3b2491a1 --- /dev/null +++ b/exp_build/templates/partials/content.handlebars @@ -0,0 +1,125 @@ +{{#if isSimulation}} +
+
+ {{{experiment_name}}} +
+{{else}} +
+
+ {{{experiment_name}}} +
+{{/if}} + {{#if isText}} + {{{content}}} + {{/if}} + {{#if isComponent}} +
+ {{/if}} + {{#if isVideo}} + {{{content}}} + {{/if}} + {{#if isSimulation}} +
+ + {{> simulation_header }} + +
+ {{/if}} + {{#if isAssessment}} + {{#if isJsVersion }} +
+ {{/if}} + {{#if isJsonVersion }} + {{#if isJsonVersion2 }} +
+ + + + +
+ +
+ + {{#each questions}} + +
+ {{{this.question}}} +
+ +
+ {{#each this.answers}} +
+ + Explanation +
+

Explanation

+ {{/each}} +
+ {{/each}} +
+ {{else}} +
+ + {{#each questions}} + +
+ {{{this.question}}} +
+ +
+ {{#each this.answers}} + + + {{/each}} +
+ + {{/each}} + +
+ {{/if}} + {{/if}} + +
+ {{/if}} +
+{{#if isAssessment}} + {{#if isJsVersion }} + + {{/if}} + + {{#if isJsonVersion }} + + {{#if isJsonVersion2 }} + + {{else}} + + {{/if}} + {{/if}} +{{/if}} diff --git a/page-templates/course-alignment-ctnt.handlebars b/exp_build/templates/partials/course-alignment-ctnt.handlebars similarity index 100% rename from page-templates/course-alignment-ctnt.handlebars rename to exp_build/templates/partials/course-alignment-ctnt.handlebars diff --git a/exp_build/templates/partials/footer.handlebars b/exp_build/templates/partials/footer.handlebars new file mode 100644 index 00000000..8584c8b8 --- /dev/null +++ b/exp_build/templates/partials/footer.handlebars @@ -0,0 +1,37 @@ + diff --git a/exp_build/templates/partials/header.handlebars b/exp_build/templates/partials/header.handlebars new file mode 100644 index 00000000..4f651ac6 --- /dev/null +++ b/exp_build/templates/partials/header.handlebars @@ -0,0 +1,30 @@ +
+ +
diff --git a/page-templates/introduction-ctnt.handlebars b/exp_build/templates/partials/introduction-ctnt.handlebars similarity index 64% rename from page-templates/introduction-ctnt.handlebars rename to exp_build/templates/partials/introduction-ctnt.handlebars index b3ea1022..4646d516 100644 --- a/page-templates/introduction-ctnt.handlebars +++ b/exp_build/templates/partials/introduction-ctnt.handlebars @@ -1,4 +1,4 @@

Introduction

-

{{ introduction }}

+

{{{ introduction }}}

\ No newline at end of file diff --git a/exp_build/templates/partials/lab-analytics-body.handlebars b/exp_build/templates/partials/lab-analytics-body.handlebars new file mode 100644 index 00000000..4d6f31ba --- /dev/null +++ b/exp_build/templates/partials/lab-analytics-body.handlebars @@ -0,0 +1,8 @@ +{{#if production}} + + + +{{/if}} diff --git a/page-templates/head.handlebars b/exp_build/templates/partials/lab-analytics-head.handlebars similarity index 55% rename from page-templates/head.handlebars rename to exp_build/templates/partials/lab-analytics-head.handlebars index 0545a6de..3146e5e6 100644 --- a/page-templates/head.handlebars +++ b/exp_build/templates/partials/lab-analytics-head.handlebars @@ -1,9 +1,13 @@ - +{{#if production}} + + + +{{/if}} \ No newline at end of file diff --git a/exp_build/templates/partials/lab-breadcrumbs.handlebars b/exp_build/templates/partials/lab-breadcrumbs.handlebars new file mode 100644 index 00000000..2d9a9758 --- /dev/null +++ b/exp_build/templates/partials/lab-breadcrumbs.handlebars @@ -0,0 +1,21 @@ +{{#if production }} + + + +{{/if }} diff --git a/exp_build/templates/partials/lab-validation-body.handlebars b/exp_build/templates/partials/lab-validation-body.handlebars new file mode 100644 index 00000000..c281a295 --- /dev/null +++ b/exp_build/templates/partials/lab-validation-body.handlebars @@ -0,0 +1,3 @@ +{{#if production}} +

This is a production build2.

+{{/if}} diff --git a/page-templates/list-of-experiments-ctnt.handlebars b/exp_build/templates/partials/list-of-experiments-ctnt.handlebars similarity index 100% rename from page-templates/list-of-experiments-ctnt.handlebars rename to exp_build/templates/partials/list-of-experiments-ctnt.handlebars diff --git a/exp_build/templates/partials/meta.handlebars b/exp_build/templates/partials/meta.handlebars new file mode 100644 index 00000000..9e3994cd --- /dev/null +++ b/exp_build/templates/partials/meta.handlebars @@ -0,0 +1,16 @@ + + + + + + +{{#each meta}} + +{{/each}} + + + + + + + diff --git a/exp_build/templates/partials/nav-menu-items.handlebars b/exp_build/templates/partials/nav-menu-items.handlebars new file mode 100644 index 00000000..e3aa1942 --- /dev/null +++ b/exp_build/templates/partials/nav-menu-items.handlebars @@ -0,0 +1,32 @@ +{{#each units}} +
+ +
+
+ {{#each this.units}} + {{this.label}} + {{/each}} +
+
+
+{{/each}} \ No newline at end of file diff --git a/page-templates/nested-list-of-experiments-ctnt.handlebars b/exp_build/templates/partials/nested-list-of-experiments-ctnt.handlebars similarity index 100% rename from page-templates/nested-list-of-experiments-ctnt.handlebars rename to exp_build/templates/partials/nested-list-of-experiments-ctnt.handlebars diff --git a/page-templates/objective-ctnt.handlebars b/exp_build/templates/partials/objective-ctnt.handlebars similarity index 62% rename from page-templates/objective-ctnt.handlebars rename to exp_build/templates/partials/objective-ctnt.handlebars index 9ff6d21b..d37afddf 100644 --- a/page-templates/objective-ctnt.handlebars +++ b/exp_build/templates/partials/objective-ctnt.handlebars @@ -1,6 +1,4 @@

Objective

-
    - {{objective}} -
+ {{{objective}}}
\ No newline at end of file diff --git a/exp_build/templates/partials/popupmenu.handlebars b/exp_build/templates/partials/popupmenu.handlebars new file mode 100644 index 00000000..4b1a82f1 --- /dev/null +++ b/exp_build/templates/partials/popupmenu.handlebars @@ -0,0 +1,17 @@ + diff --git a/exp_build/templates/partials/sidemenu.handlebars b/exp_build/templates/partials/sidemenu.handlebars new file mode 100644 index 00000000..260276f9 --- /dev/null +++ b/exp_build/templates/partials/sidemenu.handlebars @@ -0,0 +1,3 @@ + \ No newline at end of file diff --git a/exp_build/templates/partials/simulation-header.handlebars b/exp_build/templates/partials/simulation-header.handlebars new file mode 100644 index 00000000..6a6a4150 --- /dev/null +++ b/exp_build/templates/partials/simulation-header.handlebars @@ -0,0 +1,37 @@ + diff --git a/exp_build/templates/partials/svc-rating-display.handlebars b/exp_build/templates/partials/svc-rating-display.handlebars new file mode 100644 index 00000000..44eb05ac --- /dev/null +++ b/exp_build/templates/partials/svc-rating-display.handlebars @@ -0,0 +1,10 @@ +
+ + +
\ No newline at end of file diff --git a/exp_build/templates/partials/svc-rating-submit.handlebars b/exp_build/templates/partials/svc-rating-submit.handlebars new file mode 100644 index 00000000..e67d8fab --- /dev/null +++ b/exp_build/templates/partials/svc-rating-submit.handlebars @@ -0,0 +1,4 @@ +
+ + +
\ No newline at end of file diff --git a/exp_build/templates/partials/tools.handlebars b/exp_build/templates/partials/tools.handlebars new file mode 100644 index 00000000..ce0cd8bc --- /dev/null +++ b/exp_build/templates/partials/tools.handlebars @@ -0,0 +1,11 @@ + diff --git a/exp_build/templates/partials/validation-body.handlebars b/exp_build/templates/partials/validation-body.handlebars new file mode 100644 index 00000000..42c50dc9 --- /dev/null +++ b/exp_build/templates/partials/validation-body.handlebars @@ -0,0 +1,5 @@ +{{#if production}} +

This is a production environment

+{{else if testing}} +

This is a testing environment

+{{/if}} \ No newline at end of file diff --git a/exp_build/unit.js b/exp_build/unit.js new file mode 100644 index 00000000..fb93f5b8 --- /dev/null +++ b/exp_build/unit.js @@ -0,0 +1,26 @@ +const path = require("path"); +const fs = require("fs"); +const marked = require("marked"); +const Handlebars = require("handlebars"); +const shell = require("shelljs"); + +const Config = require("../config.js"); +const { ContentTypes, validContentType, validUnitType } = require("../enums.js"); + +class Unit { + constructor(unit_type, label, exp_path, basedir) { + this.unit_type = validUnitType(unit_type); + this.label = label; + this.exp_path = exp_path; + this.basedir = basedir; + } + + /* + To be implemented by the inheriting sub-class. + */ + build() { + console.log(this.lu, this.label); + } +} + +module.exports = { Unit }; diff --git a/googlesheet.js b/googlesheet.js index 5d735984..83f9b299 100644 --- a/googlesheet.js +++ b/googlesheet.js @@ -1,99 +1,100 @@ -const fs = require('fs'); -const readline = require('readline'); -const {google} = require('googleapis'); - -// If modifying these scopes, delete token.json. -const SCOPES = ['https://www.googleapis.com/auth/spreadsheets']; -// The file token.json stores the user's access and refresh tokens, and is -// created automatically when the authorization flow completes for the first -// time. -const TOKEN_PATH = 'token.json'; - -/** - * Create an OAuth2 client with the given credentials, and then execute the - * given callback function. - * @param {Object} credentials The authorization client credentials. - * @param {function} callback The callback to call with the authorized client. - */ -function authorize(credentials, callback) { - const {client_secret, client_id, redirect_uris} = credentials.installed; - const oAuth2Client = new google.auth.OAuth2( - client_id, client_secret, redirect_uris[0]); - - // Check if we have previously stored a token. - fs.readFile(TOKEN_PATH, (err, token) => { - if (err) return getNewToken(oAuth2Client, callback); - oAuth2Client.setCredentials(JSON.parse(token)); - callback(oAuth2Client); - }); -} - -/** - * Get and store new token after prompting for user authorization, and then - * execute the given callback with the authorized OAuth2 client. - * @param {google.auth.OAuth2} oAuth2Client The OAuth2 client to get token for. - * @param {getEventsCallback} callback The callback for the authorized client. - */ -function getNewToken(oAuth2Client, callback) { - const authUrl = oAuth2Client.generateAuthUrl({ - access_type: 'offline', - scope: SCOPES, - }); - console.log('Authorize this app by visiting this url:', authUrl); - const rl = readline.createInterface({ - input: process.stdin, - output: process.stdout, - }); - rl.question('Enter the code from that page here: ', (code) => { - rl.close(); - oAuth2Client.getToken(code, (err, token) => { - if (err) return console.error('Error while trying to retrieve access token', err); - oAuth2Client.setCredentials(token); - // Store the token to disk for later program executions - fs.writeFile(TOKEN_PATH, JSON.stringify(token), (err) => { - if (err) return console.error(err); - console.log('Token stored to', TOKEN_PATH); - }); - callback(oAuth2Client); - }); - }); -} - - -module.exports.appendExecutionResult = (record) => { - - const values = []; - - if (record.unit === 'LAB') { - // fields - // ['data', 'time', 'url', 'version', 'status'] - values.push( - [ record.date, - record.time, - record.unit, - record.url, - record.version, - record.status - ] - ) - } - - fs.readFile('credentials.json', (err, content) => { - if (err) return console.log('Error loading client secret file:', err); - authorize(JSON.parse(content), (auth) => { - const sheets = google.sheets({version: 'v4', auth}); - sheets.spreadsheets.values.append({ - spreadsheetId: '1Z-acT5GKrna_JyHanxq3mXKocRPUb1KPL8vY7mKa5KA', - range: 'Log!A:D', - valueInputOption: 'RAW', - resource: { - values: values - } - }, (err, res) => { - if (err) return console.log(err); - console.log('record updated'); - }); - }); - }); - -} +const fs = require('fs'); +const readline = require('readline'); +const {google} = require('googleapis'); +const log = require("./logger"); + +// If modifying these scopes, delete token.json. +const SCOPES = ['https://www.googleapis.com/auth/spreadsheets']; +// The file token.json stores the user's access and refresh tokens, and is +// created automatically when the authorization flow completes for the first +// time. +const TOKEN_PATH = 'token.json'; + +/** + * Create an OAuth2 client with the given credentials, and then execute the + * given callback function. + * @param {Object} credentials The authorization client credentials. + * @param {function} callback The callback to call with the authorized client. + */ +function authorize(credentials, callback) { + const {client_secret, client_id, redirect_uris} = credentials.installed; + const oAuth2Client = new google.auth.OAuth2( + client_id, client_secret, redirect_uris[0]); + + // Check if we have previously stored a token. + fs.readFile(TOKEN_PATH, (err, token) => { + if (err) return getNewToken(oAuth2Client, callback); + oAuth2Client.setCredentials(JSON.parse(token)); + callback(oAuth2Client); + }); +} + +/** + * Get and store new token after prompting for user authorization, and then + * execute the given callback with the authorized OAuth2 client. + * @param {google.auth.OAuth2} oAuth2Client The OAuth2 client to get token for. + * @param {getEventsCallback} callback The callback for the authorized client. + */ +function getNewToken(oAuth2Client, callback) { + const authUrl = oAuth2Client.generateAuthUrl({ + access_type: 'offline', + scope: SCOPES, + }); + log.debug('Authorize this app by visiting this url:', authUrl); + const rl = readline.createInterface({ + input: process.stdin, + output: process.stdout, + }); + rl.question('Enter the code from that page here: ', (code) => { + rl.close(); + oAuth2Client.getToken(code, (err, token) => { + if (err) return log.error('Error while trying to retrieve access token', err); + oAuth2Client.setCredentials(token); + // Store the token to disk for later program executions + fs.writeFile(TOKEN_PATH, JSON.stringify(token), (err) => { + if (err) return log.error(err); + log.debug('Token stored to', TOKEN_PATH); + }); + callback(oAuth2Client); + }); + }); +} + + +module.exports.appendExecutionResult = (record) => { + + const values = []; + + if (record.unit === 'LAB') { + // fields + // ['data', 'time', 'url', 'version', 'status'] + values.push( + [ record.date, + record.time, + record.unit, + record.url, + record.version, + record.status + ] + ) + } + + fs.readFile('credentials.json', (err, content) => { + if (err) return console.log('Error loading client secret file:', err); + authorize(JSON.parse(content), (auth) => { + const sheets = google.sheets({version: 'v4', auth}); + sheets.spreadsheets.values.append({ + spreadsheetId: '1Z-acT5GKrna_JyHanxq3mXKocRPUb1KPL8vY7mKa5KA', + range: 'Log!A:D', + valueInputOption: 'RAW', + resource: { + values: values + } + }, (err, res) => { + if (err) return console.log(err); + console.log('record updated'); + }); + }); + }); + +} diff --git a/hosting-process-ph3.org b/hosting-process-ph3.org index 2d957bc1..f5cb0170 100644 --- a/hosting-process-ph3.org +++ b/hosting-process-ph3.org @@ -1,408 +1,408 @@ -o#+Title: Virtual Labs Phase 3 Hosting Process -#+Author: VLEAD -#+Email: engg@vlabs.ac.in -#+DATE: [2020-05-08 Wed] -#+PROPERTY: results output -#+PROPERTY: exports code -#+SETUPFILE: ./org-templates/level-0.org -#+LANGUAGE: en -#+OPTIONS: ^:nil - -* Introduction - Virtual Labs is a mission mode project initiated by the Ministry of - Human Resources and Development (MHRD). The objective of this - project is to provide laboratory learning experience to the students - who do not have access to adequate laboratory - infrastructure. Currently, there are around 90 labs developed by - various institutes in the consortium. A streamlined software - development life cycle process followed for the development of these - labs ensures high-quality labs. This document defines the hosting - process to be followed by an integration engineer while hosting - phase 3 lab units. -* Motivation - A well-defined experiment hosting process will help maintain - reliable servers. Consolidated information regarding all the - deployments will also facilitate reporting. -* Audience - The target audience for this document is the hosting team at IIITH - who wants to host a unit on receiving the hosting request. -* Hosting/Onboarding Process for Phase III Experiment/Labs -** Commencing the hosting request - Keeping the deliverables/due date and the current hosting model in - mind, the following process will need to be followed for getting a - lab hosted on AWS during the Phase III of the Virtual Labs project ( - ending on March 31st 2020). This is as per many discussions with - IITB and the [[https://drive.google.com/open?id=1-ndJYbxXucCRkpL_JktI_46tUG5CJ9Dw][meeting]] on [2020-03-03 Tue]. - - VLEAD and IITB will follow the process detailed below for the - hosting of labs which have been developed with each experiment - having its own repository. All the Phase 3 labs and experiments - hosted on AWS will have a common UI and report analytics at both lab - and experiment level. - - - Step 1 :: IIITH will create lab repo for the lab that is ready ( - marked in green) in the 200224_Deliverable_Status_Phase3 - sheet shared by IITB and also populate the lab URLs in - the sheet. - - - Step 2 :: IITB will raise an issue of type Phase 3 Onboarding - [[https://github.com/virtual-labs/engineers-forum/issues/new/choose][Request]] and fill the lab name and lab URL ( as populated - in the excel sheet by IIITH) and attach the R0 of the - lab. - - - Step 3 :: IIITH will tag the head of the master branch of all the - experiments in that lab as mentioned in the - 200224_Deliverable_Status_Phase3 as v1.0.0 - - - Step 4 :: IIITH will populate the received Phase 3 Onboarding - [[https://github.com/virtual-labs/engineers-forum/issues/new/choose][Request]] with experiment details ( name, URL, tag, branch - and build command) and Owner details and request for - approval from IITB. It will be assumed by IIITH that no - special hardware or software is required for the running - of the experiments. IITB will have to specially state - if this is not the case. - - - Step 5 :: IITB will validate the above data and approve the same - on the received Phase 3 Onboarding [[https://github.com/virtual-labs/engineers-forum/issues/new/choose][Request]] . - - - Step 6 :: On approval from IITB , IIITH will host all the - experiments and populate the lab landing page - information (Introduction, Objective, List of - experiments, target audience, course alignment ) from - the R0 shared by IITB in the Phase 3 Onboarding [[https://github.com/virtual-labs/engineers-forum/issues/new/choose][Request]]. - - - Step 7 :: IIITH will host the lab and share the hosted URL link as - part of the onboarding request issue and seek approval - from the GitHub handle of the owner of the lab ( as - recorded in the onboarding request) - - - Step 8 :: On approval from the Lab owner, IIITH will share the - link with IIT Delhi. - -** Pre-Hosting/Rehosting Checklist -- In this section, we will look at the instructions to fill or update - the lab-descriptor.json file which is used to host a lab. Make Sure - that everything in the JSON file is updated correctly before sending - it for verification and hosting. - -- *Section I - Lab* - 1. Name: Should be Discipline name - 2. Link: - Crosscheck the discipline link from vlab.co.in and update - correctly. -- Discipline Should be in the following format: - + Mechanical Engineering - + Computer Science and Engineering - + Electronics and Communication Engineering - + Electrical Engineering - + Civil Engineering - + Chemical Sciences - + Biotechnology and Biomedical Engineering - + Physical Sciences - + Chemical Engineering - + Humanity - + Metallurgical and Materials Engineering - + Design Engineering - + Aerospace Engineering -- Lab Name: Should be same in the JSON file, GitHub repo name and in - /var/www/html/ -- Phase: Should be the number that the lab belongs to Phase 3 or so -- Deploy: Should be true if we are hosting lab and exp or only lab. If - we want to host only exp then it should be false -- College Name: Update from the R0 file (which is given in the request - for hosting issue) -- Base URL: Crosscheck the lab domain in the reverse proxy and update - correctly -- Introduction: from R0 file - -- *Section II - Experiment* -- Name: experiment name from R0 file -- Short Name: it should be in small letters and not more than 4 words - or can give exp repo name from GitLab (if it has only 4 words) -- Repo: give the experiment repo URL from GitLab -- Tag: for every request for hosting, a repo should have a new tag -- Deploy: Should be true if we are hosting lab and exp or only exp. If - we want to host only lab then it should be false - -- *Section III* -- Target Audience, Objective and Courses Alignment: Update from R0 - file -** Hosting Lab and Experiments - In this section, we will discuss hosting a Lab and Experiments. - - - Step 1 :: [[https://github.com/virtual-labs/Phase-3-Lab-Template][Phase-3-Lab-Template]] to be cloned initially on the - server. - - - Step 2 :: After cloning the repo the hosting person should go - through the [[https://github.com/virtual-labs/Phase-3-Lab-Template/blob/master/README.org][README]] file of [[https://github.com/virtual-labs/Phase-3-Lab-Template][Phase-3-Lab-Template]] - repository. - - - Step 3 :: Run the following command to initialize a lab descriptor - file that contains all the required fields, without any - values. In the below command should - be replaced with the actual path to the local lab - repository mentioned in the first step. - - #+BEGIN_SRC - npm run labgen -- init - #+END_SRC - - - Step 4 :: Fill all the values in the - /lab-descriptor.json file generated - above by taking data from R0 file and create a - pull-request to get the lab-descriptor approved. - - - Step 5 :: After getting approval from the legitimate authority, - generate lab and build experiments. - - - Step 6 :: From the Phase-3-Lab-Template repository, run the - following. This will generate the lab pages using the - verified lab-descriptor.json from the lab repository and - push the generated content to remote. - - #+BEGIN_SRC - npm run labgen -- generate - #+END_SRC - - - Step 7 :: Finally host lab and experiments. From the Phase-3-Lab-Template - repository, run the following. This will copy the lab - pages to /var/www/html/, then builds and - copy experiments listed in the lab-descriptor to - /var/www/html//. - #+BEGIN_SRC - npm run labgen -- deploy - #+END_SRC - -** Commencing the (re)hosting request - - VLEAD and the institute requesting the rehosting of Phase - 3 lab while changing the content of the lab will follow - the process detailed below- - - - - Step 1 :: Institute requesting rehosting will follow the - [[https://github.com/virtual-labs/engineers-forum/issues][link]] and locate the Phase III - Lab/Experiment(s) OnBoarding Request issue - corresponding to the lab that they wish to - edit. - - - Step 2 :: They will comment on the issue with the - content that they like to add to the lab - pages following the format - Lab Section - Name - New content - - - Step 3 :: VLEAD's hosting engineer will host the lab with - the requested changes and share the link on - the same issue to seek approval from institute - requesting rehosting. - - - Step 4 :: Institute requesting rehosting will need to - test the hosted link and on their approval the - hosted link will be shared with IITD (to be - added to vlab.co.in). - -** (Re)Hosting Lab and Experiments - In this section, we will discuss (re)hosting a Lab and Experiments. - - - Step 1 :: Check for [[https://github.com/virtual-labs/Phase-3-Lab-Template][Phase-3-Lab-Template]] and lab repo on the server. - - - Step 2 :: Look for the content to be updated(ie., lab or - experiments). - - - Step 3 :: lab-descriptor.json has fields like 'deployLab' under - lab name and 'deploy' under experiment. When these - fields are set true, the particular lab or experiment - will be deployed. - - - Step 4 :: Mark the values as true or false in the - /lab-descriptor.json file(present in - the lab repo) and create a pull-request to get the - lab-descriptor approved. - - - Step 5 :: After getting approval from the legitimate authority, - generate lab, and build experiments. - - - Step 6 :: From the Phase-3-Lab-Template repository, run the - following. This will generate the lab pages using the - verified lab-descriptor.json from the lab repository and - push the generated content to remote. - - #+BEGIN_SRC - npm run labgen -- generate - #+END_SRC - - - Step 7 :: Finally host lab and experiments. From the Phase-3-Lab-Template - repository, run the following. This will copy the lab - pages to /var/www/html/, then builds and - copy experiments listed in the lab-descriptor to - /var/www/html//. - #+BEGIN_SRC - npm run labgen -- deploy - #+END_SRC - -** Steps for creating a new lab entry(Phase 3) -- Build and deploy sources to correct path i.e., (/var/www/html/example-lab) {Hosting Engineer} -- Check for example-lab and sources at /var/www/html/example-lab/ {Hosting Engineer} -- If step 1 and step 2 are true then go to step 4 else go to step 1 {Hosting Engineer} -- Hosting Engineer needs to raise a request to System Engineer -- Add entry to virtual host file in apache configuration(Phase3) {Systems Engineer} -- Reload the apache server {Systems Engineer} -- Add entry to ALB {Raj} -- Finally, add entry in DNS server {Systems Engineer} -- Reload DNS server {Systems Engineer} - -*** NOTE -- Do not add entries without sources as it will create duplicate date in analytics. -- When modifying entries, try modifying before 9:00 AM or after 5:00 PM, it will give buffer time if something goes wrong and wont effect live users. - -** Post Hosting Tasks -- In this section, we will look at the tasks to be done after hosting - a unit, -- *Task I - Testing* - - A quick SMOKE TEST to be performed on the hosted unit. We will - talk about this in the next section. -- *Task II - Updating hosting request* - - After successfuly hosting a unit, go to the hosting request and - update the request with the following: - + Hosted URL - + Branch - + Tag - + Approval - -- *Task III - Updating central hosting sheet* - - Final task would be to update the [[https://docs.google.com/spreadsheets/d/1WXJA_1QkLg-5S0YYBRKyhEXwOgTSbKvm972Fy-thCUc/edit#gid=129834454][central hosting sheet]] with the - following: - + Hosted URL - + Current Tag - + Previous Tag - + Hosting request date - + Hosting Date - + Link to Hosting Request - + Requester - + Status(Approval) - + Number of Experiment - + Added to analytics server - -** Testing - In this section, we will discuss testing of a hosted unit. - - - Step 1 :: A quick SMOKE TEST to be performed on the hosted unit. - - - Step 2 :: If any issues are found in SMOKE TEST, the hosting - unit to be debugged and (re)hosted. - -** Hosting Outcome -- A unit of lab or experiment is hosted on AWS VM. -- All the hosted units will have the same UI ie.., [[https://github.com/virtual-labs/ph3-beta-to-ui3.0-conv][UI 3.0]] with - analytics integrated into them at the time of building with [[https://github.com/virtual-labs/Phase-3-Lab-Template][lab - generation]] script. -* FAQ -** Can you provide a sample JSON file with data? - This is a sample JSON file with data. -#+BEGIN_SRC JSON file of Fluid Machinery Lab -{ - "broadArea": { - "name": "Civil Engineering", - "link": "http://vlab.co.in/broad-area-civil-engineering" - }, - "lab": "Fluid Machinery Lab", - "phase": "3", - "deployLab":true, - "collegeName": "NITS", - "baseUrl": "http://fmc-nitk.vlabs.ac.in", - "introduction": "Welcome to the Fluid Machinery Lab", - "experiments": [ - { - "name": "Performance Characteristics of Centrifugal Pump", - "short-name": "centrifugal-pump", - "repo": "http://vlabs.iitb.ac.in/gitlab/vlabs-dev-central-hosting/fluid-machinery-nitk/performance-characteristics-centrifugal-pump-nitk.git", - "tag": "v1.0.0", - "deploy": true - }, { - "name": "Performance Characteristics of Hydraulic Ram", - "short-name": "hydraulic-ram", - "repo": "http://vlabs.iitb.ac.in/gitlab/vlabs-dev-central-hosting/fluid-machinery-nitk/performance-characteristics-hydraulic-ram-nitk.git", - "tag": "v1.0.0", - "deploy": true - }, { - "name": "Performance Characteristics of Kaplan Turbine", - "short-name": "kaplan-turbine", - "repo": "http://vlabs.iitb.ac.in/gitlab/vlabs-dev-central-hosting/fluid-machinery-nitk/performance-characteristics-kaplan-turbine-nitk.git", - "tag": "v1.0.0", - "deploy": true - }, { - "name": "Double Acting Reciprocating Pump", - "short-name": "reciprocating-pump", - "repo": "http://vlabs.iitb.ac.in/gitlab/vlabs-dev-central-hosting/fluid-machinery-nitk/double-acting-reciprocating-pump-nitk.git", - "tag": "v1.0.0", - "deploy": true - }, { - "name": "Performance Characteristics of Pelton Turbine", - "short-name": "pelton-turbine", - "repo": "http://vlabs.iitb.ac.in/gitlab/vlabs-dev-central-hosting/fluid-machinery-nitk/performance-characteristics-pelton-turbine-nitk.git", - "tag": "v1.0.0", - "deploy": true - }, { - "name": "Pipe Bursting", - "short-name": "pipe-bursting", - "repo": "http://vlabs.iitb.ac.in/gitlab/vlabs-dev-central-hosting/fluid-machinery-nitk/pipe-bursting-nitk.git", - "tag": "v1.0.0", - "deploy": true - }, { - "name": "Performance Characteristics of Francis Turbine", - "short-name": "francis-turbine", - "repo": "http://vlabs.iitb.ac.in/gitlab/vlabs-dev-central-hosting/fluid-machinery-nitk/performance-characteristics-francis-turbine-nitk.git", - "tag": "v1.0.0", - "deploy": true - } - ], - "targetAudience": { - "UG": [ - "B. Tech./ B.E in Civil Engineering" - ], - "PG": [ - "MS/Ph. D. Beginners in Civil Engineering and related topics" - ] - }, - "objective": "Many of our daily life activity depends on fluid machinery so it is important to understand the functioning principles and characteristics of such machinery from an engineering point of view. This lab focuses on giving the user an idea about practical behaviour of such machines before performing operations on a real system.", - "courseAlignment": { - "description": "The syllabi of this lab aligns to the following universities in India.", - "universities": [ - "Visvesvaraya Technological University Karnataka", - "National Institute of Technology Karnataka Karnataka", - "Anna University Tamil Nadu", - "SRM University Delhi - NCR Sonepat Haryana", - "University of Kerala Kerala", - "APJ Abdul Kalam Technological University Kerala", - "CUSAT Kerala" - ] - } -} -#+END_SRC -** Can you explain about input data attributes in the JSON file? - -|-----------------+---------------------+-------------------------------------------+-----------------------------------------------------------------------------------------------------------------| -| Field | Type | Purpose | Example | -|-----------------+---------------------+-------------------------------------------+-----------------------------------------------------------------------------------------------------------------| -| Broad Area Name | String | The Domain of the lab | =Civil Engineering= | -| | | to which the experiments belong | | -|-----------------+---------------------+-------------------------------------------+-----------------------------------------------------------------------------------------------------------------| -| Broad Area Link | URL | Link to the page on vlabs | =http://vlabs.co.in/civil-engineering= | -| | | website that holds all the | | -| | | labs in the given domain | | -|-----------------+---------------------+-------------------------------------------+-----------------------------------------------------------------------------------------------------------------| -| Lab Name | String | Name of the lab, as it is displayed | =Fluid Machinery Lab= | -| | | on the lab pages. This field is also | | -| | | used to generate urls for lab and | | -| | | experiment pages. | | -|-----------------+---------------------+-------------------------------------------+-----------------------------------------------------------------------------------------------------------------| -| Lab Base-url | URL | Domain name part of the lab and | =http://fmc-nitk.vlabs.ac.in= | -| | | experiment URLs. | | -|-----------------+---------------------+-------------------------------------------+-----------------------------------------------------------------------------------------------------------------| -| Experiments | List of Experiments | Each experiment in the lab is stored as a | =[{"name": "Exp1", "short-name": "exp1", "repo": "gitlab.com/exp1", "tag": "v1.0.0", "deploy": "true", }, ...]= | -| | | record containing two fields: experiment | | -| | | name and link to the repository | | -|-----------------+---------------------+-------------------------------------------+-----------------------------------------------------------------------------------------------------------------| - -* Conclusion - This document highlights the hosting process. It aims at making an - integration engineer understand the hosting process of Phase 3 Labs. +o#+Title: Virtual Labs Phase 3 Hosting Process +#+Author: VLEAD +#+Email: engg@vlabs.ac.in +#+DATE: [2020-05-08 Wed] +#+PROPERTY: results output +#+PROPERTY: exports code +#+SETUPFILE: ./org-templates/level-0.org +#+LANGUAGE: en +#+OPTIONS: ^:nil + +* Introduction + Virtual Labs is a mission mode project initiated by the Ministry of + Human Resources and Development (MHRD). The objective of this + project is to provide laboratory learning experience to the students + who do not have access to adequate laboratory + infrastructure. Currently, there are around 90 labs developed by + various institutes in the consortium. A streamlined software + development life cycle process followed for the development of these + labs ensures high-quality labs. This document defines the hosting + process to be followed by an integration engineer while hosting + phase 3 lab units. +* Motivation + A well-defined experiment hosting process will help maintain + reliable servers. Consolidated information regarding all the + deployments will also facilitate reporting. +* Audience + The target audience for this document is the hosting team at IIITH + who wants to host a unit on receiving the hosting request. +* Hosting/Onboarding Process for Phase III Experiment/Labs +** Commencing the hosting request + Keeping the deliverables/due date and the current hosting model in + mind, the following process will need to be followed for getting a + lab hosted on AWS during the Phase III of the Virtual Labs project ( + ending on March 31st 2020). This is as per many discussions with + IITB and the [[https://drive.google.com/open?id=1-ndJYbxXucCRkpL_JktI_46tUG5CJ9Dw][meeting]] on [2020-03-03 Tue]. + + VLEAD and IITB will follow the process detailed below for the + hosting of labs which have been developed with each experiment + having its own repository. All the Phase 3 labs and experiments + hosted on AWS will have a common UI and report analytics at both lab + and experiment level. + + - Step 1 :: IIITH will create lab repo for the lab that is ready ( + marked in green) in the 200224_Deliverable_Status_Phase3 + sheet shared by IITB and also populate the lab URLs in + the sheet. + + - Step 2 :: IITB will raise an issue of type Phase 3 Onboarding + [[https://github.com/virtual-labs/engineers-forum/issues/new/choose][Request]] and fill the lab name and lab URL ( as populated + in the excel sheet by IIITH) and attach the R0 of the + lab. + + - Step 3 :: IIITH will tag the head of the master branch of all the + experiments in that lab as mentioned in the + 200224_Deliverable_Status_Phase3 as v1.0.0 + + - Step 4 :: IIITH will populate the received Phase 3 Onboarding + [[https://github.com/virtual-labs/engineers-forum/issues/new/choose][Request]] with experiment details ( name, URL, tag, branch + and build command) and Owner details and request for + approval from IITB. It will be assumed by IIITH that no + special hardware or software is required for the running + of the experiments. IITB will have to specially state + if this is not the case. + + - Step 5 :: IITB will validate the above data and approve the same + on the received Phase 3 Onboarding [[https://github.com/virtual-labs/engineers-forum/issues/new/choose][Request]] . + + - Step 6 :: On approval from IITB , IIITH will host all the + experiments and populate the lab landing page + information (Introduction, Objective, List of + experiments, target audience, course alignment ) from + the R0 shared by IITB in the Phase 3 Onboarding [[https://github.com/virtual-labs/engineers-forum/issues/new/choose][Request]]. + + - Step 7 :: IIITH will host the lab and share the hosted URL link as + part of the onboarding request issue and seek approval + from the GitHub handle of the owner of the lab ( as + recorded in the onboarding request) + + - Step 8 :: On approval from the Lab owner, IIITH will share the + link with IIT Delhi. + +** Pre-Hosting/Rehosting Checklist +- In this section, we will look at the instructions to fill or update + the lab-descriptor.json file which is used to host a lab. Make Sure + that everything in the JSON file is updated correctly before sending + it for verification and hosting. + +- *Section I - Lab* + 1. Name: Should be Discipline name + 2. Link: - Crosscheck the discipline link from vlab.co.in and update + correctly. +- Discipline Should be in the following format: + + Mechanical Engineering + + Computer Science and Engineering + + Electronics and Communication Engineering + + Electrical Engineering + + Civil Engineering + + Chemical Sciences + + Biotechnology and Biomedical Engineering + + Physical Sciences + + Chemical Engineering + + Humanity + + Metallurgical and Materials Engineering + + Design Engineering + + Aerospace Engineering +- Lab Name: Should be same in the JSON file, GitHub repo name and in + /var/www/html/ +- Phase: Should be the number that the lab belongs to Phase 3 or so +- Deploy: Should be true if we are hosting lab and exp or only lab. If + we want to host only exp then it should be false +- College Name: Update from the R0 file (which is given in the request + for hosting issue) +- Base URL: Crosscheck the lab domain in the reverse proxy and update + correctly +- Introduction: from R0 file + +- *Section II - Experiment* +- Name: experiment name from R0 file +- Short Name: it should be in small letters and not more than 4 words + or can give exp repo name from GitLab (if it has only 4 words) +- Repo: give the experiment repo URL from GitLab +- Tag: for every request for hosting, a repo should have a new tag +- Deploy: Should be true if we are hosting lab and exp or only exp. If + we want to host only lab then it should be false + +- *Section III* +- Target Audience, Objective and Courses Alignment: Update from R0 + file +** Hosting Lab and Experiments + In this section, we will discuss hosting a Lab and Experiments. + + - Step 1 :: [[https://github.com/virtual-labs/Phase-3-Lab-Template][Phase-3-Lab-Template]] to be cloned initially on the + server. + + - Step 2 :: After cloning the repo the hosting person should go + through the [[https://github.com/virtual-labs/Phase-3-Lab-Template/blob/master/README.org][README]] file of [[https://github.com/virtual-labs/Phase-3-Lab-Template][Phase-3-Lab-Template]] + repository. + + - Step 3 :: Run the following command to initialize a lab descriptor + file that contains all the required fields, without any + values. In the below command should + be replaced with the actual path to the local lab + repository mentioned in the first step. + + #+BEGIN_SRC + npm run labgen -- init + #+END_SRC + + - Step 4 :: Fill all the values in the + /lab-descriptor.json file generated + above by taking data from R0 file and create a + pull-request to get the lab-descriptor approved. + + - Step 5 :: After getting approval from the legitimate authority, + generate lab and build experiments. + + - Step 6 :: From the Phase-3-Lab-Template repository, run the + following. This will generate the lab pages using the + verified lab-descriptor.json from the lab repository and + push the generated content to remote. + + #+BEGIN_SRC + npm run labgen -- generate + #+END_SRC + + - Step 7 :: Finally host lab and experiments. From the Phase-3-Lab-Template + repository, run the following. This will copy the lab + pages to /var/www/html/, then builds and + copy experiments listed in the lab-descriptor to + /var/www/html//. + #+BEGIN_SRC + npm run labgen -- deploy + #+END_SRC + +** Commencing the (re)hosting request + + VLEAD and the institute requesting the rehosting of Phase + 3 lab while changing the content of the lab will follow + the process detailed below- + + + - Step 1 :: Institute requesting rehosting will follow the + [[https://github.com/virtual-labs/engineers-forum/issues][link]] and locate the Phase III + Lab/Experiment(s) OnBoarding Request issue + corresponding to the lab that they wish to + edit. + + - Step 2 :: They will comment on the issue with the + content that they like to add to the lab + pages following the format - Lab Section + Name - New content + + - Step 3 :: VLEAD's hosting engineer will host the lab with + the requested changes and share the link on + the same issue to seek approval from institute + requesting rehosting. + + - Step 4 :: Institute requesting rehosting will need to + test the hosted link and on their approval the + hosted link will be shared with IITD (to be + added to vlab.co.in). + +** (Re)Hosting Lab and Experiments + In this section, we will discuss (re)hosting a Lab and Experiments. + + - Step 1 :: Check for [[https://github.com/virtual-labs/Phase-3-Lab-Template][Phase-3-Lab-Template]] and lab repo on the server. + + - Step 2 :: Look for the content to be updated(ie., lab or + experiments). + + - Step 3 :: lab-descriptor.json has fields like 'deployLab' under + lab name and 'deploy' under experiment. When these + fields are set true, the particular lab or experiment + will be deployed. + + - Step 4 :: Mark the values as true or false in the + /lab-descriptor.json file(present in + the lab repo) and create a pull-request to get the + lab-descriptor approved. + + - Step 5 :: After getting approval from the legitimate authority, + generate lab, and build experiments. + + - Step 6 :: From the Phase-3-Lab-Template repository, run the + following. This will generate the lab pages using the + verified lab-descriptor.json from the lab repository and + push the generated content to remote. + + #+BEGIN_SRC + npm run labgen -- generate + #+END_SRC + + - Step 7 :: Finally host lab and experiments. From the Phase-3-Lab-Template + repository, run the following. This will copy the lab + pages to /var/www/html/, then builds and + copy experiments listed in the lab-descriptor to + /var/www/html//. + #+BEGIN_SRC + npm run labgen -- deploy + #+END_SRC + +** Steps for creating a new lab entry(Phase 3) +- Build and deploy sources to correct path i.e., (/var/www/html/example-lab) {Hosting Engineer} +- Check for example-lab and sources at /var/www/html/example-lab/ {Hosting Engineer} +- If step 1 and step 2 are true then go to step 4 else go to step 1 {Hosting Engineer} +- Hosting Engineer needs to raise a request to System Engineer +- Add entry to virtual host file in apache configuration(Phase3) {Systems Engineer} +- Reload the apache server {Systems Engineer} +- Add entry to ALB {Raj} +- Finally, add entry in DNS server {Systems Engineer} +- Reload DNS server {Systems Engineer} + +*** NOTE +- Do not add entries without sources as it will create duplicate date in analytics. +- When modifying entries, try modifying before 9:00 AM or after 5:00 PM, it will give buffer time if something goes wrong and wont effect live users. + +** Post Hosting Tasks +- In this section, we will look at the tasks to be done after hosting + a unit, +- *Task I - Testing* + - A quick SMOKE TEST to be performed on the hosted unit. We will + talk about this in the next section. +- *Task II - Updating hosting request* + - After successfuly hosting a unit, go to the hosting request and + update the request with the following: + + Hosted URL + + Branch + + Tag + + Approval + +- *Task III - Updating central hosting sheet* + - Final task would be to update the [[https://docs.google.com/spreadsheets/d/1WXJA_1QkLg-5S0YYBRKyhEXwOgTSbKvm972Fy-thCUc/edit#gid=129834454][central hosting sheet]] with the + following: + + Hosted URL + + Current Tag + + Previous Tag + + Hosting request date + + Hosting Date + + Link to Hosting Request + + Requester + + Status(Approval) + + Number of Experiment + + Added to analytics server + +** Testing + In this section, we will discuss testing of a hosted unit. + + - Step 1 :: A quick SMOKE TEST to be performed on the hosted unit. + + - Step 2 :: If any issues are found in SMOKE TEST, the hosting + unit to be debugged and (re)hosted. + +** Hosting Outcome +- A unit of lab or experiment is hosted on AWS VM. +- All the hosted units will have the same UI ie.., [[https://github.com/virtual-labs/ph3-beta-to-ui3.0-conv][UI 3.0]] with + analytics integrated into them at the time of building with [[https://github.com/virtual-labs/Phase-3-Lab-Template][lab + generation]] script. +* FAQ +** Can you provide a sample JSON file with data? + This is a sample JSON file with data. +#+BEGIN_SRC JSON file of Fluid Machinery Lab +{ + "broadArea": { + "name": "Civil Engineering", + "link": "http://vlab.co.in/broad-area-civil-engineering" + }, + "lab": "Fluid Machinery Lab", + "phase": "3", + "deployLab":true, + "collegeName": "NITS", + "baseUrl": "http://fmc-nitk.vlabs.ac.in", + "introduction": "Welcome to the Fluid Machinery Lab", + "experiments": [ + { + "name": "Performance Characteristics of Centrifugal Pump", + "short-name": "centrifugal-pump", + "repo": "http://vlabs.iitb.ac.in/gitlab/vlabs-dev-central-hosting/fluid-machinery-nitk/performance-characteristics-centrifugal-pump-nitk.git", + "tag": "v1.0.0", + "deploy": true + }, { + "name": "Performance Characteristics of Hydraulic Ram", + "short-name": "hydraulic-ram", + "repo": "http://vlabs.iitb.ac.in/gitlab/vlabs-dev-central-hosting/fluid-machinery-nitk/performance-characteristics-hydraulic-ram-nitk.git", + "tag": "v1.0.0", + "deploy": true + }, { + "name": "Performance Characteristics of Kaplan Turbine", + "short-name": "kaplan-turbine", + "repo": "http://vlabs.iitb.ac.in/gitlab/vlabs-dev-central-hosting/fluid-machinery-nitk/performance-characteristics-kaplan-turbine-nitk.git", + "tag": "v1.0.0", + "deploy": true + }, { + "name": "Double Acting Reciprocating Pump", + "short-name": "reciprocating-pump", + "repo": "http://vlabs.iitb.ac.in/gitlab/vlabs-dev-central-hosting/fluid-machinery-nitk/double-acting-reciprocating-pump-nitk.git", + "tag": "v1.0.0", + "deploy": true + }, { + "name": "Performance Characteristics of Pelton Turbine", + "short-name": "pelton-turbine", + "repo": "http://vlabs.iitb.ac.in/gitlab/vlabs-dev-central-hosting/fluid-machinery-nitk/performance-characteristics-pelton-turbine-nitk.git", + "tag": "v1.0.0", + "deploy": true + }, { + "name": "Pipe Bursting", + "short-name": "pipe-bursting", + "repo": "http://vlabs.iitb.ac.in/gitlab/vlabs-dev-central-hosting/fluid-machinery-nitk/pipe-bursting-nitk.git", + "tag": "v1.0.0", + "deploy": true + }, { + "name": "Performance Characteristics of Francis Turbine", + "short-name": "francis-turbine", + "repo": "http://vlabs.iitb.ac.in/gitlab/vlabs-dev-central-hosting/fluid-machinery-nitk/performance-characteristics-francis-turbine-nitk.git", + "tag": "v1.0.0", + "deploy": true + } + ], + "targetAudience": { + "UG": [ + "B. Tech./ B.E in Civil Engineering" + ], + "PG": [ + "MS/Ph. D. Beginners in Civil Engineering and related topics" + ] + }, + "objective": "Many of our daily life activity depends on fluid machinery so it is important to understand the functioning principles and characteristics of such machinery from an engineering point of view. This lab focuses on giving the user an idea about practical behaviour of such machines before performing operations on a real system.", + "courseAlignment": { + "description": "The syllabi of this lab aligns to the following universities in India.", + "universities": [ + "Visvesvaraya Technological University Karnataka", + "National Institute of Technology Karnataka Karnataka", + "Anna University Tamil Nadu", + "SRM University Delhi - NCR Sonepat Haryana", + "University of Kerala Kerala", + "APJ Abdul Kalam Technological University Kerala", + "CUSAT Kerala" + ] + } +} +#+END_SRC +** Can you explain about input data attributes in the JSON file? + +|-----------------+---------------------+-------------------------------------------+-----------------------------------------------------------------------------------------------------------------| +| Field | Type | Purpose | Example | +|-----------------+---------------------+-------------------------------------------+-----------------------------------------------------------------------------------------------------------------| +| Broad Area Name | String | The Domain of the lab | =Civil Engineering= | +| | | to which the experiments belong | | +|-----------------+---------------------+-------------------------------------------+-----------------------------------------------------------------------------------------------------------------| +| Broad Area Link | URL | Link to the page on vlabs | =http://vlabs.co.in/civil-engineering= | +| | | website that holds all the | | +| | | labs in the given domain | | +|-----------------+---------------------+-------------------------------------------+-----------------------------------------------------------------------------------------------------------------| +| Lab Name | String | Name of the lab, as it is displayed | =Fluid Machinery Lab= | +| | | on the lab pages. This field is also | | +| | | used to generate urls for lab and | | +| | | experiment pages. | | +|-----------------+---------------------+-------------------------------------------+-----------------------------------------------------------------------------------------------------------------| +| Lab Base-url | URL | Domain name part of the lab and | =http://fmc-nitk.vlabs.ac.in= | +| | | experiment URLs. | | +|-----------------+---------------------+-------------------------------------------+-----------------------------------------------------------------------------------------------------------------| +| Experiments | List of Experiments | Each experiment in the lab is stored as a | =[{"name": "Exp1", "short-name": "exp1", "repo": "gitlab.com/exp1", "tag": "v1.0.0", "deploy": "true", }, ...]= | +| | | record containing two fields: experiment | | +| | | name and link to the repository | | +|-----------------+---------------------+-------------------------------------------+-----------------------------------------------------------------------------------------------------------------| + +* Conclusion + This document highlights the hosting process. It aims at making an + integration engineer understand the hosting process of Phase 3 Labs. diff --git a/lab-descriptor-instructions.md b/lab-descriptor-instructions.md new file mode 100644 index 00000000..feba001b --- /dev/null +++ b/lab-descriptor-instructions.md @@ -0,0 +1,131 @@ +# Instructions to fill the lab-descriptor while hosting + The following are the instructions to fill or update the lab-descriptor.json file which is used to host a lab. Make Sure that everything in the JSON file is updated correctly before sending it for verification and hosting + +## Section I - Lab + + 1. Name: Should be Discipline name + 2. Link: - Crosscheck the discipline link from vlab.co.in and update correctly + - Discipline Should be in the following format: + - Mechanical Engineering + - Computer Science and Engineering + - Electronics and Communication Engineering + - Electrical Engineering + - Civil Engineering + - Chemical Sciences + - Biotechnology and Biomedical Engineering + - Physical Sciences + - Chemical Engineering + - Humanity + - Metallurgical and Materials Engineering + - Design Engineering + - Aerospace Engineering + +Lab Name: Should be same in the JSON file, GitHub repo name, and in /var/www/html/. This name acts as the lab identifier and hence must be unique across all labs and cannot be changed once given. + +Lab Display Name: This name will be displayed on the Lab web pages as the Lab name. This must be unique across all the labs but it can be changed later as long as another unique name is chosen. + +Phase: Should be the number of the phase that the lab belongs to, e.g. Phase 3 or Phase 4 + +Deploy Lab: This should be true if we are hosting a lab along with experiments or only a lab but no experiments. If we want to host only experiments without rehosting the lab then it should be false. This may be useful in cases where the lab developer makes a fix in the lab and only wants to rehost the lab without rehosting all the experiments with it or in cases where the lab developer has changed something on an experiment and the complete lab need not be rehosted. + +College Name(Institute Name): Update from the R0 file (which is given in the request for hosting issue) + +The following are the supported institutes and their ids (to be given in the URL along with the lab id. Ex:- cse01-iiith) + +- Institute Names and their Id’s: + + - IIITHyderabad - iiith + - Amrita - au + - IIT Delhi -iitd + - IIT Kanpur - iitk + - IIT Guwahati - iitg + - IIT Roorkee - iitr + - IIT Bombay - iitb + - COEP -coep + - Dayalbagh - dei + - IIT Kharagpur - iitkgp + - NIT Karnataka -nitk + + Base URL: Crosscheck the lab domain in the reverse proxy and update correctly in the JSON + + Introduction: from R0 file + +## Section II - Experiment + + 1. Name: experiment name from R0 file + 2. Short Name: it should be in small letters and not more than 4 words or can give exp repo name from GitLab (if it has only 4 words) + 3. Repo: give the experiment repo URL from GitLab + 4. Tag: for every request for hosting, a repo should have a new tag + 5. Deploy: This should be true if we are hosting a lab and exp or only exp. If we want to host the only lab then it should be false + + +## Section III + Target Audience, Objective, and Courses Alignment: Should be updated from the R0 file. + + - Recommendations + + - Condition 1: if we get a hosting request to update only the lab content, then a hosting person should host only the lab but not the content of the experiments. In the JSON file, deployLab should be true in the lab section, and deploy should be false in the experiments section. + + - Condition 2: if we get a hosting request to update only the experiment content, then a hosting person should host only the experiments but not the lab. In the JSON file, deployLab should be false in the lab section, and deploy should be true in the experiments section. + + - Condition 3: If the lab is hosted multiple times with spelling mistakes or so, then the multiple labs will be created in the analytics and we will lose the lab/experiments usage. + + - Condition 4: After hosting the lab, test it thoroughly compared with analytics data. + +#### Sample JSON file +``` +{ + "broadArea": { + "name": "Electronics and Communication Engineering", + "link": "http://www.vlab.co.in/broad-area-electronics-and-communications" + }, + "lab": "Digital Electronics IITR", + "phase": 3, + "collegeName": "IITR", + "baseUrl": "de-iitr.vlabs.ac.in", + "introduction": "Welcome to the Digital Electronics Lab", + "experiments": [ + { + "name": "Verification and interpretation of truth table for AND, OR, NOT, NAND, NOR, Ex-OR, Ex-NOR gates", + "short-name": "truth-table-gates", + "repo": "https://github.com/virtual-labs/exp-truth-table-gates-iitr", + "tag": "v1.0.0", + "deploy": true + }, + { + "name": "Construction of half and full adder using XOR and NAND gates and verification of its operation", + "short-name": "half-full-adder", + "repo": "https://github.com/virtual-labs/exp-half-full-adder-iitr", + "tag": "v1.0.0", + "deploy": true + }, + { + "name": "Verify the truth table of one bit and two bit comparator using logic gates", + "short-name": "comparator-using-logic-gates", + "repo": "https://github.com/virtual-labs/exp-comparator-using-logic-gates-iitr", + "tag": "v1.0.0", + "deploy": true + } + ], + "targetAudience": { + "UG": ["B. Tech./ B.E in Electronics and Communications"], + "PG": [ + "MS/Ph. D. Beginners in Electronics and Communications and related topics" + ] + }, + "objective": "To learn and understand the basic concepts of digital electronics.", + "courseAlignment": { + "description": "The syllabi of this lab aligns to the following universities in India.", + "universities": [ + "Uttarakhand Technical University Uttarakhand", + "Himachal Pradesh Technical University Himachal Pradesh", + "Central Library, H.N.B.Garhwal University Uttarakhand", + "I. K. Gujral Punjab Technical University Punjab", + "Graphic Era University, Dehradun Uttarakhand", + "Quantum University Uttarakhand", + "Bhagwant University, Ajmer Rajasthan", + "Dr. A.P.J. Abdul Kalam Technical University, Lucknow, Uttar Pradesh Uttar Pradesh" + ] + } +} +``` diff --git a/lab-descriptor.json b/lab-descriptor.json index e394a5d6..c7b33844 100644 --- a/lab-descriptor.json +++ b/lab-descriptor.json @@ -1,22 +1,23 @@ -{ - "broadArea": { - "name": "", - "link": "" - }, - "lab": "", - "deployLab": , - "phase": , - "collegeName": "", - "baseUrl": "", - "introduction": "", - "experiments": [], - "targetAudience": { - "UG": [], - "PG": [] - }, - "objective": "", - "courseAlignment": { - "description": "", - "universities": [] - } -} +{ + "broadArea": { + "name": "", + "link": "" + }, + "lab": "", + "lab_display_name": "", + "deployLab": , + "phase": , + "collegeName": "", + "baseUrl": "", + "introduction": "", + "experiments": [], + "targetAudience": { + "UG": [], + "PG": [] + }, + "objective": "", + "courseAlignment": { + "description": "", + "universities": [] + } +} diff --git a/lab-structure/README.html b/lab-structure/README.html deleted file mode 100644 index 88675e50..00000000 --- a/lab-structure/README.html +++ /dev/null @@ -1,312 +0,0 @@ - - - - - - - -Hosting - - - - - - -
-

Hosting

- - -
-

1 Introduction

-
-

-This document captures the repo structure and instructions to run a lab. -

-
-
- -
-

2 Repository Structure

-
-
-|-- makefile
-|-- README.org
-|-- .gitignore
-|-- src/
-      |-- lab/
-      |    |-- experiment-list.json
-      |    |-- Introduction.html
-      |    |-- Objective.html 
-      |    |-- List of experiments.html 
-      |    |-- Target-audience.html
-      |    |-- Feedback.html
-
-
-
- -
-

3 Steps to build and run a lab

-
-

-STEP 1 : Clone the lab repository -

-
-https://github.com/virtual-labs/hosting.git
-
- -

-STEP 2 : Change directory to lab repo -

-
-cd hosting
-
- -

-STEP 3 : Removes the build directory and builds the sources -

-
-make -k all
-
- -

-STEP 4 : Run the lab server -

-
-make -k run
-
-
-
-
-
-

Date: 2020-03-02 Mon 00:00

-

Author: VLEAD

-

Created: 2020-05-25 Mon 18:27

-

Validate

-
- - diff --git a/lab-structure/README.org b/lab-structure/README.org deleted file mode 100644 index 1983f76a..00000000 --- a/lab-structure/README.org +++ /dev/null @@ -1,50 +0,0 @@ -#+TITLE: Hosting -#+AUTHOR: VLEAD -#+DATE: [2020-03-02 Mon] -#+SETUPFILE: ./org-templates/level-0.org -#+TAGS: boilerplate(b) -#+EXCLUDE_TAGS: boilerplate -#+OPTIONS: ^:nil - -* Introduction - This document captures the repo structure and instructions to run a lab. - -* Repository Structure - #+BEGIN_EXAMPLE - |-- makefile - |-- README.org - |-- .gitignore - |-- src/ - |-- lab/ - | |-- experiment-list.json - | |-- Introduction.html - | |-- Objective.html - | |-- List of experiments.html - | |-- Target-audience.html - | |-- Feedback.html -#+END_EXAMPLE - -* Steps to build and run a lab - *STEP 1 :* Clone the lab repository - #+BEGIN_EXAMPLE - https://github.com/virtual-labs/hosting.git - #+END_EXAMPLE - - *STEP 2 :* Change directory to lab repo - #+BEGIN_EXAMPLE - cd hosting - #+END_EXAMPLE - - *STEP 3 :* Removes the build directory and builds the sources - #+BEGIN_EXAMPLE - make -k all - #+END_EXAMPLE - - *STEP 4 :* Run the lab server - #+BEGIN_EXAMPLE - make -k run - #+END_EXAMPLE - - - - diff --git a/lab-structure/makefile b/lab-structure/makefile deleted file mode 100644 index d9e3171a..00000000 --- a/lab-structure/makefile +++ /dev/null @@ -1,32 +0,0 @@ -SHELL := /bin/bash -PWD=$(shell pwd) -SRC_DIR=${PWD}/src -BUILD_DIR=${PWD}/build -THEME=green-icon -STATUS=0 - -all: clean-build build - -init: - ./init.sh - -build: clean-build create-build-dir copy-lab-sources copy-lab-theme - -create-build-dir: - mkdir -p ${BUILD_DIR} - -copy-lab-sources: - cp -rf ${SRC_DIR}/lab/* ${BUILD_DIR} - -copy-libs: - cp -rf ${SRC_DIR}/libs ${BUILD_DIR} - -copy-lab-theme: - cp -rf ${SRC_DIR}/themes/${THEME}/* ${BUILD_DIR} - -clean-build: - rm -rf ${BUILD_DIR} - -run: - cd ${BUILD_DIR};python -m SimpleHTTPServer 8000 - diff --git a/lab-structure/src/themes/green-icon/css/style-main.css b/lab-structure/src/themes/green-icon/css/style-main.css deleted file mode 100644 index 0bfafdf5..00000000 --- a/lab-structure/src/themes/green-icon/css/style-main.css +++ /dev/null @@ -1,2753 +0,0 @@ -/*----------------------------------------*/ -/* CSS -/*----------------------------------------*/ -@import url(https://fonts.googleapis.com/css?family=Open+Sans); -@import url(https://fonts.googleapis.com/css?family=Montserrat:700); -@import url(https://fonts.googleapis.com/css?family=Raleway:400,300,700,500,600); -html, body { - height: 100%; -} - -.floatleft { - float: left; -} - -.floatright { - float: right; -} - -.alignleft { - float: left; - margin-right: 15px; - margin-bottom: 15px; -} - -.alignright { - float: right; - margin-left: 15px; - margin-bottom: 15px; -} - -.aligncenter { - display: block; - margin: 0 auto 15px; -} - -a:focus { - outline: 0px solid; -} - -img { - max-width: 100%; - height: auto; -} - -.fix { - overflow: hidden; -} - -p { - margin: 0 0 15px; - font-size: 17.5px; -} - -li { - font-size: 17.5px; - line-height: 1.6; -} - -i { - font-size: 16px; - line-height: 1.6; -} - -h1, h2, h3, h4, h5, h6 { - font-family: "Open Sans", sans-serif; - margin: 0 0 15px; - /*color: #444;*/ - font-weight: 500; -} - -h1 { - font-size: 48px; - line-height: 50px; -} - -h2 { - font-size: 38px; - line-height: 40px; -} - -h3 { - font-size: 30px; - line-height: 32px; -} - -h4 { - font-size: 24px; - line-height: 26px; -} - -h5 { - font-size: 20px; - line-height: 22px; -} - -h6 { - font-size: 16px; - line-height: 20px; -} - -a { - transition: all 0.3s ease 0s; - text-decoration: none; -} - -a:hover { - color: #3EC1D5; - text-decoration: none; -} - -a:active, a:hover { - outline: 0 none; -} - -body { - background: #fff none repeat scroll 0 0; - color: #444; - font-family: "Open Sans", sans-serif; - font-size: 14px; - text-align: left; - overflow-x: hidden; - line-height: 22px; -} - -/* Back to top button */ -.back-to-top { - position: fixed; - display: none; - background: #3EC1D5; - color: #fff; - padding: 6px 12px 9px 12px; - font-size: 16px; - border-radius: 2px; - right: 15px; - bottom: 15px; - transition: background 0.5s; -} - -@media (max-width: 768px) { - .back-to-top { - bottom: 15px; - } -} -.back-to-top:focus { - background: #3EC1D5; - color: #fff; - outline: none; -} - -.back-to-top:hover { - background: #3cd6ed; - color: #fff; -} - -.clear { - clear: both; -} - -ul { - list-style: outside none none; - margin: 0; - padding: 0; -} - -input, select, textarea, input[type=text], input[type=date], input[type=url], input[type=email], input[type=password], input[type=tel], button, button[type=submit] { - -moz-appearance: none; - box-shadow: none !important; -} - -div#preloader { - position: fixed; - left: 0; - top: 0; - z-index: 99999; - width: 100%; - height: 100%; - overflow: visible; - background: #fff url("../img/preloader.gif") no-repeat center center; -} - -::-moz-selection { - background: #3EC1D5; - text-shadow: none; -} - -::selection { - background: #3EC1D5; - text-shadow: none; -} - -.area-padding { - /* padding: 31px 0px 80px;*/ -} - -.area-padding-2 { - padding: 70px 0px 50px; -} - -.padding-2 { - padding-bottom: 90px; -} - -.section-headline h2 { - display: inline-block; - font-size: 40px; - /*font-weight: 600;*/ - margin-bottom: 59px; - margin-top: 42px; - position: relative; - text-transform: capitalize; -} - -.section-headline h2::after { - border: 1px solid #333; - bottom: -20px; - content: ""; - left: 0; - margin: 0 auto; - position: absolute; - right: 0; - width: 40%; -} - -.sec-head { - display: inline-block; - font-size: 17px; - font-weight: 600; - margin-bottom: 0; - padding: 0 0 10px; - text-transform: uppercase; - transition: all 0.4s ease 0s; -} - -/*--------------------------------*/ -/* 2. Header top Area -/*--------------------------------*/ -.header-area { - position: absolute; - top: 0; - left: 0; - width: 100%; - height: auto; - background-color: #fff; - /*background: rgba(0, 0, 0, 0.40);*/ - z-index: 9; -} - -.navbar-header a.navbar-brand { - display: inline-block; - height: 90px; - /* padding: 15px 0;*/ -} - -.main-menu ul.navbar-nav li { - display: inline-block; - padding: 0px 13px; -} - -.main-menu ul.navbar-nav li a { - background: rgba(0, 0, 0, 0) none repeat scroll 0 0; - color: #a7a9ab; - font-size: 15px; - font-weight: 500; - padding: 24px 0px; - text-transform: capitalize; - letter-spacing: 1px; -} - -.main-menu ul.navbar-nav li.active a::after { - border: 1px solid #3cd6ed; - bottom: 0px; - content: ""; - left: 0; - position: absolute; - width: 100%; -} - -.main-menu ul.navbar-nav li.active a:hover { - background: none; - color: #3EC1D5; -} - -.main-menu ul.navbar-nav li.active a:focus { - color: #3cd6ed; -} - -.main-menu ul.navbar-nav li.active a { - background: rgba(0, 0, 0, 0) none repeat scroll 0 0; - color: #a7a9ab; - position: relative; -} - -.main-menu ul.navbar-nav li a:hover { - color: #3EC1D5; -} - -.navbar { - border: medium none; - margin-bottom: 0; -} - -.navbar-default { - background: rgba(0, 0, 0, 0) none repeat scroll 0 0; -} - -.main-menu ul.navbar-default .navbar-nav > .active > a, .navbar-default .navbar-nav > .active > a:hover, .navbar-default .navbar-nav > .active > a:focus { - background: none; - color: #333; -} - -.navbar-default .navbar-toggle { - background: rgba(0, 0, 0, 0) none repeat scroll 0 0; - border: medium none; - border-radius: 0; - padding: 25px 0px; -} - -.navbar-default .navbar-nav > li > a:hover, .navbar-default .navbar-nav > li > a:focus { - background-color: transparent; - color: #a7a9ab; -} - -.navbar-default .navbar-toggle:hover, .navbar-default .navbar-toggle:focus { - background: none; -} - -.navbar-default .navbar-toggle .icon-bar { - background-color: #fff; - width: 30px; - height: 2px; -} - -.top-right.text-right { - float: right; - position: relative; - top: 24px; - margin-left: 20px; -} - -.top-right.text-right > li { - float: right; - margin: 0px 8px; -} - -.top-right.text-right li a { - color: #fff; -} - -/*--------------------------------*/ -/* menu -/*--------------------------------*/ -.header-area.stick { - /*background-color: rgba(0, 0, 0, 1);*/ - background-color: #fff; - height: 90px; - position: fixed; - top: 0; - width: 100%; - z-index: 999999; -} - -.stick .navbar-header a.navbar-brand { - display: inline-block; - height: 90px; -} - -.stick .navbar-brand > img { - display: none; -} - -.stick .navbar-brand.sticky-logo > img { - display: block; -} - -.sticky-logo h1 { - color: #fff; - padding: 0; - margin: 0; - font-size: 36px; - font-weight: bold; - line-height: 1; -} - -.sticky-logo h1 span { - color: #3ec1d5; -} - -.stick .main-menu ul.navbar-nav li.active a::after { - border: 1px solid #3EC1D5; - bottom: 0px; - content: ""; - left: 0; - position: absolute; - width: 100%; -} - -.stick .main-menu ul.nav > li > a:hover { - color: #3EC1D5; -} - -.stick .main-menu ul.navbar-nav li.active a { - background: rgba(0, 0, 0, 0) none repeat scroll 0 0; - color: #3EC1D5; - position: relative; -} - -.stick .mainmenu ul#nav > li:hover > a, .stick .mainmenu ul#nav li .mega-menu, .stick .mainmenu ul#nav li ul.sub-menu { - background-color: #f5f5f5; - color: #fff; - outline: medium none; -} - -.stick .mainmenu ul#nav li:hover ul.sub-menu li a:hover, .mainmenu ul#nav li .mega-menu span > a:hover, .stick .mainmenu ul#nav li .mega-menu-shop a.mega-menu-title:hover { - color: #fff; -} - -.stick .logo { - height: 20px; -} - -.stick .logo a { - margin-top: 0px; -} - -.stick .main-menu ul.nav > li > a { - color: #a7a9ab; - line-height: 22px; - padding: 24px 0px; - text-transform: capitalize; - letter-spacing: 1px; -} - -.stick .navbar-default .navbar-toggle .icon-bar { - background-color: #fff; - width: 30px; - height: 2px; -} - -.stick .navbar-default .navbar-toggle { - padding: 10px 0px; -} - -/*--------------------------------*/ -/* Services -/*--------------------------------*/ -.services-icon { - color: #444; - display: inline-block; - font-size: 36px; - line-height: 36px; - margin-bottom: 20px; -} - -.section-headline.services-head > h2 { - margin-bottom: 25px; -} - -.services-details { - padding-top: 40px; - transition: all 0.5s ease 0s; - padding-top: 20px; -} - -.services-details:hover h4, .services-details:hover .services-icon { - color: #3EC1D5; -} - -.row.second-row { - margin-top: 40px; -} - -.section-head > h2 { - color: #333; -} - -.single-services > h4 { - color: #444; - font-size: 24px; - font-weight: 500; -} - -.single-services > p { - color: #333; - font-size: 14px; -} - -/*---------------------------------------- - Skill Area -----------------------------------------*/ -.our-skill-area { - position: relative; -} - -.our-skill-area { - background: rgba(248, 248, 248, 0.8) url("../img/background/bg1.jpg") no-repeat fixed center top/cover; -} - -.test-overly { - background: rgba(0, 0, 0, 0.8); - position: absolute; - width: 100%; - height: 100%; -} - -.progress-h4 { - color: #fff; - font-weight: 500; -} - -/*---------------------------------------- - Css -----------------------------------------*/ -.wellcome-area { - background: rgba(248, 248, 248, 0.8) url("../img/background/bg1.jpg"); - background-size: cover; - background-position: center top; - background-repeat: no-repeat; - background-attachment: fixed; -} - -.well-bg { - position: relative; -} - -.wellcome-text { - /* margin: 70px 0;*/ - padding: 30px 40px; -} - -.well-text > h2 { - color: #fff; - font-size: 44px; - font-weight: 500; - line-height: 50px; -} - -.well-text p { - font-size: 18px; - font-style: italic; - color: #fff; -} - -.wellcome-text .section-headline p { - margin-bottom: 0; -} - -.subs-feilds { - border: 1px solid #fff; - display: inline-block; - height: 52px; - margin-top: 30px; - width: 60%; - border-radius: 30px; - overflow: hidden; -} - -.suscribe-input input { - background: transparent none repeat scroll 0 0; - border: medium none; - color: #fff; - float: left; - font-size: 15px; - line-height: 24px; - padding: 11px 15px; - width: 70%; - height: 50px; -} - -.suscribe-input button { - background: #3ec1d5 none repeat scroll 0 0; - border: medium none; - border-radius: 0 20px 20px 0; - color: #fff; - float: left; - font-size: 20px; - font-weight: 700; - padding: 14px 20px; - width: 30%; -} - -.suscribe-input button:hover { - background: #fff none repeat scroll 0 0; - color: #3ec1d5; -} - -/*---------------------------------------- - career section -----------------------------------------*/ -.team-member { - background: rgba(0, 0, 0, 0.65) none repeat scroll 0 0; - display: block; - margin-right: -15px; - padding: 10px; - position: relative; - overflow: hidden; -} - -.team-member::before { - background: rgba(0, 0, 0, 0) url("../img/team/team01.jpg") repeat scroll 0 0; - content: ""; - display: block; - height: 100%; - left: 0; - margin-right: -15px; - padding: 10px; - position: absolute; - top: 0; - width: 100%; - z-index: -1; - background-repeat: no-repeat; - background-size: cover; - background-position: top center; - transition: 5s; - transform: scale(1); -} - -.team-member:hover.team-member::before { - transform: scale(1.2); -} - -.single-team-member { - border: 1px solid #ddd; -} - -.team-left-text h4 { - color: #fff; - font-size: 30px; - font-weight: 700; - text-transform: uppercase; -} - -.team-left-text p { - color: #fff; - font-size: 17px; - line-height: 26px; -} - -.email-news { - display: block; - margin: 30px 0; - overflow: hidden; - text-align: center; - width: 100%; -} - -.email-news .email_button input { - background: rgba(0, 0, 0, 0) none repeat scroll 0 0; - border: 1px solid #fff; - color: #fff; - float: left; - font-size: 13px; - padding: 8px; - width: 81%; -} - -.email-news .email_button > button { - background: rgba(0, 0, 0, 0) none repeat scroll 0 0; - border: 1px solid #fff; - color: #fff; - float: left; - font-size: 16px; - padding: 8px 12px; - text-align: center; -} - -.email-news .email_button > button:hover { - background: #3EC1D5; - border: 1px solid #fff; - color: #fff; -} - -.team-left-icon ul li { - display: inline-block; -} - -.team-left-icon ul li a:hover { - color: #3EC1D5; - background: #fff; - border: 2px solid #fff; -} - -.team-left-icon ul li a { - border: 2px solid #fff; - color: #fff; - display: block; - font-size: 16px; - height: 40px; - line-height: 37px; - margin: 0 3px; - width: 40px; -} - -.team-member-carousel .single-team-member { - overflow: hidden; - width: 100%; -} - -.single-team-member:hover .team-img a:after { - opacity: 1; -} - -.single-team-member:hover .team-social-icon { - top: 45%; - opacity: 1; -} - -.team-img { - position: relative; -} - -.team-img > a { - display: block; -} - -.team-img > a::after { - background: rgba(0, 0, 0, 0.7); - bottom: 0; - content: ""; - height: 100%; - left: 0; - position: absolute; - transition: all 0.5s ease 0s; - width: 100%; - opacity: 0; -} - -.team-social-icon { - left: 50%; - margin-left: -61px; - opacity: 0; - position: absolute; - top: 30%; - transition: 1.3s; -} - -.team-social-icon ul li { - display: inline-block; -} - -.team-social-icon ul li a { - border: 1px solid #fff; - border-radius: 50%; - color: #fff; - display: block; - font-size: 14px; - height: 34px; - line-height: 35px; - margin: 0 3px; - width: 34px; -} - -.team-social-icon ul li a:hover { - color: #fff; - border: 1px solid #3EC1D5; - background: #3EC1D5; -} - -.team-content { - padding: 10px 0px; -} - -.team-content > h4, .team-content > p { - color: #444; - margin-bottom: 5px; -} - -.team-content.head-team p { - margin-bottom: 0; -} - -.team-left-icon.text-center { - margin-bottom: 20px; -} - -.head-team h4 { - display: inline-block; - font-size: 25px; - font-weight: 600; - padding-bottom: 10px; - text-transform: uppercase; -} - -#top { - min-height: 100%; - display: flex; - flex-direction: column; -} - -#top > div { - flex: 1; -} - -#content { - display: flex; - flex-direction: column; -} - -#content > div:nth-child(2) { - flex: 1; -} - -/*-------------------------------------------------------------- -# Footer ---------------------------------------------------------------*/ -#footer { - background: #000; - color: #eee; - font-size: 14px; -} - -#footer .footer-top { - background: #111; - /*padding: 60px 0 30px 0;*/ - padding: 15px 0 0px 0; -} - -#footer .footer-top .footer-info h3 { - font-size: 34px; - margin: 0 0 20px 0; - padding: 2px 0 2px 10px; - line-height: 1; - font-family: "Open Sans", sans-serif; - font-weight: 700; - letter-spacing: 3px; - border-left: 4px solid #18d26e; -} - -#footer .footer-top p { - font-size: 1.4rem; - margin-bottom: 0; - color: #eee; -} - -#footer .footer-top .social-links a { - font-size: 18px; - display: inline-block; - background: #333; - color: #eee; - line-height: 1; - padding: 8px 0; - margin-right: 4px; - border-radius: 50%; - text-align: center; - width: 36px; - height: 36px; - transition: 0.3s; -} - -#footer .footer-top .social-links a:hover { - background: #3cd6ed; - color: #fff; -} - -#footer .footer-top h4 { - font-size: 14px; - color: #fff; - position: relative; - padding-bottom: 12px; -} - -#footer .footer-top h4::before, #footer .footer-top h4::after { - content: ""; - position: absolute; - left: 0; - bottom: 0; - height: 2px; -} - -#footer .footer-top h4::before { - right: 0; - background: #555; -} - -#footer .footer-top h4::after { - background: #3EC1D5; - width: 60px; -} - -#footer .footer-top i { - color: #fff; -} - -#footer .footer-top a { - color: #fff; -} - -/*-------------------------------------------------------------- -# Intro Section ---------------------------------------------------------------*/ -#intro { - width: 100%; - /* background: #000; - display: table; - height: 100vh; - */ -} - -#intro .carousel-item { - width: 100%; - /* height: 100vh;*/ - background-size: cover; - background-position: center; - background-repeat: no-repeat; -} - -#intro .carousel-item::before { - content: ""; - background-color: rgba(0, 0, 0, 0.4); - position: absolute; - height: 100%; - width: 100%; - top: 0; - right: 0; - left: 0; - bottom: 0; -} - -#intro .carousel-container { - display: flex; - justify-content: left; - align-items: center; - position: absolute; - bottom: 0; - top: 0; - left: 0; - right: 0; -} - -#intro .carousel-content { - text-align: left; - padding-top: 220px; -} - -#intro h2 { - color: #fff; - margin-bottom: 30px; - font-size: 48px; - font-weight: 700; -} - -@media (max-width: 768px) { - #intro h2 { - font-size: 28px; - } -} -#intro p { - width: 100%; - margin: 0 auto 30px auto; - color: #fff; -} - -@media (min-width: 1024px) { - #intro p { - width: 100%; - font-size: 45px; - } -} -#intro .carousel-fade .carousel-inner .carousel-item { - -webkit-transition-property: opacity; - transition-property: opacity; -} - -#intro .carousel-fade .carousel-inner .carousel-item, -#intro .carousel-fade .carousel-inner .active.carousel-item-left, -#intro .carousel-fade .carousel-inner .active.carousel-item-right { - opacity: 0; -} - -#intro .carousel-fade .carousel-inner .active, -#intro .carousel-fade .carousel-inner .carousel-item-next.carousel-item-left, -#intro .carousel-fade .carousel-inner .carousel-item-prev.carousel-item-right { - opacity: 1; - transition: 0.5s; -} - -#intro .carousel-fade .carousel-inner .carousel-item-next, -#intro .carousel-fade .carousel-inner .carousel-item-prev, -#intro .carousel-fade .carousel-inner .active.carousel-item-left, -#intro .carousel-fade .carousel-inner .active.carousel-item-right { - left: 0; - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); -} - -#intro .carousel-control-prev, #intro .carousel-control-next { - width: 10%; -} - -@media (min-width: 1024px) { - #intro .carousel-control-prev, #intro .carousel-control-next { - width: 5%; - } -} -#intro .carousel-control-next-icon, #intro .carousel-control-prev-icon { - background: none; - font-size: 32px; - line-height: 1; -} - -#intro .carousel-indicators li { - cursor: pointer; -} - -#intro .btn-get-started { - font-family: "Open Sans", sans-serif; - font-weight: 500; - font-size: 16px; - letter-spacing: 1px; - display: inline-block; - padding: 8px 32px; - border-radius: 50px; - transition: 0.5s; - margin: 10px; - color: #fff; - background: #18d26e; -} - -#intro .btn-get-started:hover { - background: #fff; - color: #18d26e; -} - -.downArrow { - position: absolute; - bottom: 0%; - left: 50%; -} - -.bounce { - -moz-animation: bounce 3s infinite; - -webkit-animation: bounce 3s infinite; - animation: bounce 3s infinite; -} - -@-moz-keyframes bounce { - 0%, 20%, 50%, 80%, 100% { - -moz-transform: translateY(0); - transform: translateY(0); - } - 40% { - -moz-transform: translateY(-30px); - transform: translateY(-30px); - } - 60% { - -moz-transform: translateY(-15px); - transform: translateY(-15px); - } -} -@-webkit-keyframes bounce { - 0%, 20%, 50%, 80%, 100% { - -webkit-transform: translateY(0); - transform: translateY(0); - } - 40% { - -webkit-transform: translateY(-30px); - transform: translateY(-30px); - } - 60% { - -webkit-transform: translateY(-15px); - transform: translateY(-15px); - } -} -@keyframes bounce { - 0%, 20%, 50%, 80%, 100% { - -moz-transform: translateY(0); - -ms-transform: translateY(0); - -webkit-transform: translateY(0); - transform: translateY(0); - } - 40% { - -moz-transform: translateY(-30px); - -ms-transform: translateY(-30px); - -webkit-transform: translateY(-30px); - transform: translateY(-30px); - } - 60% { - -moz-transform: translateY(-15px); - -ms-transform: translateY(-15px); - -webkit-transform: translateY(-15px); - transform: translateY(-15px); - } -} -/* the blue circle with only one line of text, centered vertically */ -.oneline:after { - content: ""; - display: block; - width: 100%; - height: 0; - padding-bottom: 100%; - background: cadetblue; - -moz-border-radius: 50%; - -webkit-border-radius: 50%; - border-radius: 50%; -} - -.oneline:hover:after { - background-color: #3EC1D5; -} - -.oneline div { - float: left; - width: 100%; - padding-top: 19%; - line-height: 1em; - margin-top: -1.7em; - text-align: center; - color: white; -} - -.oneline p { - text-align: center; - font-size: 1.2em; -} - -@media only screen and (min-width: 350px) { - .col { - display: inline-block; - position: relative; - width: 100%; - margin: 4% 0 5% 9%; - padding: 0; - background-color: transparent; - border-top: none; - height: 260px; - } - - .col .spacer { - position: relative; - padding-top: 100%; - } - - .col:nth-child(3n+1) { - margin-left: 1%; - } - - .circle { - position: absolute; - top: 0; - bottom: 0; - left: 0; - right: 0; - background-color: powderblue; - color: #333; - border-radius: 50%; - box-sizing: border-box; - text-align: center; - display: block; - padding: 5px; - border: 5px solid #9dd8e0; - -webkit-transition: all 1s ease-out; - -moz-transition: all 1s ease-out; - -o-transition: all 1s ease-out; - transition: all 1s ease-out; - } - - .circle:before { - content: ""; - display: inline-block; - height: 100%; - vertical-align: middle; - margin-right: -2%; - } - - .circle:hover { - /* background-color: #a7a9ab;*/ - background-color: #3EC1D5; - border: 5px solid #444; - color: #fff; - } - - /*new class added for text hover*/ - .circle:hover h4 { - /* background-color: #a7a9ab;*/ - background-color: #3EC1D5; - color: #fff; - } - - .outline { - border: 5px solid grey; - position: absolute; - top: 0; - bottom: 0; - left: 0; - right: 0; - border-radius: 50%; - box-sizing: border-box; - } - - .circle h1 { - font-size: 0.9em; - line-height: 1em; - } - - .circle p { - font-size: 0.8em; - line-height: 1em; - color: white; - text-align: center; - } - - .circle a { - color: inherit; - } - - .circle > p, .circle > h1, .circle > .wrapcontent { - display: inline-block; - vertical-align: middle; - } - - .circle > p > p, .circle > p > h1, .circle > h1 > p, .circle > h1 > h1, .circle > .wrapcontent > p, .circle > .wrapcontent > h1 { - display: block; - } -} -@media only screen and (min-width: 481px) { - .circle h1 { - font-size: 1.2em; - line-height: 1em; - } - - .circle p { - font-size: 1em; - line-height: 1em; - } -} -@media only screen and (min-width: 768px) { - .circle h1 { - font-size: 1.6em; - line-height: 1em; - } - - .circle p { - font-size: 1.2em; - line-height: 1em; - } -} -/*Accordian*/ -.accordion { - width: 100%; - max-width: 1080px; - height: 250px; - overflow: hidden; - margin: 50px auto; -} - -.accordion ul { - width: 100%; - display: table; - table-layout: fixed; - margin: 0; - padding: 0; -} - -.accordion ul li { - display: table-cell; - vertical-align: bottom; - position: relative; - width: 16.666%; - height: 250px; - background-repeat: no-repeat; - background-position: center center; - transition: all 500ms ease; -} - -.accordion ul li div { - display: block; - overflow: hidden; - width: 100%; - padding: 32px; - height: 287px; - margin-top: -124px; -} - -.accordion ul li div a { - display: block; - /*height: 250px;*/ - width: 100%; - position: relative; - z-index: 3; - vertical-align: bottom; - /* padding: 15px 20px;*/ - box-sizing: border-box; - color: #fff; - text-decoration: none; - font-family: Open Sans, sans-serif; - transition: all 200ms ease; -} - -.accordion ul li div a * { - opacity: 0; - margin: 0; - width: 100%; - text-overflow: ellipsis; - position: relative; - z-index: 5; - white-space: nowrap; - overflow: hidden; - -webkit-transform: translateX(-20px); - transform: translateX(-20px); - -webkit-transition: all 400ms ease; - transition: all 400ms ease; -} - -.accordion ul li div a h2 { - font-family: Montserrat, sans-serif; - text-overflow: clip; - font-size: 24px; - text-transform: uppercase; - margin-bottom: 2px; - /*top: 160px;*/ -} - -.accordion ul li div a p { - /* top: 160px; - font-size: 13.5px;*/ - font-size: 16px; - line-height: 2.2; -} - -.accordion ul li:nth-child(1) { - background-image: url("http://files.vlabs.ac.in/iiith-landing-pages/img/disciplines/computer-science.jpg"); -} - -.accordion ul li:nth-child(2) { - background-image: url("http://files.vlabs.ac.in/iiith-landing-pages/img/disciplines/computer-science.jpg"); -} - -.accordion ul li:nth-child(3) { - background-image: url("http://files.vlabs.ac.in/iiith-landing-pages/img/disciplines/computer-science.jpg"); -} - -.accordion ul li:nth-child(4) { - background-image: url("http://files.vlabs.ac.in/iiith-landing-pages/img/disciplines/computer-science.jpg"); -} - -.accordion ul li:nth-child(5) { - background-image: url("http://files.vlabs.ac.in/iiith-landing-pages/img/disciplines/computer-science.jpg"); -} - -.accordion ul li:nth-child(6) { - /* background-image: url("http://michael-ferry.com/assets/accordion6.jpg");*/ -} - -.accordion ul:hover li { - width: 8%; -} - -.accordion ul:hover li:hover { - width: 60%; -} - -.accordion ul:hover li:hover a { - /*background: rgba(0, 0, 0, 0.4);*/ -} - -.accordion ul:hover li:hover a * { - opacity: 1; - -webkit-transform: translateX(0); - transform: translateX(0); -} - -@media screen and (max-width: 600px) { - body { - margin: 0; - } - - .accordion { - /*height: auto;*/ - } - - .accordion ul li, .accordion ul li:hover, .accordion ul:hover li, .accordion ul:hover li:hover { - position: relative; - display: table; - table-layout: fixed; - width: 100%; - -webkit-transition: none; - transition: none; - } -} -.about { - text-align: center; - font-family: "Open Sans", sans-serif; - font-size: 12px; - color: #666; -} - -.about a { - color: blue; - text-decoration: none; -} - -.about a:hover { - text-decoration: underline; -} - -/*accordion ends here*/ -/*logo line*/ -.vline { - border-left: 2px solid #a7a9ab; - height: 62px; - position: absolute; - /*left: 10.5%;*/ - margin-left: -3px; - top: 15px; -} - -/*logo line ends here*/ -/* style.scss */ -h1 { - text-align: center; - font-family: Montserrat, sans-serif; - color: #333; -} - -.accordion { - width: 100%; - max-width: 1080px; - height: 250px; - overflow: hidden; - margin: 50px auto; -} -.accordion ul { - width: 100%; - display: table; - table-layout: fixed; - margin: 0; - padding: 0; -} -.accordion ul li { - display: table-cell; - vertical-align: bottom; - position: relative; - width: 16.666%; - height: 250px; - background-repeat: no-repeat; - background-position: center center; - transition: all 500ms ease; -} -.accordion ul li div { - display: block; - overflow: hidden; - width: 100%; -} -.accordion ul li div a { - display: block; - height: 250px; - width: 100%; - position: relative; - z-index: 3; - vertical-align: bottom; - padding: 15px 20px; - box-sizing: border-box; - color: #fff; - text-decoration: none; - font-family: Open Sans, sans-serif; - transition: all 200ms ease; -} -.accordion ul li div a * { - opacity: 0; - margin: 0; - width: 100%; - text-overflow: ellipsis; - position: relative; - z-index: 5; - white-space: nowrap; - overflow: hidden; - -webkit-transform: translateX(-20px); - transform: translateX(-20px); - -webkit-transition: all 400ms ease; - transition: all 400ms ease; -} -.accordion ul li div a h2 { - font-family: Montserrat, sans-serif; - text-overflow: clip; - font-size: 24px; - text-transform: uppercase; - margin-bottom: 2px; - top: 160px; -} -.accordion ul li div a p { - top: 160px; - font-size: 13.5px; -} -.accordion ul li:nth-child(1) { - background-image: url("http://michael-ferry.com/assets/accordion1.jpg"); -} -.accordion ul li:nth-child(2) { - background-image: url("http://michael-ferry.com/assets/accordion2.jpg"); -} -.accordion ul li:nth-child(3) { - background-image: url("http://michael-ferry.com/assets/accordion3.jpg"); -} -.accordion ul li:nth-child(4) { - background-image: url("http://michael-ferry.com/assets/accordion4.jpg"); -} -.accordion ul li:nth-child(5) { - background-image: url("http://michael-ferry.com/assets/accordion5.jpg"); -} -.accordion ul li:nth-child(6) { - background-image: url("http://michael-ferry.com/assets/accordion6.jpg"); -} -.accordion ul:hover li, .accordion ul:focus-within li { - width: 8%; -} -.accordion ul li:focus { - outline: none; -} -.accordion ul:hover li:hover, -.accordion ul li:focus, .accordion ul:focus-within li:focus { - width: 60%; -} -.accordion ul:hover li:hover a, -.accordion ul li:focus a, .accordion ul:focus-within li:focus a { - background: rgba(0, 0, 0, 0.4); -} -.accordion ul:hover li:hover a *, -.accordion ul li:focus a *, .accordion ul:focus-within li:focus a * { - opacity: 1; - -webkit-transform: translateX(0); - transform: translateX(0); -} -.accordion ul:hover li { - width: 8% !important; -} -.accordion ul:hover li a * { - opacity: 0 !important; -} -.accordion ul:hover li:hover { - width: 60% !important; -} -.accordion ul:hover li:hover a { - background: rgba(0, 0, 0, 0.4); -} -.accordion ul:hover li:hover a * { - opacity: 1 !important; - -webkit-transform: translateX(0); - transform: translateX(0); -} - -@media screen and (max-width: 600px) { - body { - margin: 0; - } - - .accordion { - height: auto; - } - .accordion ul li, .accordion ul li:hover, .accordion ul:hover li, .accordion ul:hover li:hover { - position: relative; - display: table; - table-layout: fixed; - width: 100%; - -webkit-transition: none; - transition: none; - } -} -.about { - text-align: center; - font-family: "Open Sans", sans-serif; - font-size: 12px; - color: #666; -} -.about a { - color: blue; - text-decoration: none; -} -.about a:hover { - text-decoration: underline; -} - -/* style.css */ -/* -Theme Name: Vlabs -Theme URI: http://www.vlabs.ac.in -Author: Vlabs.co.in -Author URI: http://www.vlabs.ac.in -Description: The theme to accompany the profile site for vlabs.ac.in -Version: 1.0 -*/ -body { - overflow-x: hidden; - font-family: "Raleway" !important; -} - -/*** Calendar **********************/ -.content .container-fluid div.calender { - position: relative; -} - -.container-fluid .calender table { - cursor: pointer; - border: 1px solid #ccc; - font-size: 11px; - color: #000; - background: #fff; - font-family: "Lucida Grande", Tahoma, Arial, Verdana, sans-serif; -} - -.container-fluid .calender .button { - text-align: center; - padding: 2px; -} - -.container-fluid .calender .nav { - background: #f5f5f5; -} - -.container-fluid .calender thead .title { - font-weight: bold; - text-align: center; - background: #dedede; - color: #000; - padding: 2px 0 3px 0; -} - -.container-fluid .calender thead .headrow { - background: #f5f5f5; - color: #444; - font-weight: bold; -} - -.container-fluid .calender thead .daynames { - background: #fff; - color: #333; - font-weight: bold; -} - -.container-fluid .calender thead .name { - border-bottom: 1px dotted #ccc; - padding: 2px; - text-align: center; - color: #000; -} - -.container-fluid .calender thead .weekend { - color: #666; -} - -.container-fluid .calender thead .hilite { - background-color: #444; - color: #fff; - padding: 1px; -} - -.container-fluid .calender thead .active { - background-color: #d12f19; - color: #fff; - padding: 2px 0px 0px 2px; -} - -.container-fluid .calender tbody .day { - width: 1.8em; - color: #222; - text-align: right; - padding: 2px 2px 2px 2px; -} - -.container-fluid .calender tbody .day.othermonth { - font-size: 80%; - color: #bbb; -} - -.container-fluid .calender tbody .day.othermonth.oweekend { - color: #fbb; -} - -.container-fluid .calender table .wn { - padding: 2px 2px 2px 2px; - border-right: 1px solid #000; - background: #666; -} - -.container-fluid .calender tbody .rowhilite td { - background: #FFF1AF; -} - -.container-fluid .calender tbody .rowhilite td.wn { - background: #FFF1AF; -} - -.container-fluid .calender tbody td.hilite { - padding: 1px 1px 1px 1px; - background: #444 !important; - color: #fff !important; -} - -.container-fluid .calender tbody td.active { - color: #fff; - background: #529214 !important; - padding: 2px 2px 0px 2px; -} - -.container-fluid .calender tbody td.selected { - font-weight: bold; - border: 1px solid #888; - padding: 1px 1px 1px 1px; - background: #f5f5f5 !important; - color: #222 !important; -} - -.container-fluid .calender tbody td.weekend { - color: #666; -} - -.container-fluid .calender tbody td.today { - font-weight: bold; - color: #529214; - background: #D9EFC2; -} - -.container-fluid .calender tbody .disabled { - color: #999; -} - -.container-fluid .calender tbody .emptycell { - visibility: hidden; -} - -.container-fluid .calender tbody .emptyrow { - display: none; -} - -.container-fluid .calender tfoot .footrow { - text-align: center; - background: #556; - color: #fff; -} - -.container-fluid .calender tfoot .ttip { - background: #222; - color: #fff; - font-size: 10px; - border-top: 1px solid #dedede; - padding: 3px; -} - -.container-fluid .calender tfoot .hilite { - background: #aaf; - border: 1px solid #04f; - color: #000; - padding: 1px; -} - -.container-fluid .calender tfoot .active { - background: #77c; - padding: 2px 0px 0px 2px; -} - -.container-fluid .calender .combo { - position: absolute; - display: none; - top: 0px; - left: 0px; - width: 4em; - border: 1px solid #ccc; - background: #f5f5f5; - color: #222; - font-size: 90%; - z-index: 100; -} - -.container-fluid .calender .combo .label, -.container-fluid .calender .combo .label-IEfix { - text-align: center; - padding: 1px; -} - -.container-fluid .calender .combo .label-IEfix { - width: 4em; -} - -.container-fluid .calender .combo .hilite { - background: #444; - color: #fff; -} - -.container-fluid .calender .combo .active { - border-top: 1px solid #999; - border-bottom: 1px solid #999; - background: #dedede; - font-weight: bold; -} - -.container-fluid form li div label { - clear: both; - color: #444; - display: block; - font-size: 9px; - line-height: 9px; - margin: 0; - padding-top: 3px; -} - -.container-fluid form li span label { - clear: both; - color: #444; - display: block; - font-size: 9px; - line-height: 9px; - margin: 0; - padding-top: 3px; -} - -.container-fluid form li .datepicker { - cursor: pointer !important; - float: left; - height: 16px; - margin: 0.1em 5px 0 0; - padding: 0; - width: 16px; -} - -.container-fluid input.text { - background: #fff url(../../../images/shadow.gif) repeat-x top; - border-bottom: 1px solid #ddd; - border-left: 1px solid #c3c3c3; - border-right: 1px solid #c3c3c3; - border-top: 1px solid #7c7c7c; - color: #333; - font-size: 100%; - margin: 0; - padding: 2px 0; -} - -p.small { - font-size: 16px; -} - -.container-fluid form ul { - font-size: 200%; - list-style-type: none; - margin: 0; - padding: 0; - width: 100%; -} - -.container-fluid form li { - display: block; - margin: 0; - padding: 4px 5px 2px 9px; - position: relative; -} - -a, -a:hover, -a:focus, -a:active, -a.active { - outline: 0; -} - -@media (min-width: 768px) { - .navbar-fixed-top { - padding: 25px 0; - -webkit-transition: padding 0.3s; - -moz-transition: padding 0.3s; - transition: padding 0.3s; - } - - .navbar-fixed-top .navbar-brand { - font-size: 2em; - -webkit-transition: all 0.3s; - -moz-transition: all 0.3s; - transition: all 0.3s; - } - - .navbar-fixed-top.navbar-shrink { - padding: 10px 0; - } - - .navbar-fixed-top.navbar-shrink .navbar-brand { - font-size: 1.5em; - } -} -.navbar a:focus { - outline: 0; -} - -.navbar .navbar-nav li a:focus { - outline: 0; -} - -.navbar-default, -.navbar-inverse { - border: 0; -} - -.footer-div { - margin-top: 120px; -} - -/*******************************************************************************/ -/*****************************CUSTOME STYLE*************************************/ -/*******************************************************************************/ -.search-textbox { - background: url("../images/search-box.png") no-repeat; - border: 0 none; - color: #666666; - float: left; - font-family: "Raleway"; - font-size: 15px; - height: 36px; - margin: 0; - padding-left: 15px; - transition: background 0.3s ease-in-out 0s; - width: 220px; -} - -.search-button { - background: url("../images/search.png") no-repeat; - cursor: pointer; - height: 36px; - text-indent: -99999em; - width: 36px; - border: 0px; -} - -.main-logo-a { - height: auto; - overflow: visible; - margin-left: 0px !important; - padding-bottom: 10px !important; - padding-top: 10px !important; -} - -.menu-a { - font-size: 14px !important; - font-family: "Raleway" !important; - color: #2C99CD !important; - padding-left: 10px !important; - padding-bottom: 5px !important; - padding-top: 5px !important; - padding-right: 10px !important; -} - -.menu-a-active { - color: white !important; -} - -.menu-li { - /* float: right; */ - border-radius: 10px; - margin-left: 20px; - margin-right: 20px; -} - -.menu-li:HOVER { - background-color: #77BB41 !important; -} - -.menu-a:HOVER { - color: white !important; -} - -.menu-li-active { - background-color: #77BB41; -} - -.menu-div { - /* margin-top: 30px; */ -} - -.menu-ul { - margin-top: 45px; -} - -@media only screen and (max-width: 375px) { - .featured-labs-experiment-div { - text-align: center; - } - - .featured-labs-experiment-icon { - float: left; - min-width: 78px; - } -} -@media only screen and (min-width: 401px) { - .custom-toggle { - margin-bottom: 0px !important; - margin-top: 27px !important; - } -} -@media only screen and (max-width: 400px) { - .main-logo-a { - width: 60%; - } - - .custom-toggle { - margin-bottom: 0px !important; - margin-top: 12% !important; - } - - /* .menu-div - { - margin-top: 30px !important; - } */ -} -@media only screen and (min-width: 401px) and (max-width: 523px) { - /* .menu-div - { - margin-top: 30px !important; - } */ -} -@media only screen and (max-width: 496px) { - .featured-labs-div { - background: none !important; - } -} -@media only screen and (max-width: 540px) { - .broad-labs-empty-div { - display: none; - } - - .border-right-green-dotted { - margin-top: 60px !important; - } -} -@media only screen and (min-width: 401px) and (max-width: 767px) { - .main-logo { - width: 70%; - } -} -@media only screen and (max-width: 767px) { - .menu-ul { - margin-top: 0px !important; - } - - .menu-li-active { - background-color: white !important; - } - - .menu-a-active { - color: #2C99CE !important; - } - - .search-ul { - display: none !important; - } -} -@media only screen and (min-width: 768px) and (max-width: 991px) { - .menu-a { - font-size: 1.4em !important; - } - - .main-logo { - width: 70%; - } - - .banner-text-small { - font-size: 1.2em !important; - } - - .banner-text-medium { - font-size: 1.7em !important; - } - - .banner-text-big { - font-size: 2em !important; - } -} -@media only screen and (max-width: 991px) { - .menu-ul { - margin-top: 30px; - } - - .search-textbox { - width: 150px; - font-size: 0.9em; - } - - .menu-li { - margin-left: 10px; - margin-right: 10px; - } - - .aboutus-col-8 { - padding-right: 15px !important; - } - - .footer-div { - background-size: cover !important; - } - - .lab-list-col-10 { - /* background: none !important; */ - overflow: hidden; - } - - .featured-labs-main-div { - margin-top: -35px !important; - } -} -/*====================new grid================================*/ -@media only screen and (min-width: 992px) { - .col-md-2-5 { - width: 20%; - float: left; - } -} -@media only screen and (max-width: 991px) { - .col-md-2-5 { - width: 33.33%; - float: left; - } - - .col-md-2-5-1-l { - background: url("../images/dotted-devider-h-o.png") no-repeat; - background-position: left bottom; - } -} -@media only screen and (max-width: 767px) { - .col-md-2-5 { - width: 50%; - float: left; - } -} -@media only screen and (max-width: 540px) { - .col-md-2-5 { - width: 100%; - float: left; - } -} -.col-md-2-5 { - position: relative; - min-height: 1px; - vertical-align: bottom; - /* display: flex; */ - min-height: 228px; -} - -.col-md-2-5-1-l { - width: 100%; - min-height: 228px; - height: 100%; -} - -.col-md-2-5-1-withbg { - background: url("../images/dotted-devider-h-o.png") no-repeat; - background-position: left bottom; - width: 100%; - min-height: 228px; - height: 100%; -} - -.col-md-2-5-2 { - padding-right: 15px; - padding-left: 15px; -} - -/*************************************************************/ -.featured-labs-div { - margin-left: 0px !important; - margin-right: 0px !important; - padding-left: 15px !important; -} - -.border-bottom-img { - /* border-bottom: 2px dotted; - border-top : 0px; - border-left: 0px; - border-right: 0px; - -webkit-border-image: url(../images/dotted-devider-h-o.png) 30 round; Safari 3.1-5 - -o-border-image: url(../images/dotted-devider-h-o.png) 30 round; Opera 11-12.1 - border-image: url(../images/dotted-devider-h-o.png) 30 round; */ -} - -.broad-labs-a:HOVER { - text-decoration: none !important; -} - -.col-md-2-5-1-l:HOVER, .col-md-2-5-1-withbg:HOVER { - background-color: #e4e4e4 !important; -} - -.border-right-green-dotted { - border-right: 2px dotted; - margin-top: 30px; - border-right-color: #678f48; - min-height: 115px; -} - -.border-right-green-dotted a { - padding-left: 1px; - display: block; - margin-bottom: 10px; -} - -a:focus { - color: #72AB44 !important; -} - -.featured-labs { - min-height: 190px !important; -} - -/*========================font classes=======================*/ -.text-h2-lightblue { - color: #2C99CE; - font-size: 1.8em; -} - -.text-a-lightgreen { - color: #72AB44; - font-size: 1.3em; - text-decoration: underline; -} - -.text-a-lightgreen:HOVER { - color: #72AB44 !important; -} - -.text-a-white { - color: white; - font-size: 1.4em; - text-decoration: underline; -} - -.text-h2-lightblue-small { - color: #2C99CE; - font-size: 1.5em; -} - -.text-h3-darkblue-bold { - color: #3e6389; - font-size: 1.4em; - font-weight: bold; -} - -.text-h3-darkblue { - color: #3e6389; - font-size: 1.4em; -} - -.text-normal-gray-small { - color: #888; - font-size: 16px; -} - -.text-normal-gray-big { - color: #888; - font-size: 30px; -} - -#experiment-article-section-1-heading { - color: #888; - font-size: 30px; -} - -.text-normal-gray-smallest { - color: #888; - font-size: 13px; -} - -.featured-labs-icon-text { - color: #888; - font-size: 13px; -} - -.featured-labs-main-div { - margin-top: -50px; -} - -.nounderline { - text-decoration: none; -} - -.nounderline:HOVER { - text-decoration: none !important; -} - -.text-normal-gray-medium { - color: #888; - font-size: 1.4em; -} - -/*===========================================================*/ -.shadow { - -webkit-box-shadow: inset 0 8px 6px -6px black; - -moz-box-shadow: inset 0 8px 6px -6px black; - box-shadow: inset 0 8px 6px -6px black; -} - -/*owl style sheet*/ -#owl-demo .item { - display: block; - padding: 1px 10px; - margin: 5px; - color: #888; - -webkit-border-radius: 3px; - -moz-border-radius: 3px; - border-radius: 3px; -} - -.owl-theme .owl-controls .owl-buttons div { - padding: 5px 9px; -} - -.owl-theme .owl-buttons i { - margin-top: 2px; -} - -#owl-demo .owl-controls .owl-buttons div, #owl-partner-institutions .owl-controls .owl-buttons div { - position: absolute; -} - -#owl-demo .owl-controls .owl-buttons .owl-prev { - left: -45px; - top: 55px; - position: absolute; - background: none !important; -} - -#owl-partner-institutions .owl-controls .owl-buttons .owl-prev { - left: -45px; - top: 20px; - position: absolute; - background: none !important; -} - -#owl-demo .owl-controls .owl-buttons .owl-next { - right: -45px; - top: 55px; - position: absolute; - background: none !important; -} - -#owl-partner-institutions .owl-controls .owl-buttons .owl-next { - right: -45px; - top: 20px; - position: absolute; - background: none !important; -} - -#owl-demo .owl-controls .owl-pagination, #owl-partner-institutions .owl-controls .owl-pagination { - display: none; -} - -#owl-aboutus .owl-controls .owl-buttons { - display: none; -} - -#owl-aboutus .owl-controls .owl-pagination { - text-align: left; -} - -#owl-aboutus .owl-controls .owl-page span { - background-color: white; - border: 2px solid; - height: 20px; - width: 20px; -} - -#owl-aboutus .owl-controls .owl-page.active span, #owl-aboutus .owl-controls.clickable .owl-page:hover span { - background-color: #FF6600; - border: 0px; -} - -/*******************/ -/*Labs page*/ -.sidebar-col-2 { - padding-bottom: 45px; -} - -.lab-list-col-10 { - background: url("../images/devider-blue-v-o.png") repeat-y; - background-position: left top; -} - -.sidebar-a:HOVER, .text-h3-darkblue:HOVER { - color: #ff6600 !important; -} - -.lab-list-row-div { - background: url("../images/bottom-line-n.png") no-repeat; - background-position: left bottom; - height: auto; - overflow: hidden; - border-bottom: 1.5px dotted; - border-bottom-color: #888; - padding-bottom: 10px; -} - -.lab-list-row-col-2 { - margin-top: 15px; -} - -/**********************************************************************************/ -.banner-text { - position: relative; - top: -59px; - color: white !important; -} - -.banner-text-small { - font-size: 1.7em; -} - -.banner-text-medium { - font-size: 2.2em; -} - -.banner-text-big { - font-size: 2.7em; -} - -.baneer-text-sub-div { - position: relative; - float: left; -} - -.banner-text-1 { - left: 3.7%; -} - -.banner-text-2 { - left: 9.6%; -} - -.banner-text-3 { - left: 15%; -} - -.banner-text-4 { - left: 22%; -} - -.banner-caption-div { - position: absolute; - top: 140px; - left: 42%; -} - -.banner-caption-text { - font-size: 2em; - line-height: normal; - color: black; -} - -/*==========================RESPONSIVE+++++++++++++++++++++++++++++++*/ -@media only screen and (max-width: 399px) { - .banner-text-small { - font-size: 0.8em !important; - } - - .banner-text-medium { - font-size: 0.9em !important; - } - - .banner-text-big { - font-size: 1.1em !important; - } - - .banner-text { - top: -21px; - letter-spacing: -1.5px; - } - - .banner-text-1 { - left: 1.5%; - } - - .banner-text-2 { - left: 3%; - } - - .banner-text-3 { - left: 5%; - } - - .banner-text-4 { - left: 8%; - } -} -@media only screen and (min-width: 400px) and (max-width: 500px) { - .banner-text-small { - font-size: 0.9em !important; - } - - .banner-text-medium { - font-size: 1.1em !important; - } - - .banner-text-big { - font-size: 1.2em !important; - } - - .banner-text { - top: -24px; - letter-spacing: -1px; - } - - .banner-text-2 { - left: 7%; - } - - .banner-text-3 { - left: 12%; - } - - .banner-text-4 { - left: 17%; - } -} -@media only screen and (min-width: 501px) and (max-width: 767px) { - .banner-text-small { - font-size: 0.9em !important; - } - - .banner-text-medium { - font-size: 1.2em !important; - } - - .banner-text-big { - font-size: 1.4em !important; - } - - .banner-text { - top: -30px; - } - - .banner-text-2 { - left: 7%; - } - - .banner-text-3 { - left: 12%; - } - - .banner-text-4 { - left: 17%; - } -} -@media only screen and (max-width: 349px) { - .banner-caption-text { - font-size: 0.5em; - } -} -@media only screen and (min-width: 350px) and (max-width: 400px) { - .banner-caption-text { - font-size: 0.6em; - } -} -@media only screen and (min-width: 401px) and (max-width: 444px) { - .banner-caption-text { - font-size: 0.7em; - } -} -@media only screen and (min-width: 445px) and (max-width: 609px) { - .banner-caption-text { - font-size: 0.9em; - } -} -@media only screen and (min-width: 610px) and (max-width: 767px) { - .banner-caption-text { - font-size: 1.1em; - } -} -@media only screen and (max-width: 767px) { - .banner-caption-div { - position: relative !important; - } -} -@media only screen and (max-width: 346px) { - .banner-caption-div { - top: -39px; - left: -32%; - } -} -@media only screen and (min-width: 347px) and (max-width: 399px) { - .banner-caption-div { - top: -43px; - left: -22%; - } -} -@media only screen and (min-width: 400px) and (max-width: 444px) { - .banner-caption-div { - top: -50px; - left: -31%; - } -} -@media only screen and (min-width: 445px) and (max-width: 500px) { - .banner-caption-div { - top: -57px; - left: -23%; - } -} -@media only screen and (min-width: 501px) and (max-width: 569px) { - .banner-caption-div { - top: -65px; - left: -30%; - } -} -@media only screen and (min-width: 570px) and (max-width: 639px) { - .banner-caption-div { - top: -74px; - left: -22%; - } -} -@media only screen and (min-width: 640px) and (max-width: 709px) { - .banner-caption-div { - top: -83px; - left: -16%; - } -} -@media only screen and (min-width: 710px) and (max-width: 767px) { - .banner-caption-div { - top: -92px; - left: -11%; - } -} -@media only screen and (min-width: 768px) and (max-width: 991px) { - .banner-text-small { - font-size: 1.2em !important; - } - - .banner-text-medium { - font-size: 1.7em !important; - } - - .banner-text-big { - font-size: 2em !important; - } - - .banner-text { - top: -40px; - } - - .banner-text-2 { - left: 7%; - } - - .banner-text-3 { - left: 12%; - } - - .banner-text-4 { - left: 17%; - } - - .banner-caption-text { - font-size: 1.5em; - } - - .banner-caption-div { - top: 99px; - } -} -@media only screen and (min-width: 992px) and (max-width: 1100px) { - .banner-text { - top: -52px; - } -} -@media only screen and (min-width: 992px) and (max-width: 1150px) { - .banner-text-2 { - left: 7%; - } - - .banner-text-3 { - left: 9%; - } - - .banner-text-4 { - left: 12%; - } - - .banner-caption-text { - font-size: 1.6em; - } - - .banner-caption-div { - top: 133px; - } -} -@media only screen and (min-width: 1150px) and (max-width: 1275px) { - .banner-text-2 { - left: 8.3%; - } - - .banner-text-3 { - left: 12%; - } - - .banner-text-4 { - left: 17%; - } - - .banner-caption-text { - font-size: 1.8em; - } -} -/* Rules to fix the footer at the bottom of the page */ -/*html{ height:100%; } -body{ min-height:100%; padding:0; margin:0; position:relative; } - -body::after{ content:''; display:block; height:100px; }*/ -footer { - width: 100%; -} - -/* To justify the paragraph text */ -p { - text-align: justify; -} - -/* Styles for feedback button in feedback section */ -#feedback-btn { - color: #2C99CE !important; - border-color: #2C99CE !important; -} - -#feedback-btn-link { - display: block; - margin: auto; - width: 17%; -} - -#feedback-btn-link:hover { - text-decoration: inherit !important; - color: inherit !important; -} - -/*Styles for progress bars*/ -.progress { - font-weight: bold; -} - -.progress-bar-green { - background-color: #008000; -} - -.progress-bar-blue { - background-color: #130e71; -} - -.progress-bar-red { - background-color: #d9534f; -} - -#progress-bar-header { - background-color: #fff; - border-radius: 6px; - padding: 22px; - box-shadow: 0 0 4px 0 rgba(17, 22, 26, 0.16), 0 2px 4px 0 rgba(17, 22, 26, 0.08), 0 4px 8px 0 rgba(17, 22, 26, 0.08); -} - -.main-content { - font-size: 17.5px; -} - -h1, h2, h3 { - color: #2C99CE; -} - -/*# sourceMappingURL=style-main.css.map */ diff --git a/lab-structure/src/themes/green-icon/css/style-main.css.map b/lab-structure/src/themes/green-icon/css/style-main.css.map deleted file mode 100644 index d2e2f0c7..00000000 --- a/lab-structure/src/themes/green-icon/css/style-main.css.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sourceRoot":"","sources":["style-main.scss"],"names":[],"mappings":"AAAA;AACA;AAAA;AAm4CQ;AACA;AA8OA;AA/mDR;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;;;AAEF;EACC;EACC;;;AAEF;EACC;EACC;;;AAGF;EACE;EACA;AACA;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;AACA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;IACE;;;AAIJ;EACE;EACA;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;AACC;;;AAGD;EACE;;;AAGF;EACE;;;AAGF;EACE;EACA;AACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;AAEA;AAAA;AAGA;EACE;EACA;EACA;EACA;EACA;EACA;AACA;EACA;;;AAGF;EACE;EACA;AACD;;;AAGD;EACE;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACI;EAEF;EACA;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;;;AAGF;AAEA;AAAA;AAGA;AACE;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;;;AAEF;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;;;AAIF;AAEA;AAAA;AAGA;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;;;AAGF;AAAA;AAAA;AAIA;EACE;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;;;AAIF;AAAA;AAAA;AAIA;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;AACC;EACC;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;;;AAGF;AAAA;AAAA;AAIA;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAQF;EACI;EACA;EACA;;;AAGJ;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;;;AAMF;AAAA;AAAA;AAIA;EACE;EACA;EACA;;;AAGF;EACE;AACA;EACC;;;AAGH;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAEF;EACE;;;AAGF;EACE;;;AAGF;AAAA;AAAA;AAGA;EAEE;AAED;AAAA;AAAA;AAAA;;;AAMD;EACE;AACD;EACC;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACI;EACA;;;AAGJ;EACE;EACA;EACA;EACA;;;AAGF;EACE;IACE;;;AAIJ;EACE;EACA;EACA;;;AAGF;EACE;IACE;IACH;;;AAID;EACE;EACA;;;AAGF;AAAA;AAAA;EAGE;;;AAGF;AAAA;AAAA;EAGE;EACA;;;AAGF;AAAA;AAAA;AAAA;EAIE;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;IACE;;;AAIJ;EACE;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;;;AAGF;EACC;EACA;EACA;;;AAED;EACC;EACA;EACA;;;AAED;EACE;IACE;IACA;;EAEF;IACE;IACA;;EAEF;IACE;IACA;;;AAGJ;EACE;IACE;IACA;;EAEF;IACE;IACA;;EAEF;IACE;IACA;;;AAGJ;EACE;IACE;IACA;IACA;IACA;;EAEF;IACE;IACA;IACA;IACA;;EAEF;IACE;IACA;IACA;IACA;;;AAIJ;AACA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAEF;EACE;;;AAEF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;;AAEF;EACE;EACA;;;AAGF;EACE;IACE;IACA;IACA;IACA;IACA;IACA;IACA;IACH;;;EAEC;IACE;IACA;;;EAEF;IACE;;;EAGF;IACE;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;;;EAEF;IACE;IACA;IACA;IACA;IACA;;;EAEF;AACG;IACC;IACA;IACA;;;AAEN;EACE;AACG;IACC;IAEF;;;EAGF;IACE;IACA;IACA;IACA;IACA;IACA;IACA;IACA;;;EAGF;IACE;IACA;;;EAEF;IACE;IACA;IACA;IACA;;;EAEF;IACE;;;EAEF;IACE;IACA;;;EAEF;IACE;;;AAGJ;EACE;IACE;IACA;;;EAEF;IACE;IACA;;;AAGJ;EACE;IACE;IACA;;;EAEF;IACE;IACA;;;AAKJ;AAEA;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAEF;EACE;EACA;EACA;EACA;EACF;EACA;;;AAEA;EACE;AACA;EACA;EACA;EACA;EACA;AACD;EACC;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAEF;EACE;EACA;EACA;EACA;EACA;AACA;;;AAEF;AACC;AAAA;EAEE;EACA;;;AAGH;EAEE;;;AAEF;EAEE;;;AAEF;EACC;;;AAGD;EAEC;;;AAED;EAEE;;;AAEF;AACC;;;AAED;EACE;;;AAEF;EACE;;;AAEF;AACE;;;AAEF;EACE;EACA;EACA;;;AAGF;EACE;IACE;;;EAGF;AACE;;;EAEF;IACE;IACA;IACA;IACA;IACA;IACA;;;AAGJ;EACE;EACA;EACA;EACA;;;AAEF;EACE;EACA;;;AAEF;EACE;;;AAEF;AAIA;AACA;EACG;EACH;EACA;AACA;EACA;EACA;;;AAEA;AAGA;AAcA;EAEE;EACA;EACA;;;AAIF;EAEE;EACA;EACA,QAlBS;EAmBT;EACA;;AAEA;EAEE;EACA;EACA;EACA;EACA;;AAEA;EAEE;EACA;EACA;EACA;EACA,QApCK;EAsCL;EACA;EAEA;;AAEA;EAEE;EACA;EACA;;AAEA;EAEE;EACA,QApDC;EAqDD;EAEA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAEA;;AAEA;EAEE;EACA;EACA;EACA;EACA;EACA;EAEA;EACA;EAEA;EACA;EAEA;EACA;;AAIF;EAEE;EACA;EACA;EACA;EACA;EAEA,KA3FE;;AA+FJ;EAEE,KAjGE;EAkGF;;AAWR;EAAkB;;AAClB;EAAkB;;AAClB;EAAkB;;AAClB;EAAkB;;AAClB;EAAkB;;AAClB;EAAkB;;AAElB;EACoB;;AAEpB;EACE;;AAGF;AAAA;EAKE;;AAEA;AAAA;EAEE;;AAEA;AAAA;EAEE;EACA;EACA;;AAQN;EACE;;AAEA;EAAM;;AAGR;EACE;;AAEA;EAEE;;AAEA;EAEE;EACA;EACA;;;AAYV;EAGE;IAAO;;;EAEP;IAEE;;EAIE;IAEE;IACA;IACA;IACA;IAEA;IACA;;;AAUR;EAEE;EACA;EACA;EACA;;AAEA;EAEE;EACA;;AAEA;EAAU;;;AAMd;AAEA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AASA;EACI;EACA;;;AAGJ;AACA;EAA0C;;;AAE1C;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGA;EACA;EACA;;;AAGA;EACA;;;AAGA;EACA;EACA;EACA;EACA;EACA;;;AAGA;EACA;EACA;EACA;;;AAGA;EACA;EACA;EACA;;;AAGA;EACA;EACA;EACA;EACA;;;AAGA;EACA;;;AAGA;EACA;EACA;EACA;;;AAGA;EACA;EACA;EACA;;;AAIA;EACA;EACA;EACA;EACA;;;AAEA;EACA;EACA;;;AAEA;EACA;;;AAGA;EACA;EACA;EACA;;;AAGA;EACA;;;AAGA;EACA;;;AAGA;EACA;EACA;EACA;;;AAGA;EACA;EACA;EACA;;;AAGA;EACA;EACA;EACA;EACA;EACA;;;AAGA;EACA;;;AAGA;EACA;EACA;EACA;;;AAGA;EAA8C;;;AAE9C;EACA;;;AAGA;EACA;;;AAGA;EACA;EACA;EACA;;;AAGA;EACA;EACA;EACA;EACA;EACA;;;AAGA;EACA;EACA;EACA;EACA;;;AAGA;EACA;EACA;;;AAGA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGA;AAAA;EAEA;EACA;;;AAGA;EACA;;;AAGA;EACA;EACA;;;AAGA;EACA;EACA;EACA;EACA;;;AAEA;EAEC;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGD;EAEC;EACA;EACA;EACA;EACA;EACA;EACA;;;AAED;EAEC;EACA;EACA;EACA;EACA;EACA;;;AAED;EAEC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAED;EACI;;;AAIJ;EAEC;EACA;EACA;EACA;EACA;;;AAGD;EAEC;EACA;EACA;EACA;;;AAED;AAAA;AAAA;AAAA;AAAA;EAKI;;;AAEJ;EACI;IACI;IACA;IACA;IACA;;;EAGJ;IACI;IACA;IACA;IACA;;;EAGJ;IACI;;;EAGJ;IACI;;;AAIR;EACI;;;AAGJ;EACI;;;AAGJ;AAAA;EAEI;;;AAEJ;EAEA;;;AAGA;AACA;AACA;AAEA;EAEE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAIF;EAEE;EACA;EACA;EACA;EACA;EACA;;;AAGF;EAEC;EACA;EACA;EACA;EACA;;;AAGD;EAEC;EACA;EACC;EACA;EACA;EACA;EACA;;;AAIF;EAEC;;;AAGD;AAEC;EACA;EACC;EACD;;;AAGD;EAEC;;;AAGD;EAEC;;;AAED;EAEG;;;AAGH;AAEC;;;AAID;EAEC;;;AAGD;EACC;IAEC;;;EAED;IAEC;IACA;;;AAKF;EAEC;IAEC;IACA;;;AAIF;EAEC;IAEC;;;EAGD;IAEC;IACA;;;AAIF;AAAA;AAAA;AAAA;;AASA;AAEA;AAAA;AAAA;AAAA;;AAMA;EAEC;IAEC;;;AAIF;EACC;IAEC;;;EAED;IAEC;;;AAIF;EAEC;IAEI;;;AAIL;EAEG;IAED;;;EAGD;IAEG;;;EAGH;IAEC;;;EAGD;IAEC;;;AAOF;EACI;IAEF;;;EAGD;IAEC;;;EAGD;IAEC;;;EAGD;IAEC;;;EAGD;IAEC;;;AAKF;EACC;IAEC;;;EAGD;IAEC;IACA;;;EAGD;IAEC;IACA;;;EAED;IAEC;;;EAED;IAEA;;;EAGC;AAEC;IACA;;;EAGF;IAEC;;;AAUF;AACA;EACC;IAEC;IACA;;;AAIF;EACC;IAEC;IACA;;;EAED;IAEE;IACF;;;AAID;EACC;IAEC;IACA;;;AAIF;EACC;IAEC;IACA;;;AAGF;EAEE;EACA;EACA;AACA;EACA;;;AAGF;EAEC;EACE;EACA;;;AAGH;EAEC;EACA;EACA;EACE;EACA;;;AAGH;EAEG;EACD;;;AAEF;AAEA;EAEC;EACA;EACA;;;AAED;AAEE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;AASF;EAEC;;;AAGD;EAEE;;;AAGF;EAEC;EACC;EACA;EACA;;;AAEF;EACC;EACA;EACA;;;AAED;EAEC;;;AAGD;EAEC;;;AAED;AACA;EAEC;EACA;;;AAID;EAEC;EACA;EACA;;;AAGD;EAEC;;;AAGD;EAEC;EACA;EACA;;;AAID;EAEC;EACA;;;AAGD;EAEC;EACA;EACA;;;AAGD;EAEC;EACA;;;AAGD;EAEC;EACA;;;AAGD;EAEC;EACA;;;AAED;EAEA;EACA;;;AAEA;EAEC;EACA;;;AAGD;EAEC;EACA;;;AAGD;EAEC;;;AAGD;EAEC;;;AAGD;EAEC;;;AAED;EAEC;EACA;;;AAED;AAEA;EAEC;EACG;EACK;;;AAIT;AACA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;;AAEF;EACE;;;AAGF;EACE;;;AAKF;EACE;;;AAGF;EACE;EACA;EACA;EACC;;;AAGD;EAEC;EACD;EACA;EACC;;;AAGH;EACE;EACA;EACA;EACC;;;AAGH;EAEE;EACA;EACA;EACC;;;AAGH;EAEC;;;AAGD;EAEC;;;AAGD;EAEC;;;AAED;EAEC;EACA;EACA;EACA;;;AAGD;EAEC;EACA;;;AAED;AAGA;AACA;EAEE;;;AAGF;EAEC;EACA;;;AAGD;EACC;;;AAGD;EAEG;EACD;EACA;EACA;EACA;EACA;EACA;;;AAGF;EAEC;;;AAGD;AAEA;EAEC;EACA;EACA;;;AAGD;EAEC;;;AAGD;EAEC;;;AAGD;EAEC;;;AAGD;EAEC;EACA;;;AAGD;EAEC;;;AAGD;EAEC;;;AAGD;EAEC;;;AAGD;EAEC;;;AAGD;EAEE;EACA;EACA;;;AAGF;EAEC;EACA;EACA;;;AAID;AAEA;EAEC;IAEC;;;EAGD;IAEC;;;EAGD;IAEC;;;EAGD;IAEC;IACA;;;EAGD;IAEC;;;EAGD;IAEC;;;EAGD;IAEC;;;EAGD;IAEC;;;AAKF;EACC;IAEC;;;EAGD;IAEC;;;EAGD;IAEC;;;EAGD;IAEC;IACA;;;EAGD;IAEC;;;EAGD;IAEC;;;EAGD;IAEC;;;AAIF;EACC;IAEC;;;EAGD;IAEC;;;EAGD;IAEC;;;EAED;IAEC;;;EAGD;IAEC;;;EAGD;IAEC;;;EAGD;IAEC;;;AAKF;EAEC;IAEC;;;AAKF;EAEC;IAEC;;;AAMF;EAEC;IAEC;;;AAMF;EAEC;IAEC;;;AAKF;EAEC;IAEC;;;AAKF;EACC;IAEE;;;AAIH;EACC;IAEE;IACA;;;AAIH;EACC;IAEE;IACA;;;AAIH;EACC;IAEE;IACA;;;AAIH;EACC;IAEE;IACA;;;AAIH;EACC;IAEE;IACA;;;AAIH;EACC;IAEE;IACA;;;AAIH;EACC;IAEE;IACA;;;AAIH;EACC;IAEE;IACA;;;AAKH;EAEC;IAEC;;;EAGD;IAEC;;;EAGD;IAEC;;;EAGD;IAEC;;;EAGD;IAEC;;;EAGD;IAEC;;;EAGD;IAEC;;;EAGD;IAEC;;;EAED;IAEE;;;AAIH;EAEC;IAEC;;;AAIF;EAEC;IAEC;;;EAGD;IAEC;;;EAGD;IAEC;;;EAGD;IAEC;;;EAED;IAEE;;;AAIH;EAEC;IAEC;;;EAED;IAEC;;;EAGD;IAEC;;;EAGD;IAEC;;;AAIF;AACA;AAAA;;AAAA;AAKA;EACE;;;AAGF;AACA;EACC;;;AAGD;AACA;EACC;EACA;;;AAGD;EACC;EACA;EACA;;;AAGD;EACC;EACA;;;AAGD;AACA;EACC;;;AAGD;EACC;;;AAGD;EACC;;;AAGD;EACC;;;AAGD;EACC;EACA;EACA;EACA;;;AAID;EAEE;;;AAIF;EACE","file":"style-main.css"} \ No newline at end of file diff --git a/lab-structure/src/themes/green-icon/css/style-main.scss b/lab-structure/src/themes/green-icon/css/style-main.scss deleted file mode 100644 index df852454..00000000 --- a/lab-structure/src/themes/green-icon/css/style-main.scss +++ /dev/null @@ -1,3041 +0,0 @@ -/*----------------------------------------*/ -/* CSS -/*----------------------------------------*/ - -html, body { - height: 100%; -} - -.floatleft { - float: left; -} - -.floatright { - float: right; -} - -.alignleft { - float: left; - margin-right: 15px; - margin-bottom: 15px; -} - -.alignright { - float: right; - margin-left: 15px; - margin-bottom: 15px; -} - -.aligncenter { - display: block; - margin: 0 auto 15px; -} - -a:focus { - outline: 0px solid; -} - -img { - max-width: 100%; - height: auto; -} - -.fix { - overflow: hidden; -} - -p { - margin: 0 0 15px; - font-size:17.5px; -} -li{ - font-size:17.5px; - line-height:1.6; -} -i{ - font-size:16px; - line-height:1.6; -} - -h1, h2, h3, h4, h5, h6 { - font-family: 'Open Sans', sans-serif; - margin: 0 0 15px; - /*color: #444;*/ - font-weight: 500; -} - -h1 { - font-size: 48px; - line-height: 50px; -} - -h2 { - font-size: 38px; - line-height: 40px; -} - -h3 { - font-size: 30px; - line-height: 32px; -} - -h4 { - font-size: 24px; - line-height: 26px; -} - -h5 { - font-size: 20px; - line-height: 22px; -} - -h6 { - font-size: 16px; - line-height: 20px; -} - -a { - transition: all 0.3s ease 0s; - text-decoration: none; -} - -a:hover { - color: #3EC1D5; - text-decoration: none; -} - -a:active, a:hover { - outline: 0 none; -} - -body { - background: #fff none repeat scroll 0 0; - color: #444; - font-family: 'Open Sans', sans-serif; - font-size: 14px; - text-align: left; - overflow-x: hidden; - line-height: 22px; -} - -/* Back to top button */ -.back-to-top { - position: fixed; - display: none; - background: #3EC1D5; - color: #fff; - padding: 6px 12px 9px 12px; - font-size: 16px; - border-radius: 2px; - right: 15px; - bottom: 15px; - transition: background 0.5s; -} - -@media (max-width: 768px) { - .back-to-top { - bottom: 15px; - } -} - -.back-to-top:focus { - background: #3EC1D5; - color: #fff; - outline: none; -} - -.back-to-top:hover { - background: #3cd6ed; - color: #fff; -} - -.clear { - clear: both; -} - -ul { - list-style: outside none none; - margin: 0; - padding: 0; -} - -input, select, textarea, input[type="text"], input[type="date"], input[type="url"], input[type="email"], input[type="password"], input[type="tel"], button, button[type="submit"] { - -moz-appearance: none; - box-shadow: none !important; -} - -div#preloader { - position: fixed; - left: 0; - top: 0; - z-index: 99999; - width: 100%; - height: 100%; - overflow: visible; - background: #fff url('../img/preloader.gif') no-repeat center center; -} - -::-moz-selection { - background: #3EC1D5; - text-shadow: none; -} - -::selection { - background: #3EC1D5; - text-shadow: none; -} - -.area-padding { - /* padding: 31px 0px 80px;*/ -} - -.area-padding-2 { - padding: 70px 0px 50px; -} - -.padding-2 { - padding-bottom: 90px; -} - -.section-headline h2 { - display: inline-block; - font-size: 40px; - /*font-weight: 600;*/ - margin-bottom: 59px; - margin-top:42px; - position: relative; - text-transform: capitalize; -} - -.section-headline h2::after { - border: 1px solid #333; - bottom: -20px; - content: ""; - left: 0; - margin: 0 auto; - position: absolute; - right: 0; - width: 40%; -} - -.sec-head { - display: inline-block; - font-size: 17px; - font-weight: 600; - margin-bottom: 0; - padding: 0 0 10px; - text-transform: uppercase; - transition: all 0.4s ease 0s; -} - -/*--------------------------------*/ - -/* 2. Header top Area -/*--------------------------------*/ - -.header-area { - position: absolute; - top: 0; - left: 0; - width: 100%; - height: auto; - background-color:#fff; - /*background: rgba(0, 0, 0, 0.40);*/ - z-index: 9; -} - -.navbar-header a.navbar-brand { - display: inline-block; - height: 90px; - /* padding: 15px 0;*/ -} - -.main-menu ul.navbar-nav li { - display: inline-block; - padding: 0px 13px; -} - -.main-menu ul.navbar-nav li a { - background: rgba(0, 0, 0, 0) none repeat scroll 0 0; - color: #a7a9ab; - font-size: 15px; - font-weight: 500; - padding: 24px 0px; - text-transform: capitalize; - letter-spacing: 1px; -} - -.main-menu ul.navbar-nav li.active a::after { - border: 1px solid #3cd6ed; - bottom: 0px; - content: ""; - left: 0; - position: absolute; - width: 100%; -} - -.main-menu ul.navbar-nav li.active a:hover { - background: none; - color: #3EC1D5; -} - -.main-menu ul.navbar-nav li.active a:focus { - color: #3cd6ed; -} - -.main-menu ul.navbar-nav li.active a { - background: rgba(0, 0, 0, 0) none repeat scroll 0 0; - color: #a7a9ab; - position: relative; -} - -.main-menu ul.navbar-nav li a:hover { - color: #3EC1D5; -} - -.navbar { - border: medium none; - margin-bottom: 0; -} - -.navbar-default { - background: rgba(0, 0, 0, 0) none repeat scroll 0 0; -} - -.main-menu ul.navbar-default .navbar-nav>.active>a, .navbar-default .navbar-nav>.active>a:hover, .navbar-default .navbar-nav>.active>a:focus { - background: none; - color: #333; -} - -.navbar-default .navbar-toggle { - background: rgba(0, 0, 0, 0) none repeat scroll 0 0; - - border: medium none; - border-radius: 0; - padding: 25px 0px; -} - -.navbar-default .navbar-nav>li>a:hover, .navbar-default .navbar-nav>li>a:focus { - background-color: transparent; - color: #a7a9ab; -} - -.navbar-default .navbar-toggle:hover, .navbar-default .navbar-toggle:focus { - background: none; -} - -.navbar-default .navbar-toggle .icon-bar { - background-color: #fff; - width: 30px; - height: 2px; -} - -.top-right.text-right { - float: right; - position: relative; - top: 24px; - margin-left: 20px; -} - -.top-right.text-right>li { - float: right; - margin: 0px 8px; -} - -.top-right.text-right li a { - color: #fff; -} - -/*--------------------------------*/ - -/* menu -/*--------------------------------*/ - -.header-area.stick { - /*background-color: rgba(0, 0, 0, 1);*/ - background-color:#fff; - height: 90px; - position: fixed; - top: 0; - width: 100%; - z-index: 999999; -} - -.stick .navbar-header a.navbar-brand { - display: inline-block; - height: 90px; -} - -.stick .navbar-brand>img { - display: none; -} - -.stick .navbar-brand.sticky-logo>img { - display: block; -} - -.sticky-logo h1 { - color: #fff; - padding: 0; - margin: 0; - font-size: 36px; - font-weight: bold; - line-height: 1; -} - -.sticky-logo h1 span { - color: #3ec1d5; -} -.stick .main-menu ul.navbar-nav li.active a::after { - border: 1px solid #3EC1D5; - bottom: 0px; - content: ""; - left: 0; - position: absolute; - width: 100%; -} - -.stick .main-menu ul.nav>li>a:hover { - color: #3EC1D5; -} - -.stick .main-menu ul.navbar-nav li.active a { - background: rgba(0, 0, 0, 0) none repeat scroll 0 0; - color: #3EC1D5; - position: relative; -} - -.stick .mainmenu ul#nav>li:hover>a, .stick .mainmenu ul#nav li .mega-menu, .stick .mainmenu ul#nav li ul.sub-menu { - background-color: #f5f5f5; - color: #fff; - outline: medium none; -} - -.stick .mainmenu ul#nav li:hover ul.sub-menu li a:hover, .mainmenu ul#nav li .mega-menu span>a:hover, .stick .mainmenu ul#nav li .mega-menu-shop a.mega-menu-title:hover { - color: #fff; -} - -.stick .logo { - height: 20px; -} - -.stick .logo a { - margin-top: 0px; -} - -.stick .main-menu ul.nav>li>a { - color: #a7a9ab; - line-height: 22px; - padding: 24px 0px; - text-transform: capitalize; - letter-spacing: 1px; -} - -.stick .navbar-default .navbar-toggle .icon-bar { - background-color: #fff; - width: 30px; - height: 2px; -} - -.stick .navbar-default .navbar-toggle { - padding: 10px 0px; -} - - -/*--------------------------------*/ - -/* Services -/*--------------------------------*/ - -.services-icon { - color: #444; - display: inline-block; - font-size: 36px; - line-height: 36px; - margin-bottom: 20px; -} - -.section-headline.services-head>h2 { - margin-bottom: 25px; -} - -.services-details { - padding-top: 40px; - transition: all 0.5s ease 0s; - padding-top: 20px; -} - -.services-details:hover h4, .services-details:hover .services-icon { - color: #3EC1D5; -} - -.row.second-row { - margin-top: 40px; -} - -.section-head>h2 { - color: #333; -} - -.single-services>h4 { - color: #444; - font-size: 24px; - font-weight: 500; -} - -.single-services>p { - color: #333; - font-size: 14px; -} - -/*---------------------------------------- - Skill Area -----------------------------------------*/ - -.our-skill-area { - position: relative; -} - -.our-skill-area { - background: rgba(248, 248, 248, 0.8) url("../img/background/bg1.jpg") no-repeat fixed center top / cover; -} - -.test-overly { - background: rgba(0, 0, 0, 0.80); - position: absolute; - width: 100%; - height: 100%; -} - -.progress-h4 { - color: #fff; - font-weight: 500; -} - - -/*---------------------------------------- - Css -----------------------------------------*/ - -.wellcome-area { - background: rgba(248, 248, 248, 0.8) url("../img/background/bg1.jpg"); - background-size: cover; - background-position: center top; - background-repeat: no-repeat; - background-attachment: fixed; -} - -.well-bg { - position: relative; -} - -.wellcome-text { - /* margin: 70px 0;*/ - padding: 30px 40px; -} - -.well-text>h2 { - color: #fff; - font-size: 44px; - font-weight: 500; - line-height: 50px; -} - -.well-text p { - font-size: 18px; - font-style: italic; - color: #fff; -} - -.wellcome-text .section-headline p { - margin-bottom: 0; -} - -.subs-feilds { - border: 1px solid #fff; - display: inline-block; - height: 52px; - margin-top: 30px; - width: 60%; - border-radius: 30px; - overflow: hidden; -} - -.suscribe-input input { - background: transparent none repeat scroll 0 0; - border: medium none; - color: #fff; - float: left; - font-size: 15px; - line-height: 24px; - padding: 11px 15px; - width: 70%; - height: 50px; -} - -.suscribe-input button { - background: #3ec1d5 none repeat scroll 0 0; - border: medium none; - border-radius: 0 20px 20px 0; - color: #fff; - float: left; - font-size: 20px; - font-weight: 700; - padding: 14px 20px; - width: 30%; -} - -.suscribe-input button:hover { - background: #fff none repeat scroll 0 0; - color: #3ec1d5; -} - -/*---------------------------------------- - career section -----------------------------------------*/ - -.team-member { - background: rgba(0, 0, 0, 0.65) none repeat scroll 0 0; - display: block; - margin-right: -15px; - padding: 10px; - position: relative; - overflow: hidden; -} - -.team-member::before { - background: rgba(0, 0, 0, 0) url("../img/team/team01.jpg") repeat scroll 0 0; - content: ""; - display: block; - height: 100%; - left: 0; - margin-right: -15px; - padding: 10px; - position: absolute; - top: 0; - width: 100%; - z-index: -1; - background-repeat: no-repeat; - background-size: cover; - background-position: top center; - transition: 5s; - transform: scale(1); -} - -.team-member:hover.team-member::before { - transform: scale(1.2); -} - -.single-team-member { - border: 1px solid #ddd; -} - -.team-left-text h4 { - color: #fff; - font-size: 30px; - font-weight: 700; - text-transform: uppercase; -} - -.team-left-text p { - color: #fff; - font-size: 17px; - line-height: 26px; -} - -.email-news { - display: block; - margin: 30px 0; - overflow: hidden; - text-align: center; - width: 100%; -} - -.email-news .email_button input { - background: rgba(0, 0, 0, 0) none repeat scroll 0 0; - border: 1px solid #fff; - color: #fff; - float: left; - font-size: 13px; - padding: 8px; - width: 81%; -} - -.email-news .email_button>button { - background: rgba(0, 0, 0, 0) none repeat scroll 0 0; - border: 1px solid #fff; - color: #fff; - float: left; - font-size: 16px; - padding: 8px 12px; - text-align: center; -} - -.email-news .email_button>button:hover { - background: #3EC1D5; - border: 1px solid #fff; - color: #fff; -} - -.team-left-icon ul li { - display: inline-block; -} - -.team-left-icon ul li a:hover { - color: #3EC1D5; - background: #fff; - border: 2px solid #fff; -} - -.team-left-icon ul li a { - border: 2px solid #fff; - color: #fff; - display: block; - font-size: 16px; - height: 40px; - line-height: 37px; - margin: 0 3px; - width: 40px; -} - -.team-member-carousel .single-team-member { - overflow: hidden; - width: 100%; -} - -.single-team-member:hover .team-img a:after { - opacity: 1; -} - -.single-team-member:hover .team-social-icon { - top: 45%; - opacity: 1; -} - -.team-img { - position: relative; -} - -.team-img>a { - display: block; -} - -.team-img>a::after { - background: rgba(0, 0, 0, 0.70); - bottom: 0; - content: ""; - height: 100%; - left: 0; - position: absolute; - transition: all 0.5s ease 0s; - width: 100%; - opacity: 0; -} - -.team-social-icon { - left: 50%; - margin-left: -61px; - opacity: 0; - position: absolute; - top: 30%; - transition: 1.3s; -} - -.team-social-icon ul li { - display: inline-block; -} - -.team-social-icon ul li a { - border: 1px solid #fff; - border-radius: 50%; - color: #fff; - display: block; - font-size: 14px; - height: 34px; - line-height: 35px; - margin: 0 3px; - width: 34px; -} - -.team-social-icon ul li a:hover { - color: #fff; - border: 1px solid #3EC1D5; - background: #3EC1D5; -} - -.team-content { - padding: 10px 0px; -} - -.team-content>h4, .team-content>p { - color: #444; - margin-bottom: 5px; -} - -.team-content.head-team p { - margin-bottom: 0; -} - -.team-left-icon.text-center { - margin-bottom: 20px; -} - -.head-team h4 { - display: inline-block; - font-size: 25px; - font-weight: 600; - padding-bottom: 10px; - text-transform: uppercase; -} - - - - - - -#top { - min-height: 100%; - display: flex; - flex-direction: column; -} - -#top > div { - flex: 1; -} - -#content { - display: flex; - flex-direction: column; -} - -#content > div:nth-child(2) { - flex: 1; -} - - - - -/*-------------------------------------------------------------- -# Footer ---------------------------------------------------------------*/ - -#footer { - background: #000; - color: #eee; - font-size: 14px; -} - -#footer .footer-top { - background: #111; - /*padding: 60px 0 30px 0;*/ - padding: 15px 0 0px 0; -} - -#footer .footer-top .footer-info h3 { - font-size: 34px; - margin: 0 0 20px 0; - padding: 2px 0 2px 10px; - line-height: 1; - font-family: "Open Sans", sans-serif; - font-weight: 700; - letter-spacing: 3px; - border-left: 4px solid #18d26e; -} - -#footer .footer-top p { - font-size: 1.4rem; - margin-bottom: 0; - color: #eee; -} - -#footer .footer-top .social-links a { - font-size: 18px; - display: inline-block; - background: #333; - color: #eee; - line-height: 1; - padding: 8px 0; - margin-right: 4px; - border-radius: 50%; - text-align: center; - width: 36px; - height: 36px; - transition: 0.3s; -} - -#footer .footer-top .social-links a:hover { - background: #3cd6ed; - color: #fff; -} - -#footer .footer-top h4 { - font-size: 14px; - color: #fff; - position: relative; - padding-bottom: 12px; -} - -#footer .footer-top h4::before, #footer .footer-top h4::after { - content: ''; - position: absolute; - left: 0; - bottom: 0; - height: 2px; -} - -#footer .footer-top h4::before { - right: 0; - background: #555; -} - -#footer .footer-top h4::after { - background: #3EC1D5; - width: 60px; -} -#footer .footer-top i { - color:#fff; -} - -#footer .footer-top a { - color:#fff; -} - -/*-------------------------------------------------------------- -# Intro Section ---------------------------------------------------------------*/ -#intro { - - width: 100%; - - /* background: #000; - display: table; - height: 100vh; - */ -} - -#intro .carousel-item { - width: 100%; - /* height: 100vh;*/ - background-size: cover; - background-position: center; - background-repeat: no-repeat; -} - -#intro .carousel-item::before { - content: ''; - background-color: rgba(0, 0, 0, 0.4); - position: absolute; - height: 100%; - width: 100%; - top: 0; - right: 0; - left: 0; - bottom: 0; -} - -#intro .carousel-container { - display: flex; - justify-content: left; - align-items: center; - position: absolute; - bottom: 0; - top: 0; - left: 0; - right: 0; -} - -#intro .carousel-content { - text-align: left; - padding-top:220px; -} - -#intro h2 { - color: #fff; - margin-bottom: 30px; - font-size: 48px; - font-weight: 700; -} - -@media (max-width: 768px) { - #intro h2 { - font-size: 28px; - } -} - -#intro p { - width: 100%; - margin: 0 auto 30px auto; - color: #fff; -} - -@media (min-width: 1024px) { - #intro p { - width: 100%; - font-size:45px; - } -} - -#intro .carousel-fade .carousel-inner .carousel-item { - -webkit-transition-property: opacity; - transition-property: opacity; -} - -#intro .carousel-fade .carousel-inner .carousel-item, -#intro .carousel-fade .carousel-inner .active.carousel-item-left, -#intro .carousel-fade .carousel-inner .active.carousel-item-right { - opacity: 0; -} - -#intro .carousel-fade .carousel-inner .active, -#intro .carousel-fade .carousel-inner .carousel-item-next.carousel-item-left, -#intro .carousel-fade .carousel-inner .carousel-item-prev.carousel-item-right { - opacity: 1; - transition: 0.5s; -} - -#intro .carousel-fade .carousel-inner .carousel-item-next, -#intro .carousel-fade .carousel-inner .carousel-item-prev, -#intro .carousel-fade .carousel-inner .active.carousel-item-left, -#intro .carousel-fade .carousel-inner .active.carousel-item-right { - left: 0; - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); -} - -#intro .carousel-control-prev, #intro .carousel-control-next { - width: 10%; -} - -@media (min-width: 1024px) { - #intro .carousel-control-prev, #intro .carousel-control-next { - width: 5%; - } -} - -#intro .carousel-control-next-icon, #intro .carousel-control-prev-icon { - background: none; - font-size: 32px; - line-height: 1; -} - -#intro .carousel-indicators li { - cursor: pointer; -} - -#intro .btn-get-started { - font-family: "Open Sans", sans-serif; - font-weight: 500; - font-size: 16px; - letter-spacing: 1px; - display: inline-block; - padding: 8px 32px; - border-radius: 50px; - transition: 0.5s; - margin: 10px; - color: #fff; - background: #18d26e; -} - -#intro .btn-get-started:hover { - background: #fff; - color: #18d26e; -} - -.downArrow{ - position: absolute; - bottom: 0%; - left: 50%; -} -.bounce { - -moz-animation: bounce 3s infinite; - -webkit-animation: bounce 3s infinite; - animation: bounce 3s infinite; -} -@-moz-keyframes bounce { - 0%, 20%, 50%, 80%, 100% { - -moz-transform: translateY(0); - transform: translateY(0); - } - 40% { - -moz-transform: translateY(-30px); - transform: translateY(-30px); - } - 60% { - -moz-transform: translateY(-15px); - transform: translateY(-15px); - } -} -@-webkit-keyframes bounce { - 0%, 20%, 50%, 80%, 100% { - -webkit-transform: translateY(0); - transform: translateY(0); - } - 40% { - -webkit-transform: translateY(-30px); - transform: translateY(-30px); - } - 60% { - -webkit-transform: translateY(-15px); - transform: translateY(-15px); - } -} -@keyframes bounce { - 0%, 20%, 50%, 80%, 100% { - -moz-transform: translateY(0); - -ms-transform: translateY(0); - -webkit-transform: translateY(0); - transform: translateY(0); - } - 40% { - -moz-transform: translateY(-30px); - -ms-transform: translateY(-30px); - -webkit-transform: translateY(-30px); - transform: translateY(-30px); - } - 60% { - -moz-transform: translateY(-15px); - -ms-transform: translateY(-15px); - -webkit-transform: translateY(-15px); - transform: translateY(-15px); - } -} - -/* the blue circle with only one line of text, centered vertically */ -.oneline:after { - content: ""; - display: block; - width: 100%; - height: 0; - padding-bottom: 100%; - background: cadetblue; - -moz-border-radius: 50%; - -webkit-border-radius: 50%; - border-radius: 50%; -} -.oneline:hover:after { - background-color: #3EC1D5; -} -.oneline div { - float: left; - width: 100%; - padding-top: 19%; - line-height: 1em; - margin-top: -1.7em; - text-align: center; - color: white; -} -.oneline p { - text-align: center; - font-size: 1.2em; -} - -@media only screen and (min-width: 350px) { - .col { - display: inline-block; - position: relative; - width: 100%; - margin: 4% 0 5% 9%; - padding: 0; - background-color: transparent; - border-top: none; - height:260px; - } - .col .spacer { - position: relative; - padding-top: 100%; - } - .col:nth-child(3n+1) { - margin-left: 1%; - } - - .circle { - position: absolute; - top: 0; - bottom: 0; - left: 0; - right: 0; - background-color: powderblue; - color: #333; - border-radius: 50%; - box-sizing: border-box; - text-align: center; - display: block; - padding: 5px; - border: 5px solid #9dd8e0; - -webkit-transition: all 1s ease-out; - -moz-transition: all 1s ease-out; - -o-transition: all 1s ease-out; - transition: all 1s ease-out; - } - .circle:before { - content: ''; - display: inline-block; - height: 100%; - vertical-align: middle; - margin-right: -2%; - } - .circle:hover { - /* background-color: #a7a9ab;*/ - background-color:#3EC1D5; - border: 5px solid #444; - color: #fff; - } -/*new class added for text hover*/ - .circle:hover h4{ - /* background-color: #a7a9ab;*/ - background-color:#3EC1D5; - - color: #fff; - } - - .outline { - border: 5px solid grey; - position: absolute; - top: 0; - bottom: 0; - left: 0; - right: 0; - border-radius: 50%; - box-sizing: border-box; - } - - .circle h1 { - font-size: 0.9em; - line-height: 1em; - } - .circle p { - font-size: 0.8em; - line-height: 1em; - color: white; - text-align: center; - } - .circle a { - color: inherit; - } - .circle > p, .circle > h1, .circle > .wrapcontent { - display: inline-block; - vertical-align: middle; - } - .circle > p > p, .circle > p > h1, .circle > h1 > p, .circle > h1 > h1, .circle > .wrapcontent > p, .circle > .wrapcontent > h1 { - display: block; - } -} -@media only screen and (min-width: 481px) { - .circle h1 { - font-size: 1.2em; - line-height: 1em; - } - .circle p { - font-size: 1em; - line-height: 1em; - } -} -@media only screen and (min-width: 768px) { - .circle h1 { - font-size: 1.6em; - line-height: 1em; - } - .circle p { - font-size: 1.2em; - line-height: 1em; - } -} - - -/*Accordian*/ - -.accordion { - width: 100%; - max-width: 1080px; - height: 250px; - overflow: hidden; - margin: 50px auto; - -} -.accordion ul { - width: 100%; - display: table; - table-layout: fixed; - margin: 0; - padding: 0; - -} -.accordion ul li { - display: table-cell; - vertical-align: bottom; - position: relative; - width: 16.666%; - height: 250px; - background-repeat: no-repeat; - background-position: center center; - transition: all 500ms ease; -} -.accordion ul li div { - display: block; - overflow: hidden; - width: 100%; - padding:32px; -height: 287px; -margin-top: -124px; -} -.accordion ul li div a{ - display: block; - /*height: 250px;*/ - width: 100%; - position: relative; - z-index: 3; - vertical-align: bottom; - /* padding: 15px 20px;*/ - box-sizing: border-box; - color: #fff; - text-decoration: none; - font-family: Open Sans, sans-serif; - transition: all 200ms ease; - -} -.accordion ul li div a * { - opacity: 0; - margin: 0; - width: 100%; - text-overflow: ellipsis; - position: relative; - z-index: 5; - white-space: nowrap; - overflow: hidden; - -webkit-transform: translateX(-20px); - transform: translateX(-20px); - -webkit-transition: all 400ms ease; - transition: all 400ms ease; -} -.accordion ul li div a h2 { - font-family: Montserrat,sans-serif; - text-overflow: clip; - font-size: 24px; - text-transform: uppercase; - margin-bottom: 2px; - /*top: 160px;*/ -} -.accordion ul li div a p { - /* top: 160px; - font-size: 13.5px;*/ - font-size: 16px; - line-height:2.2; - -} -.accordion ul li:nth-child(1) { - - background-image: url("http://files.vlabs.ac.in/iiith-landing-pages/img/disciplines/computer-science.jpg"); -} -.accordion ul li:nth-child(2) { - - background-image: url("http://files.vlabs.ac.in/iiith-landing-pages/img/disciplines/computer-science.jpg"); -} -.accordion ul li:nth-child(3) { - background-image: url("http://files.vlabs.ac.in/iiith-landing-pages/img/disciplines/computer-science.jpg"); - -} -.accordion ul li:nth-child(4) { - - background-image: url("http://files.vlabs.ac.in/iiith-landing-pages/img/disciplines/computer-science.jpg"); -} -.accordion ul li:nth-child(5) { - - background-image: url("http://files.vlabs.ac.in/iiith-landing-pages/img/disciplines/computer-science.jpg"); -} -.accordion ul li:nth-child(6) { - /* background-image: url("http://michael-ferry.com/assets/accordion6.jpg");*/ -} -.accordion ul:hover li { - width: 8%; -} -.accordion ul:hover li:hover { - width: 60%; -} -.accordion ul:hover li:hover a { - /*background: rgba(0, 0, 0, 0.4);*/ -} -.accordion ul:hover li:hover a * { - opacity: 1; - -webkit-transform: translateX(0); - transform: translateX(0); -} - -@media screen and (max-width: 600px) { - body { - margin: 0; - } - - .accordion { - /*height: auto;*/ -} - .accordion ul li, .accordion ul li:hover, .accordion ul:hover li, .accordion ul:hover li:hover { - position: relative; - display: table; - table-layout: fixed; - width: 100%; - -webkit-transition: none; - transition: none; -} -} -.about { - text-align: center; - font-family: 'Open Sans', sans-serif; - font-size: 12px; - color: #666; -} -.about a { - color: blue; - text-decoration: none; -} -.about a:hover { - text-decoration: underline; -} -/*accordion ends here*/ - - - -/*logo line*/ -.vline { - border-left: 2px solid #a7a9ab; -height: 62px; -position: absolute; -/*left: 10.5%;*/ -margin-left: -3px; -top: 15px; -} -/*logo line ends here*/ - - -/* style.scss */ - - -// Fonts -@import url(https://fonts.googleapis.com/css?family=Open+Sans); -@import url(https://fonts.googleapis.com/css?family=Montserrat:700); - -// Accordion Height -$a-height: 250px; - -// Position text along bottom -$text-offset: $a-height - 90; - -// Page Title -h1 { - - text-align:center; - font-family:Montserrat,sans-serif; - color:#333; - -} - -.accordion { - - width:100%; - max-width:1080px; - height:$a-height; - overflow:hidden; - margin:50px auto; - - ul { - - width:100%; - display:table; - table-layout:fixed; - margin:0; - padding:0; - - li { - - display:table-cell; - vertical-align:bottom; - position: relative; - width:16.666%; // 6 into 100 - height:$a-height; - - background-repeat:no-repeat; - background-position:center center; - - transition:all 500ms ease; - - div { - - display:block; - overflow:hidden; - width:100%; - - a { - - display:block; - height:$a-height; - width:100%; - - position:relative; - z-index:3; - vertical-align:bottom; - padding:15px 20px; - box-sizing:border-box; - color:#fff; - text-decoration:none; - font-family:Open Sans, sans-serif; - - transition:all 200ms ease; - - * { - - opacity:0; - margin:0; - width:100%; - text-overflow:ellipsis; - position:relative; - z-index:5; - - white-space:nowrap; - overflow:hidden; - - -webkit-transform:translateX(-20px); - transform:translateX(-20px); - - -webkit-transition:all 400ms ease; - transition:all 400ms ease; - - } - - h2 { - - font-family:Montserrat,sans-serif; - text-overflow:clip; - font-size:24px; - text-transform:uppercase; - margin-bottom:2px; - - top:$text-offset; - - } - - p { - - top:$text-offset; - font-size:13.5px; - - } - - } - - } - - } - - // Background images - li:nth-child(1) { background-image:url('http://michael-ferry.com/assets/accordion1.jpg'); } - li:nth-child(2) { background-image:url('http://michael-ferry.com/assets/accordion2.jpg'); } - li:nth-child(3) { background-image:url('http://michael-ferry.com/assets/accordion3.jpg'); } - li:nth-child(4) { background-image:url('http://michael-ferry.com/assets/accordion4.jpg'); } - li:nth-child(5) { background-image:url('http://michael-ferry.com/assets/accordion5.jpg'); } - li:nth-child(6) { background-image:url('http://michael-ferry.com/assets/accordion6.jpg'); } - - &:hover li, - &:focus-within li { width:8%; } - - li:focus { - outline: none; - } - - &:hover li:hover, - // allow users to tab through active slides - li:focus, - &:focus-within li:focus { - - width:60%; - - a { - - background:rgba(0,0,0,.4); - - * { - - opacity:1; - -webkit-transform:translateX(0); - transform:translateX(0); - - } - - } - - } - - &:hover li { - width: 8% !important; - - a * { opacity: 0 !important; } - } - - &:hover li:hover { - width:60% !important; - - a { - - background:rgba(0,0,0,.4); - - * { - - opacity:1 !important; - -webkit-transform:translateX(0); - transform:translateX(0); - - } - - } - } - - } - -} - -// Stack items -@media screen and (max-width: 600px) { - - // IE gets fussy if this isn't here - body { margin:0; } - - .accordion { - - height:auto; - - ul,ul:hover { - - li,li:hover { - - position:relative; - display:table; - table-layout:fixed; - width:100%; - - -webkit-transition:none; - transition:none; - - } - - } - - } - -} - -.about { - - text-align:center; - font-family:'Open Sans', sans-serif; - font-size:12px; - color:#666; - - a { - - color:blue; - text-decoration:none; - - &:hover { text-decoration:underline; } - - } - -} - -/* style.css */ - -/* -Theme Name: Vlabs -Theme URI: http://www.vlabs.ac.in -Author: Vlabs.co.in -Author URI: http://www.vlabs.ac.in -Description: The theme to accompany the profile site for vlabs.ac.in -Version: 1.0 -*/ -@import url(https://fonts.googleapis.com/css?family=Raleway:400,300,700,500,600); -body { - overflow-x: hidden; - font-family:'Raleway' !important; -} - -/*** Calendar **********************/ -.content .container-fluid div.calender { position: relative; } - -.container-fluid .calender table { -cursor:pointer; -border:1px solid #ccc; -font-size: 11px; -color: #000; -background: #fff; -font-family:"Lucida Grande", Tahoma, Arial, Verdana, sans-serif; -} - -.container-fluid .calender .button { -text-align: center; -padding: 2px; -} - -.container-fluid .calender .nav { -background:#f5f5f5; -} - -.container-fluid .calender thead .title { -font-weight: bold; -text-align: center; -background: #dedede; -color: #000; -padding: 2px 0 3px 0; -} - -.container-fluid .calender thead .headrow { -background: #f5f5f5; -color: #444; -font-weight:bold; -} - -.container-fluid .calender thead .daynames { -background: #fff; -color:#333; -font-weight:bold; -} - -.container-fluid .calender thead .name { -border-bottom: 1px dotted #ccc; -padding: 2px; -text-align: center; -color: #000; -} - -.container-fluid .calender thead .weekend { -color: #666; -} - -.container-fluid .calender thead .hilite { -background-color: #444; -color: #fff; -padding: 1px; -} - -.container-fluid .calender thead .active { -background-color: #d12f19; -color:#fff; -padding: 2px 0px 0px 2px; -} - - -.container-fluid .calender tbody .day { -width:1.8em; -color: #222; -text-align: right; -padding: 2px 2px 2px 2px; -} -.container-fluid .calender tbody .day.othermonth { -font-size: 80%; -color: #bbb; -} -.container-fluid .calender tbody .day.othermonth.oweekend { -color: #fbb; -} - -.container-fluid .calender table .wn { -padding: 2px 2px 2px 2px; -border-right: 1px solid #000; -background: #666; -} - -.container-fluid .calender tbody .rowhilite td { -background: #FFF1AF; -} - -.container-fluid .calender tbody .rowhilite td.wn { -background: #FFF1AF; -} - -.container-fluid .calender tbody td.hilite { -padding: 1px 1px 1px 1px; -background:#444 !important; -color:#fff !important; -} - -.container-fluid .calender tbody td.active { -color:#fff; -background: #529214 !important; -padding: 2px 2px 0px 2px; -} - -.container-fluid .calender tbody td.selected { -font-weight: bold; -border: 1px solid #888; -padding: 1px 1px 1px 1px; -background: #f5f5f5 !important; -color: #222 !important; -} - -.container-fluid .calender tbody td.weekend { -color: #666; -} - -.container-fluid .calender tbody td.today { -font-weight: bold; -color: #529214; -background:#D9EFC2; -} - -.container-fluid .calender tbody .disabled { color: #999; } - -.container-fluid .calender tbody .emptycell { -visibility: hidden; -} - -.container-fluid .calender tbody .emptyrow { -display: none; -} - -.container-fluid .calender tfoot .footrow { -text-align: center; -background: #556; -color: #fff; -} - -.container-fluid .calender tfoot .ttip { -background: #222; -color: #fff; -font-size:10px; -border-top: 1px solid #dedede; -padding: 3px; -} - -.container-fluid .calender tfoot .hilite { -background: #aaf; -border: 1px solid #04f; -color: #000; -padding: 1px; -} - -.container-fluid .calender tfoot .active { -background: #77c; -padding: 2px 0px 0px 2px; -} - -.container-fluid .calender .combo { -position: absolute; -display: none; -top: 0px; -left: 0px; -width: 4em; -border: 1px solid #ccc; -background: #f5f5f5; -color: #222; -font-size: 90%; -z-index: 100; -} - -.container-fluid .calender .combo .label, -.container-fluid .calender .combo .label-IEfix { -text-align: center; -padding: 1px; -} - -.container-fluid .calender .combo .label-IEfix { -width: 4em; -} - -.container-fluid .calender .combo .hilite { -background: #444; -color:#fff; -} - -.container-fluid .calender .combo .active { -border-top: 1px solid #999; -border-bottom: 1px solid #999; -background: #dedede; -font-weight: bold; -} -.container-fluid form li div label -{ - clear:both; - color:#444; - display:block; - font-size:9px; - line-height:9px; - margin:0; - padding-top:3px; -} - -.container-fluid form li span label -{ - clear:both; - color:#444; - display:block; - font-size:9px; - line-height:9px; - margin:0; - padding-top:3px; -} -.container-fluid form li .datepicker -{ - cursor:pointer !important; - float:left; - height:16px; - margin:.1em 5px 0 0; - padding:0; - width:16px; -} -.container-fluid input.text -{ - background:#fff url(../../../images/shadow.gif) repeat-x top; - border-bottom:1px solid #ddd; - border-left:1px solid #c3c3c3; - border-right:1px solid #c3c3c3; - border-top:1px solid #7c7c7c; - color:#333; - font-size:100%; - margin:0; - padding:2px 0; -} -p.small { - font-size: 16px; -} - - -.container-fluid form ul -{ - font-size:200%; - list-style-type:none; - margin:0; - padding:0; - width:100%; -} - -.container-fluid form li -{ - display:block; - margin:0; - padding:4px 5px 2px 9px; - position:relative; -} -a, -a:hover, -a:focus, -a:active, -a.active { - outline: 0; -} -@media(min-width:768px) { - .navbar-fixed-top { - padding: 25px 0; - -webkit-transition: padding .3s; - -moz-transition: padding .3s; - transition: padding .3s; - } - - .navbar-fixed-top .navbar-brand { - font-size: 2em; - -webkit-transition: all .3s; - -moz-transition: all .3s; - transition: all .3s; - } - - .navbar-fixed-top.navbar-shrink { - padding: 10px 0; - } - - .navbar-fixed-top.navbar-shrink .navbar-brand { - font-size: 1.5em; - } -} - -.navbar a:focus { - outline: 0; -} - -.navbar .navbar-nav li a:focus { - outline: 0; -} - -.navbar-default, -.navbar-inverse { - border: 0; -} -.footer-div -{ -margin-top:120px; -} - -/*******************************************************************************/ -/*****************************CUSTOME STYLE*************************************/ -/*******************************************************************************/ - -.search-textbox -{ - background: url("../images/search-box.png") no-repeat; - border: 0 none; - color: #666666; - float: left; - font-family: 'Raleway'; - font-size: 15px; - height: 36px; - margin: 0; - padding-left: 15px; - transition: background 0.3s ease-in-out 0s; - width: 220px; - -} - -.search-button -{ - background: url("../images/search.png") no-repeat; - cursor: pointer; - height: 36px; - text-indent: -99999em; - width: 36px; - border: 0px; - -} -.main-logo-a -{ - height: auto; - overflow: visible; - margin-left: 0px !important; - padding-bottom: 10px !important; - padding-top: 10px !important; -} - -.menu-a -{ - font-size: 14px !important; - font-family: 'Raleway' !important; - color: #2C99CD !important; - padding-left: 10px !important; - padding-bottom: 5px !important; - padding-top: 5px !important; - padding-right: 10px !important; - -} - -.menu-a-active -{ - color: white !important; -} - -.menu-li -{ - /* float: right; */ - border-radius: 10px; - margin-left: 20px; - margin-right: 20px; -} - -.menu-li:HOVER -{ - background-color: #77BB41 !important; -} - -.menu-a:HOVER -{ - color: white !important; -} -.menu-li-active -{ - background-color: #77BB41; -} - -.menu-div -{ - /* margin-top: 30px; */ - -} - -.menu-ul -{ - margin-top: 45px; -} - -@media only screen and (max-width: 375px) { - .featured-labs-experiment-div - { - text-align: center; - } - .featured-labs-experiment-icon - { - float: left; - min-width: 78px; - } -} - - -@media only screen and (min-width: 401px) { - - .custom-toggle - { - margin-bottom: 0px !important; - margin-top: 27px !important; - } -} - -@media only screen and (max-width: 400px) { - - .main-logo-a - { - width: 60%; - } - - .custom-toggle - { - margin-bottom: 0px !important; - margin-top: 12% !important; - } - - -/* .menu-div - { - margin-top: 30px !important; - } */ - -} - - - -@media only screen and (min-width: 401px) and (max-width: 523px) { - -/* .menu-div - { - margin-top: 30px !important; - } */ -} - -@media only screen and (max-width: 496px) { - - .featured-labs-div - { - background: none !important; - } -} - -@media only screen and (max-width: 540px) { - .broad-labs-empty-div - { - display: none; - } - .border-right-green-dotted - { - margin-top: 60px !important; - } -} - -@media only screen and (min-width: 401px) and (max-width: 767px) { - - .main-logo - { - width: 70%; - } -} - -@media only screen and (max-width: 767px) { - - .menu-ul - { - margin-top: 0px !important; - } - - .menu-li-active - { - background-color: white !important; - } - - .menu-a-active - { - color: #2C99CE !important; - } - - .search-ul - { - display: none !important; - } - - - -} - -@media only screen and (min-width: 768px) and (max-width: 991px) { - .menu-a - { - font-size: 1.4em !important; - } - - .main-logo - { - width: 70%; - } - - .banner-text-small - { - font-size: 1.2em !important; - } - - .banner-text-medium - { - font-size: 1.7em !important; - } - - .banner-text-big - { - font-size: 2.0em !important; - } - -} - -@media only screen and (max-width: 991px) { - .menu-ul - { - margin-top: 30px; - } - - .search-textbox - { - width: 150px; - font-size: 0.9em; - } - - .menu-li - { - margin-left: 10px; - margin-right: 10px; - } - .aboutus-col-8 - { - padding-right: 15px !important; - } - .footer-div - { - background-size: cover !important; - } - - .lab-list-col-10 - { - /* background: none !important; */ - overflow:hidden; - } - - .featured-labs-main-div - { - margin-top: -35px !important; - } -} - - -@media only screen and (min-width: 992px) and (max-width: 1199px) { - -} - - -/*====================new grid================================*/ -@media only screen and (min-width: 992px) { - .col-md-2-5 - { - width: 20%; - float: left; - } -} - -@media only screen and (max-width: 991px) { - .col-md-2-5 - { - width: 33.33%; - float: left; - } - .col-md-2-5-1-l - { - background: url("../images/dotted-devider-h-o.png") no-repeat; - background-position: left bottom; - } -} - -@media only screen and (max-width: 767px) { - .col-md-2-5 - { - width: 50%; - float: left; - } -} - -@media only screen and (max-width: 540px) { - .col-md-2-5 - { - width: 100%; - float: left; - } -} -.col-md-2-5 -{ - position: relative; - min-height: 1px; - vertical-align: bottom; - /* display: flex; */ - min-height: 228px; -} - -.col-md-2-5-1-l -{ - width: 100%; - min-height: 228px; - height: 100%; -} - -.col-md-2-5-1-withbg -{ - background: url("../images/dotted-devider-h-o.png") no-repeat; - background-position: left bottom; - width: 100%; - min-height: 228px; - height: 100%; -} - -.col-md-2-5-2 -{ - padding-right: 15px; - padding-left: 15px; -} -/*************************************************************/ - -.featured-labs-div -{ - margin-left: 0px !important; - margin-right: 0px !important; - padding-left: 15px !important; -} -.border-bottom-img -{ - /* border-bottom: 2px dotted; - border-top : 0px; - border-left: 0px; - border-right: 0px; - -webkit-border-image: url(../images/dotted-devider-h-o.png) 30 round; Safari 3.1-5 - -o-border-image: url(../images/dotted-devider-h-o.png) 30 round; Opera 11-12.1 - border-image: url(../images/dotted-devider-h-o.png) 30 round; */ -} - -.broad-labs-a:HOVER -{ - text-decoration: none !important; - -} -.col-md-2-5-1-l:HOVER, .col-md-2-5-1-withbg:HOVER -{ - background-color: #e4e4e4 !important; -} - -.border-right-green-dotted -{ - border-right: 2px dotted; - margin-top: 30px; - border-right-color: #678f48; - min-height: 115px; -} -.border-right-green-dotted a{ - padding-left: 1px; - display: block; - margin-bottom: 10px; -} -a:focus -{ - color: #72AB44 !important; -} - -.featured-labs -{ - min-height: 190px !important; -} -/*========================font classes=======================*/ -.text-h2-lightblue -{ - color: #2C99CE; - font-size: 1.8em; - -} - -.text-a-lightgreen -{ - color: #72AB44; - font-size: 1.3em; - text-decoration: underline; -} - -.text-a-lightgreen:HOVER -{ - color: #72AB44 !important; -} - -.text-a-white -{ - color: white; - font-size: 1.4em; - text-decoration: underline; -} - - -.text-h2-lightblue-small -{ - color: #2C99CE; - font-size: 1.5em; -} - -.text-h3-darkblue-bold -{ - color: #3e6389; - font-size: 1.4em; - font-weight: bold; -} - -.text-h3-darkblue -{ - color: #3e6389; - font-size: 1.4em; -} - -.text-normal-gray-small -{ - color: #888; - font-size: 16px; -} - -.text-normal-gray-big -{ - color: #888; - font-size: 30px; -} -#experiment-article-section-1-heading -{ -color: #888; -font-size: 30px; -} -.text-normal-gray-smallest -{ - color: #888; - font-size: 13px; -} - -.featured-labs-icon-text -{ - color: #888; - font-size: 13px; -} - -.featured-labs-main-div -{ - margin-top: -50px; -} - -.nounderline -{ - text-decoration: none; -} - -.nounderline:HOVER -{ - text-decoration: none !important; -} -.text-normal-gray-medium -{ - color: #888; - font-size: 1.4em; -} -/*===========================================================*/ - -.shadow -{ - -webkit-box-shadow: inset 0 8px 6px -6px black; - -moz-box-shadow: inset 0 8px 6px -6px black; - box-shadow: inset 0 8px 6px -6px black; -} - - -/*owl style sheet*/ -#owl-demo .item{ - display: block; - padding: 1px 10px; - margin: 5px; - color: #888; - -webkit-border-radius: 3px; - -moz-border-radius: 3px; - border-radius: 3px; -} -.owl-theme .owl-controls .owl-buttons div { - padding: 5px 9px; -} - -.owl-theme .owl-buttons i{ - margin-top: 2px; -} - -//To move navigation buttons outside use these settings: - -#owl-demo .owl-controls .owl-buttons div, #owl-partner-institutions .owl-controls .owl-buttons div{ - position: absolute; -} - -#owl-demo .owl-controls .owl-buttons .owl-prev{ - left: -45px; - top: 55px; - position: absolute; - background: none !important; -} - - #owl-partner-institutions .owl-controls .owl-buttons .owl-prev - { - left: -45px; - top: 20px; - position: absolute; - background: none !important; - } - -#owl-demo .owl-controls .owl-buttons .owl-next{ - right: -45px; - top: 55px; - position: absolute; - background: none !important; -} - -#owl-partner-institutions .owl-controls .owl-buttons .owl-next -{ - right: -45px; - top: 20px; - position: absolute; - background: none !important; -} - -#owl-demo .owl-controls .owl-pagination, #owl-partner-institutions .owl-controls .owl-pagination -{ - display: none; -} - -#owl-aboutus .owl-controls .owl-buttons -{ - display: none; -} - -#owl-aboutus .owl-controls .owl-pagination -{ - text-align: left; -} -#owl-aboutus .owl-controls .owl-page span -{ - background-color: white; - border: 2px solid; - height: 20px; - width: 20px; -} - -#owl-aboutus .owl-controls .owl-page.active span, #owl-aboutus .owl-controls.clickable .owl-page:hover span -{ - background-color: #FF6600; - border: 0px; -} -/*******************/ - - -/*Labs page*/ -.sidebar-col-2 -{ - padding-bottom: 45px; -} - -.lab-list-col-10 -{ - background: url("../images/devider-blue-v-o.png") repeat-y; - background-position: left top; -} - -.sidebar-a:HOVER, .text-h3-darkblue:HOVER { - color: #ff6600 !important; -} - -.lab-list-row-div -{ - background: url('../images/bottom-line-n.png') no-repeat; - background-position: left bottom; - height: auto; - overflow: hidden; - border-bottom: 1.5px dotted; - border-bottom-color: #888; - padding-bottom: 10px; -} - -.lab-list-row-col-2 -{ - margin-top: 15px; -} - -/**********************************************************************************/ - -.banner-text -{ - position: relative; - top: -59px; - color: white !important; -} - -.banner-text-small -{ - font-size: 1.7em; -} - -.banner-text-medium -{ - font-size: 2.2em; -} - -.banner-text-big -{ - font-size: 2.7em; -} - -.baneer-text-sub-div -{ - position: relative; - float: left -} - -.banner-text-1 -{ - left: 3.7%; -} - -.banner-text-2 -{ - left: 9.6%; -} - -.banner-text-3 -{ - left: 15%; -} - -.banner-text-4 -{ - left:22%; -} - -.banner-caption-div -{ - position: absolute; - top: 140px; - left: 42%; -} - -.banner-caption-text -{ - font-size: 2.0em; - line-height: normal; - color: black; -} - - -/*==========================RESPONSIVE+++++++++++++++++++++++++++++++*/ - -@media only screen and (max-width: 399px) { - - .banner-text-small - { - font-size: 0.8em !important; - } - - .banner-text-medium - { - font-size: 0.9em !important; - } - - .banner-text-big - { - font-size: 1.1em !important; - } - - .banner-text - { - top: -21px; - letter-spacing: -1.5px; - } - - .banner-text-1 - { - left: 1.5%; - } - - .banner-text-2 - { - left: 3.0%; - } - - .banner-text-3 - { - left: 5%; - } - - .banner-text-4 - { - left: 8%; - } - -} - -@media only screen and (min-width: 400px) and (max-width: 500px) { - .banner-text-small - { - font-size: 0.9em !important; - } - - .banner-text-medium - { - font-size: 1.1em !important; - } - - .banner-text-big - { - font-size: 1.2em !important; - } - - .banner-text - { - top: -24px; - letter-spacing: -1px; - } - - .banner-text-2 - { - left: 7.0%; - } - - .banner-text-3 - { - left: 12%; - } - - .banner-text-4 - { - left: 17%; - } -} - -@media only screen and (min-width: 501px) and (max-width: 767px) { - .banner-text-small - { - font-size: 0.9em !important; - } - - .banner-text-medium - { - font-size: 1.2em !important; - } - - .banner-text-big - { - font-size: 1.4em !important; - } - .banner-text - { - top: -30px; - } - - .banner-text-2 - { - left: 7.0%; - } - - .banner-text-3 - { - left: 12%; - } - - .banner-text-4 - { - left: 17%; - } -} - - -@media only screen and (max-width: 349px) { - - .banner-caption-text - { - font-size: 0.5em; - } - -} - -@media only screen and (min-width: 350px) and (max-width: 400px) { - - .banner-caption-text - { - font-size: 0.6em; - } - -} - - -@media only screen and (min-width: 401px) and (max-width: 444px) { - - .banner-caption-text - { - font-size: 0.7em; - } - -} - - -@media only screen and (min-width: 445px) and (max-width: 609px) { - - .banner-caption-text - { - font-size: 0.9em; - } - -} - -@media only screen and (min-width: 610px) and (max-width: 767px) { - - .banner-caption-text - { - font-size: 1.1em; - } - -} - -@media only screen and (max-width: 767px) { - .banner-caption-div - { - position: relative !important; - } -} - -@media only screen and (max-width: 346px) { - .banner-caption-div - { - top: -39px; - left: -32%; - } -} - -@media only screen and (min-width: 347px) and (max-width: 399px) { - .banner-caption-div - { - top: -43px; - left: -22%; - } -} - -@media only screen and (min-width: 400px) and (max-width: 444px) { - .banner-caption-div - { - top: -50px; - left: -31%; - } -} - -@media only screen and (min-width: 445px) and (max-width: 500px) { - .banner-caption-div - { - top: -57px; - left: -23%; - } -} - -@media only screen and (min-width: 501px) and (max-width: 569px) { - .banner-caption-div - { - top: -65px; - left: -30%; - } -} - -@media only screen and (min-width: 570px) and (max-width: 639px) { - .banner-caption-div - { - top: -74px; - left: -22%; - } -} - -@media only screen and (min-width: 640px) and (max-width: 709px) { - .banner-caption-div - { - top: -83px; - left: -16%; - } -} - -@media only screen and (min-width: 710px) and (max-width: 767px) { - .banner-caption-div - { - top: -92px; - left: -11%; - } -} - - -@media only screen and (min-width: 768px) and (max-width: 991px) { - - .banner-text-small - { - font-size: 1.2em !important; - } - - .banner-text-medium - { - font-size: 1.7em !important; - } - - .banner-text-big - { - font-size: 2.0em !important; - } - - .banner-text - { - top: -40px; - } - - .banner-text-2 - { - left: 7.0%; - } - - .banner-text-3 - { - left: 12%; - } - - .banner-text-4 - { - left: 17%; - } - - .banner-caption-text - { - font-size: 1.5em; - } - .banner-caption-div - { - top: 99px; - } -} - -@media only screen and (min-width: 992px) and (max-width: 1100px) { - - .banner-text - { - top: -52px; - } -} - -@media only screen and (min-width: 992px) and (max-width: 1150px) { - - .banner-text-2 - { - left: 7.0%; - } - - .banner-text-3 - { - left: 9%; - } - - .banner-text-4 - { - left: 12%; - } - - .banner-caption-text - { - font-size: 1.6em; - } - .banner-caption-div - { - top: 133px; - } -} - -@media only screen and (min-width: 1150px) and (max-width: 1275px) { - - .banner-text-2 - { - left: 8.3%; - } - .banner-text-3 - { - left: 12%; - } - - .banner-text-4 - { - left: 17%; - } - - .banner-caption-text - { - font-size: 1.8em; - } -} - -/* Rules to fix the footer at the bottom of the page */ -/*html{ height:100%; } -body{ min-height:100%; padding:0; margin:0; position:relative; } - -body::after{ content:''; display:block; height:100px; }*/ - -footer{ - width:100%; -} - -/* To justify the paragraph text */ -p { - text-align: justify; -} - -/* Styles for feedback button in feedback section */ -#feedback-btn { - color: #2C99CE !important; - border-color: #2C99CE !important; -} - -#feedback-btn-link { - display: block; - margin: auto; - width: 17%; -} - -#feedback-btn-link:hover { - text-decoration: inherit !important; - color: inherit !important; -} - -/*Styles for progress bars*/ -.progress { - font-weight: bold; -} - -.progress-bar-green { - background-color: #008000; -} - -.progress-bar-blue { - background-color: #130e71; -} - -.progress-bar-red { - background-color: #d9534f; -} - -#progress-bar-header { - background-color: #fff; - border-radius: 6px; - padding: 22px; - box-shadow: 0 0 4px 0 rgba(17,22,26,.16),0 2px 4px 0 rgba(17,22,26,.08),0 4px 8px 0 rgba(17,22,26,.08); -} - - -.main-content { - - font-size: 17.5px; - -} - -h1, h2, h3 { - color: #2C99CE; -} \ No newline at end of file diff --git a/lab-structure/src/themes/green-icon/css/style.css b/lab-structure/src/themes/green-icon/css/style.css deleted file mode 100644 index 99e36eaf..00000000 --- a/lab-structure/src/themes/green-icon/css/style.css +++ /dev/null @@ -1,1404 +0,0 @@ -/* -Theme Name: Vlabs -Theme URI: http://www.vlabs.ac.in -Author: Vlabs.co.in -Author URI: http://www.vlabs.ac.in -Description: The theme to accompany the profile site for vlabs.ac.in -Version: 1.0 -*/ -@import url(https://fonts.googleapis.com/css?family=Raleway:400,300,700,500,600); -body { - overflow-x: hidden; - font-family:'Raleway' !important; -} - -p { - font-size: 16px; -} - -/*** Calendar **********************/ -.content .container-fluid div.calender { position: relative; } - -.container-fluid .calender table { -cursor:pointer; -border:1px solid #ccc; -font-size: 11px; -color: #000; -background: #fff; -font-family:"Lucida Grande", Tahoma, Arial, Verdana, sans-serif; -} - -.container-fluid .calender .button { -text-align: center; -padding: 2px; -} - -.container-fluid .calender .nav { -background:#f5f5f5; -} - -.container-fluid .calender thead .title { -font-weight: bold; -text-align: center; -background: #dedede; -color: #000; -padding: 2px 0 3px 0; -} - -.container-fluid .calender thead .headrow { -background: #f5f5f5; -color: #444; -font-weight:bold; -} - -.container-fluid .calender thead .daynames { -background: #fff; -color:#333; -font-weight:bold; -} - -.container-fluid .calender thead .name { -border-bottom: 1px dotted #ccc; -padding: 2px; -text-align: center; -color: #000; -} - -.container-fluid .calender thead .weekend { -color: #666; -} - -.container-fluid .calender thead .hilite { -background-color: #444; -color: #fff; -padding: 1px; -} - -.container-fluid .calender thead .active { -background-color: #d12f19; -color:#fff; -padding: 2px 0px 0px 2px; -} - - -.container-fluid .calender tbody .day { -width:1.8em; -color: #222; -text-align: right; -padding: 2px 2px 2px 2px; -} -.container-fluid .calender tbody .day.othermonth { -font-size: 80%; -color: #bbb; -} -.container-fluid .calender tbody .day.othermonth.oweekend { -color: #fbb; -} - -.container-fluid .calender table .wn { -padding: 2px 2px 2px 2px; -border-right: 1px solid #000; -background: #666; -} - -.container-fluid .calender tbody .rowhilite td { -background: #FFF1AF; -} - -.container-fluid .calender tbody .rowhilite td.wn { -background: #FFF1AF; -} - -.container-fluid .calender tbody td.hilite { -padding: 1px 1px 1px 1px; -background:#444 !important; -color:#fff !important; -} - -.container-fluid .calender tbody td.active { -color:#fff; -background: #529214 !important; -padding: 2px 2px 0px 2px; -} - -.container-fluid .calender tbody td.selected { -font-weight: bold; -border: 1px solid #888; -padding: 1px 1px 1px 1px; -background: #f5f5f5 !important; -color: #222 !important; -} - -.container-fluid .calender tbody td.weekend { -color: #666; -} - -.container-fluid .calender tbody td.today { -font-weight: bold; -color: #529214; -background:#D9EFC2; -} - -.container-fluid .calender tbody .disabled { color: #999; } - -.container-fluid .calender tbody .emptycell { -visibility: hidden; -} - -.container-fluid .calender tbody .emptyrow { -display: none; -} - -.container-fluid .calender tfoot .footrow { -text-align: center; -background: #556; -color: #fff; -} - -.container-fluid .calender tfoot .ttip { -background: #222; -color: #fff; -font-size:10px; -border-top: 1px solid #dedede; -padding: 3px; -} - -.container-fluid .calender tfoot .hilite { -background: #aaf; -border: 1px solid #04f; -color: #000; -padding: 1px; -} - -.container-fluid .calender tfoot .active { -background: #77c; -padding: 2px 0px 0px 2px; -} - -.container-fluid .calender .combo { -position: absolute; -display: none; -top: 0px; -left: 0px; -width: 4em; -border: 1px solid #ccc; -background: #f5f5f5; -color: #222; -font-size: 90%; -z-index: 100; -} - -.container-fluid .calender .combo .label, -.container-fluid .calender .combo .label-IEfix { -text-align: center; -padding: 1px; -} - -.container-fluid .calender .combo .label-IEfix { -width: 4em; -} - -.container-fluid .calender .combo .hilite { -background: #444; -color:#fff; -} - -.container-fluid .calender .combo .active { -border-top: 1px solid #999; -border-bottom: 1px solid #999; -background: #dedede; -font-weight: bold; -} -.container-fluid form li div label -{ - clear:both; - color:#444; - display:block; - font-size:9px; - line-height:9px; - margin:0; - padding-top:3px; -} - -.container-fluid form li span label -{ - clear:both; - color:#444; - display:block; - font-size:9px; - line-height:9px; - margin:0; - padding-top:3px; -} -.container-fluid form li .datepicker -{ - cursor:pointer !important; - float:left; - height:16px; - margin:.1em 5px 0 0; - padding:0; - width:16px; -} -.container-fluid input.text -{ - background:#fff url(../../../images/shadow.gif) repeat-x top; - border-bottom:1px solid #ddd; - border-left:1px solid #c3c3c3; - border-right:1px solid #c3c3c3; - border-top:1px solid #7c7c7c; - color:#333; - font-size:100%; - margin:0; - padding:2px 0; -} -p.small { - font-size: 16px; -} - - -.container-fluid form ul -{ - font-size:200%; - list-style-type:none; - margin:0; - padding:0; - width:100%; -} - -.container-fluid form li -{ - display:block; - margin:0; - padding:4px 5px 2px 9px; - position:relative; -} -a, -a:hover, -a:focus, -a:active, -a.active { - outline: 0; -} -@media(min-width:768px) { - .navbar-fixed-top { - padding: 25px 0; - -webkit-transition: padding .3s; - -moz-transition: padding .3s; - transition: padding .3s; - } - - .navbar-fixed-top .navbar-brand { - font-size: 2em; - -webkit-transition: all .3s; - -moz-transition: all .3s; - transition: all .3s; - } - - .navbar-fixed-top.navbar-shrink { - padding: 10px 0; - } - - .navbar-fixed-top.navbar-shrink .navbar-brand { - font-size: 1.5em; - } -} - -.navbar a:focus { - outline: 0; -} - -.navbar .navbar-nav li a:focus { - outline: 0; -} - -.navbar-default, -.navbar-inverse { - border: 0; -} -.footer-div -{ -margin-top:120px; -} - -/*******************************************************************************/ -/*****************************CUSTOME STYLE*************************************/ -/*******************************************************************************/ - -.search-textbox -{ - background: url("../images/search-box.png") no-repeat; - border: 0 none; - color: #666666; - float: left; - font-family: 'Raleway'; - font-size: 15px; - height: 36px; - margin: 0; - padding-left: 15px; - transition: background 0.3s ease-in-out 0s; - width: 220px; - -} - -.search-button -{ - background: url("../images/search.png") no-repeat; - cursor: pointer; - height: 36px; - text-indent: -99999em; - width: 36px; - border: 0px; - -} -.main-logo-a -{ - height: auto; - overflow: visible; - margin-left: 0px !important; - padding-bottom: 10px !important; - padding-top: 10px !important; -} - -.menu-a -{ - font-size: 14px !important; - font-family: 'Raleway' !important; - color: #2C99CD !important; - padding-left: 10px !important; - padding-bottom: 5px !important; - padding-top: 5px !important; - padding-right: 10px !important; - -} - -.menu-a-active -{ - color: white !important; -} - -.menu-li -{ - /* float: right; */ - border-radius: 10px; - margin-left: 20px; - margin-right: 20px; -} - -.menu-li:HOVER -{ - background-color: #77BB41 !important; -} - -.menu-a:HOVER -{ - color: white !important; -} -.menu-li-active -{ - background-color: #77BB41; -} - -.menu-div -{ - /* margin-top: 30px; */ - -} - -.menu-ul -{ - margin-top: 45px; -} - -@media only screen and (max-width: 375px) { - .featured-labs-experiment-div - { - text-align: center; - } - .featured-labs-experiment-icon - { - float: left; - min-width: 78px; - } -} - - -@media only screen and (min-width: 401px) { - - .custom-toggle - { - margin-bottom: 0px !important; - margin-top: 27px !important; - } -} - -@media only screen and (max-width: 400px) { - - .main-logo-a - { - width: 60%; - } - - .custom-toggle - { - margin-bottom: 0px !important; - margin-top: 12% !important; - } - - -/* .menu-div - { - margin-top: 30px !important; - } */ - -} - - - -@media only screen and (min-width: 401px) and (max-width: 523px) { - -/* .menu-div - { - margin-top: 30px !important; - } */ -} - -@media only screen and (max-width: 496px) { - - .featured-labs-div - { - background: none !important; - } -} - -@media only screen and (max-width: 540px) { - .broad-labs-empty-div - { - display: none; - } - .border-right-green-dotted - { - margin-top: 60px !important; - } -} - -@media only screen and (min-width: 401px) and (max-width: 767px) { - - .main-logo - { - width: 70%; - } -} - -@media only screen and (max-width: 767px) { - - .menu-ul - { - margin-top: 0px !important; - } - - .menu-li-active - { - background-color: white !important; - } - - .menu-a-active - { - color: #2C99CE !important; - } - - .search-ul - { - display: none !important; - } - - - -} - -@media only screen and (min-width: 768px) and (max-width: 991px) { - .menu-a - { - font-size: 1.4em !important; - } - - .main-logo - { - width: 70%; - } - - .banner-text-small - { - font-size: 1.2em !important; - } - - .banner-text-medium - { - font-size: 1.7em !important; - } - - .banner-text-big - { - font-size: 2.0em !important; - } - -} - -@media only screen and (max-width: 991px) { - .menu-ul - { - margin-top: 30px; - } - - .search-textbox - { - width: 150px; - font-size: 0.9em; - } - - .menu-li - { - margin-left: 10px; - margin-right: 10px; - } - .aboutus-col-8 - { - padding-right: 15px !important; - } - .footer-div - { - background-size: cover !important; - } - - .lab-list-col-10 - { - /* background: none !important; */ - overflow:hidden; - } - - .featured-labs-main-div - { - margin-top: -35px !important; - } -} - - -@media only screen and (min-width: 992px) and (max-width: 1199px) { - -} - - -/*====================new grid================================*/ -@media only screen and (min-width: 992px) { - .col-md-2-5 - { - width: 20%; - float: left; - } -} - -@media only screen and (max-width: 991px) { - .col-md-2-5 - { - width: 33.33%; - float: left; - } - .col-md-2-5-1-l - { - background: url("../images/dotted-devider-h-o.png") no-repeat; - background-position: left bottom; - } -} - -@media only screen and (max-width: 767px) { - .col-md-2-5 - { - width: 50%; - float: left; - } -} - -@media only screen and (max-width: 540px) { - .col-md-2-5 - { - width: 100%; - float: left; - } -} -.col-md-2-5 -{ - position: relative; - min-height: 1px; - vertical-align: bottom; - /* display: flex; */ - min-height: 228px; -} - -.col-md-2-5-1-l -{ - width: 100%; - min-height: 228px; - height: 100%; -} - -.col-md-2-5-1-withbg -{ - background: url("../images/dotted-devider-h-o.png") no-repeat; - background-position: left bottom; - width: 100%; - min-height: 228px; - height: 100%; -} - -.col-md-2-5-2 -{ - padding-right: 15px; - padding-left: 15px; -} -/*************************************************************/ - -.featured-labs-div -{ - margin-left: 0px !important; - margin-right: 0px !important; - padding-left: 15px !important; -} -.border-bottom-img -{ - /* border-bottom: 2px dotted; - border-top : 0px; - border-left: 0px; - border-right: 0px; - -webkit-border-image: url(../images/dotted-devider-h-o.png) 30 round; Safari 3.1-5 - -o-border-image: url(../images/dotted-devider-h-o.png) 30 round; Opera 11-12.1 - border-image: url(../images/dotted-devider-h-o.png) 30 round; */ -} - -.broad-labs-a:HOVER -{ - text-decoration: none !important; - -} -.col-md-2-5-1-l:HOVER, .col-md-2-5-1-withbg:HOVER -{ - background-color: #e4e4e4 !important; -} - -.border-right-green-dotted -{ - border-right: 2px dotted; - margin-top: 30px; - border-right-color: #678f48; - min-height: 115px; -} -.border-right-green-dotted a{ - padding-left: 1px; - display: block; - margin-bottom: 10px; -} -a:focus -{ - color: #72AB44 !important; -} - -.featured-labs -{ - min-height: 190px !important; -} -/*========================font classes=======================*/ -.text-h2-lightblue -{ - color: #2C99CE; - font-size: 1.8em; - -} - -.text-a-lightgreen -{ - color: #72AB44; - font-size: 1.3em; - text-decoration: underline; -} - -.text-a-lightgreen:HOVER -{ - color: #72AB44 !important; -} - -.text-a-white -{ - color: white; - font-size: 1.4em; - text-decoration: underline; -} - - -.text-h2-lightblue-small -{ - color: #2C99CE; - font-size: 1.5em; -} - -.text-h3-darkblue-bold -{ - color: #3e6389; - font-size: 1.4em; - font-weight: bold; -} - -.text-h3-darkblue -{ - color: #3e6389; - font-size: 1.4em; -} - -.text-normal-gray-small -{ - color: #888; - font-size: 16px; -} - -.text-normal-gray-big -{ - color: #888; - font-size: 30px; -} -#experiment-article-section-1-heading -{ -color: #888; -font-size: 30px; -} -.text-normal-gray-smallest -{ - color: #888; - font-size: 13px; -} - -.featured-labs-icon-text -{ - color: #888; - font-size: 13px; -} - -.featured-labs-main-div -{ - margin-top: -50px; -} - -.nounderline -{ - text-decoration: none; -} - -.nounderline:HOVER -{ - text-decoration: none !important; -} -.text-normal-gray-medium -{ - color: #888; - font-size: 1.4em; -} -/*===========================================================*/ - -.shadow -{ - -webkit-box-shadow: inset 0 8px 6px -6px black; - -moz-box-shadow: inset 0 8px 6px -6px black; - box-shadow: inset 0 8px 6px -6px black; -} - - -/*owl style sheet*/ -#owl-demo .item{ - display: block; - padding: 1px 10px; - margin: 5px; - color: #888; - -webkit-border-radius: 3px; - -moz-border-radius: 3px; - border-radius: 3px; -} -.owl-theme .owl-controls .owl-buttons div { - padding: 5px 9px; -} - -.owl-theme .owl-buttons i{ - margin-top: 2px; -} - -//To move navigation buttons outside use these settings: - -#owl-demo .owl-controls .owl-buttons div, #owl-partner-institutions .owl-controls .owl-buttons div{ - position: absolute; -} - -#owl-demo .owl-controls .owl-buttons .owl-prev{ - left: -45px; - top: 55px; - position: absolute; - background: none !important; -} - - #owl-partner-institutions .owl-controls .owl-buttons .owl-prev - { - left: -45px; - top: 20px; - position: absolute; - background: none !important; - } - -#owl-demo .owl-controls .owl-buttons .owl-next{ - right: -45px; - top: 55px; - position: absolute; - background: none !important; -} - -#owl-partner-institutions .owl-controls .owl-buttons .owl-next -{ - right: -45px; - top: 20px; - position: absolute; - background: none !important; -} - -#owl-demo .owl-controls .owl-pagination, #owl-partner-institutions .owl-controls .owl-pagination -{ - display: none; -} - -#owl-aboutus .owl-controls .owl-buttons -{ - display: none; -} - -#owl-aboutus .owl-controls .owl-pagination -{ - text-align: left; -} -#owl-aboutus .owl-controls .owl-page span -{ - background-color: white; - border: 2px solid; - height: 20px; - width: 20px; -} - -#owl-aboutus .owl-controls .owl-page.active span, #owl-aboutus .owl-controls.clickable .owl-page:hover span -{ - background-color: #FF6600; - border: 0px; -} -/*******************/ - - -/*Labs page*/ -.sidebar-col-2 -{ - -} - -.lab-list-col-10 -{ - background: url("../images/devider-blue-v-o.png") repeat-y; - background-position: left top; - margin-bottom: 25px; -} - -.sidebar-a:HOVER, .text-h3-darkblue:HOVER { - color: #ff6600 !important; -} - -.lab-list-row-div -{ - background: url('../images/bottom-line-n.png') no-repeat; - background-position: left bottom; - height: auto; - overflow: hidden; - border-bottom: 1.5px dotted; - border-bottom-color: #888; - padding-bottom: 10px; -} - -.lab-list-row-col-2 -{ - margin-top: 15px; -} - -/**********************************************************************************/ - -.banner-text -{ - position: relative; - top: -59px; - color: white !important; -} - -.banner-text-small -{ - font-size: 1.7em; -} - -.banner-text-medium -{ - font-size: 2.2em; -} - -.banner-text-big -{ - font-size: 2.7em; -} - -.baneer-text-sub-div -{ - position: relative; - float: left -} - -.banner-text-1 -{ - left: 3.7%; -} - -.banner-text-2 -{ - left: 9.6%; -} - -.banner-text-3 -{ - left: 15%; -} - -.banner-text-4 -{ - left:22%; -} - -.banner-caption-div -{ - position: absolute; - top: 140px; - left: 42%; -} - -.banner-caption-text -{ - font-size: 2.0em; - line-height: normal; - color: black; -} - - -/*==========================RESPONSIVE+++++++++++++++++++++++++++++++*/ - -@media only screen and (max-width: 399px) { - - .banner-text-small - { - font-size: 0.8em !important; - } - - .banner-text-medium - { - font-size: 0.9em !important; - } - - .banner-text-big - { - font-size: 1.1em !important; - } - - .banner-text - { - top: -21px; - letter-spacing: -1.5px; - } - - .banner-text-1 - { - left: 1.5%; - } - - .banner-text-2 - { - left: 3.0%; - } - - .banner-text-3 - { - left: 5%; - } - - .banner-text-4 - { - left: 8%; - } - -} - -@media only screen and (min-width: 400px) and (max-width: 500px) { - .banner-text-small - { - font-size: 0.9em !important; - } - - .banner-text-medium - { - font-size: 1.1em !important; - } - - .banner-text-big - { - font-size: 1.2em !important; - } - - .banner-text - { - top: -24px; - letter-spacing: -1px; - } - - .banner-text-2 - { - left: 7.0%; - } - - .banner-text-3 - { - left: 12%; - } - - .banner-text-4 - { - left: 17%; - } -} - -@media only screen and (min-width: 501px) and (max-width: 767px) { - .banner-text-small - { - font-size: 0.9em !important; - } - - .banner-text-medium - { - font-size: 1.2em !important; - } - - .banner-text-big - { - font-size: 1.4em !important; - } - .banner-text - { - top: -30px; - } - - .banner-text-2 - { - left: 7.0%; - } - - .banner-text-3 - { - left: 12%; - } - - .banner-text-4 - { - left: 17%; - } -} - - -@media only screen and (max-width: 349px) { - - .banner-caption-text - { - font-size: 0.5em; - } - -} - -@media only screen and (min-width: 350px) and (max-width: 400px) { - - .banner-caption-text - { - font-size: 0.6em; - } - -} - - -@media only screen and (min-width: 401px) and (max-width: 444px) { - - .banner-caption-text - { - font-size: 0.7em; - } - -} - - -@media only screen and (min-width: 445px) and (max-width: 609px) { - - .banner-caption-text - { - font-size: 0.9em; - } - -} - -@media only screen and (min-width: 610px) and (max-width: 767px) { - - .banner-caption-text - { - font-size: 1.1em; - } - -} - -@media only screen and (max-width: 767px) { - .banner-caption-div - { - position: relative !important; - } -} - -@media only screen and (max-width: 346px) { - .banner-caption-div - { - top: -39px; - left: -32%; - } -} - -@media only screen and (min-width: 347px) and (max-width: 399px) { - .banner-caption-div - { - top: -43px; - left: -22%; - } -} - -@media only screen and (min-width: 400px) and (max-width: 444px) { - .banner-caption-div - { - top: -50px; - left: -31%; - } -} - -@media only screen and (min-width: 445px) and (max-width: 500px) { - .banner-caption-div - { - top: -57px; - left: -23%; - } -} - -@media only screen and (min-width: 501px) and (max-width: 569px) { - .banner-caption-div - { - top: -65px; - left: -30%; - } -} - -@media only screen and (min-width: 570px) and (max-width: 639px) { - .banner-caption-div - { - top: -74px; - left: -22%; - } -} - -@media only screen and (min-width: 640px) and (max-width: 709px) { - .banner-caption-div - { - top: -83px; - left: -16%; - } -} - -@media only screen and (min-width: 710px) and (max-width: 767px) { - .banner-caption-div - { - top: -92px; - left: -11%; - } -} - - -@media only screen and (min-width: 768px) and (max-width: 991px) { - - .banner-text-small - { - font-size: 1.2em !important; - } - - .banner-text-medium - { - font-size: 1.7em !important; - } - - .banner-text-big - { - font-size: 2.0em !important; - } - - .banner-text - { - top: -40px; - } - - .banner-text-2 - { - left: 7.0%; - } - - .banner-text-3 - { - left: 12%; - } - - .banner-text-4 - { - left: 17%; - } - - .banner-caption-text - { - font-size: 1.5em; - } - .banner-caption-div - { - top: 99px; - } -} - -@media only screen and (min-width: 992px) and (max-width: 1100px) { - - .banner-text - { - top: -52px; - } -} - -@media only screen and (min-width: 992px) and (max-width: 1150px) { - - .banner-text-2 - { - left: 7.0%; - } - - .banner-text-3 - { - left: 9%; - } - - .banner-text-4 - { - left: 12%; - } - - .banner-caption-text - { - font-size: 1.6em; - } - .banner-caption-div - { - top: 133px; - } -} - -@media only screen and (min-width: 1150px) and (max-width: 1275px) { - - .banner-text-2 - { - left: 8.3%; - } - .banner-text-3 - { - left: 12%; - } - - .banner-text-4 - { - left: 17%; - } - - .banner-caption-text - { - font-size: 1.8em; - } -} - -/* Rules to fix the footer at the bottom of the page */ -/*html{ height:100%; } -body{ min-height:100%; padding:0; margin:0; position:relative; } - -body::after{ content:''; display:block; height:100px; }*/ - -footer{ - position: absolute; - bottom:0; - width:100%; - height:100px; -} - -/* To justify the paragraph text */ -p { - text-align: justify; -} - -/* Styles for feedback button in feedback section */ -#feedback-btn { - color: #2C99CE !important; - border-color: #2C99CE !important; -} - -#feedback-btn-link { - display: block; - margin: auto; - width: 17%; -} - -#feedback-btn-link:hover { - text-decoration: inherit !important; - color: inherit !important; -} - -/*Styles for list*/ -ul li span, ol li span { - font-size: 1.3em -} - -ul li, ol li{ - font-size: 1.1em -} - -/*Styles for progress bars*/ -.progress { - font-weight: bold; -} - -.progress-bar-green { - background-color: #008000; -} - -.progress-bar-blue { - background-color: #130e71; -} - -.progress-bar-red { - background-color: #d9534f; -} - -#progress-bar-header { - background-color: #fff; - border-radius: 6px; - padding: 22px; - box-shadow: 0 0 4px 0 rgba(17,22,26,.16),0 2px 4px 0 rgba(17,22,26,.08),0 4px 8px 0 rgba(17,22,26,.08); -} diff --git a/lab-structure/src/themes/green-icon/css/style.scss b/lab-structure/src/themes/green-icon/css/style.scss deleted file mode 100644 index 616a25e3..00000000 --- a/lab-structure/src/themes/green-icon/css/style.scss +++ /dev/null @@ -1,229 +0,0 @@ -// Fonts -@import url(https://fonts.googleapis.com/css?family=Open+Sans); -@import url(https://fonts.googleapis.com/css?family=Montserrat:700); - -// Accordion Height -$a-height: 250px; - -// Position text along bottom -$text-offset: $a-height - 90; - -// Page Title -h1 { - - text-align:center; - font-family:Montserrat,sans-serif; - color:#333; - -} - -.accordion { - - width:100%; - max-width:1080px; - height:$a-height; - overflow:hidden; - margin:50px auto; - - ul { - - width:100%; - display:table; - table-layout:fixed; - margin:0; - padding:0; - - li { - - display:table-cell; - vertical-align:bottom; - position: relative; - width:16.666%; // 6 into 100 - height:$a-height; - - background-repeat:no-repeat; - background-position:center center; - - transition:all 500ms ease; - - div { - - display:block; - overflow:hidden; - width:100%; - - a { - - display:block; - height:$a-height; - width:100%; - - position:relative; - z-index:3; - vertical-align:bottom; - padding:15px 20px; - box-sizing:border-box; - color:#fff; - text-decoration:none; - font-family:Open Sans, sans-serif; - - transition:all 200ms ease; - - * { - - opacity:0; - margin:0; - width:100%; - text-overflow:ellipsis; - position:relative; - z-index:5; - - white-space:nowrap; - overflow:hidden; - - -webkit-transform:translateX(-20px); - transform:translateX(-20px); - - -webkit-transition:all 400ms ease; - transition:all 400ms ease; - - } - - h2 { - - font-family:Montserrat,sans-serif; - text-overflow:clip; - font-size:24px; - text-transform:uppercase; - margin-bottom:2px; - - top:$text-offset; - - } - - p { - - top:$text-offset; - font-size:13.5px; - - } - - } - - } - - } - - // Background images - li:nth-child(1) { background-image:url('http://michael-ferry.com/assets/accordion1.jpg'); } - li:nth-child(2) { background-image:url('http://michael-ferry.com/assets/accordion2.jpg'); } - li:nth-child(3) { background-image:url('http://michael-ferry.com/assets/accordion3.jpg'); } - li:nth-child(4) { background-image:url('http://michael-ferry.com/assets/accordion4.jpg'); } - li:nth-child(5) { background-image:url('http://michael-ferry.com/assets/accordion5.jpg'); } - li:nth-child(6) { background-image:url('http://michael-ferry.com/assets/accordion6.jpg'); } - - &:hover li, - &:focus-within li { width:8%; } - - li:focus { - outline: none; - } - - &:hover li:hover, - // allow users to tab through active slides - li:focus, - &:focus-within li:focus { - - width:60%; - - a { - - background:rgba(0,0,0,.4); - - * { - - opacity:1; - -webkit-transform:translateX(0); - transform:translateX(0); - - } - - } - - } - - &:hover li { - width: 8% !important; - - a * { opacity: 0 !important; } - } - - &:hover li:hover { - width:60% !important; - - a { - - background:rgba(0,0,0,.4); - - * { - - opacity:1 !important; - -webkit-transform:translateX(0); - transform:translateX(0); - - } - - } - } - - } - -} - -// Stack items -@media screen and (max-width: 600px) { - - // IE gets fussy if this isn't here - body { margin:0; } - - .accordion { - - height:auto; - - ul,ul:hover { - - li,li:hover { - - position:relative; - display:table; - table-layout:fixed; - width:100%; - - -webkit-transition:none; - transition:none; - - } - - } - - } - -} - -.about { - - text-align:center; - font-family:'Open Sans', sans-serif; - font-size:12px; - color:#666; - - a { - - color:blue; - text-decoration:none; - - &:hover { text-decoration:underline; } - - } - -} \ No newline at end of file diff --git a/lab-structure/src/themes/green-icon/css/style_1.css b/lab-structure/src/themes/green-icon/css/style_1.css deleted file mode 100644 index 8eb62636..00000000 --- a/lab-structure/src/themes/green-icon/css/style_1.css +++ /dev/null @@ -1,1475 +0,0 @@ -/*----------------------------------------*/ -/* CSS -/*----------------------------------------*/ - -html, body { - height: 100%; -} - -.floatleft { - float: left; -} - -.floatright { - float: right; -} - -.alignleft { - float: left; - margin-right: 15px; - margin-bottom: 15px; -} - -.alignright { - float: right; - margin-left: 15px; - margin-bottom: 15px; -} - -.aligncenter { - display: block; - margin: 0 auto 15px; -} - -a:focus { - outline: 0px solid; -} - -img { - max-width: 100%; - height: auto; -} - -.fix { - overflow: hidden; -} - -p { - margin: 0 0 15px; - color: #444; - font-size:17.5px; - line-height:1.6; - -} -li{ - font-size:17.5px; - line-height:1.6; -} -i{ - font-size:16px; - line-height:1.6; -} - -h1, h2, h3, h4, h5, h6 { - font-family: 'Open Sans', sans-serif; - margin: 0 0 15px; - /*color: #444;*/ - font-weight: 500; -} - -h1 { - font-size: 48px; - line-height: 50px; -} - -h2 { - font-size: 38px; - line-height: 40px; -} - -h3 { - font-size: 30px; - line-height: 32px; -} - -h4 { - font-size: 24px; - line-height: 26px; -} - -h5 { - font-size: 20px; - line-height: 22px; -} - -h6 { - font-size: 16px; - line-height: 20px; -} - -a { - transition: all 0.3s ease 0s; - text-decoration: none; -} - -a:hover { - color: #3EC1D5; - text-decoration: none; -} - -a:active, a:hover { - outline: 0 none; -} - -body { - background: #fff none repeat scroll 0 0; - color: #444; - font-family: 'Open Sans', sans-serif; - font-size: 14px; - text-align: left; - overflow-x: hidden; - line-height: 22px; -} - -/* Back to top button */ -.back-to-top { - position: fixed; - display: none; - background: #3EC1D5; - color: #fff; - padding: 6px 12px 9px 12px; - font-size: 16px; - border-radius: 2px; - right: 15px; - bottom: 15px; - transition: background 0.5s; -} - -@media (max-width: 768px) { - .back-to-top { - bottom: 15px; - } -} - -.back-to-top:focus { - background: #3EC1D5; - color: #fff; - outline: none; -} - -.back-to-top:hover { - background: #3cd6ed; - color: #fff; -} - -.clear { - clear: both; -} - -ul { - list-style: outside none none; - margin: 0; - padding: 0; -} - -input, select, textarea, input[type="text"], input[type="date"], input[type="url"], input[type="email"], input[type="password"], input[type="tel"], button, button[type="submit"] { - -moz-appearance: none; - box-shadow: none !important; -} - -div#preloader { - position: fixed; - left: 0; - top: 0; - z-index: 99999; - width: 100%; - height: 100%; - overflow: visible; - background: #fff url('../img/preloader.gif') no-repeat center center; -} - -::-moz-selection { - background: #3EC1D5; - text-shadow: none; -} - -::selection { - background: #3EC1D5; - text-shadow: none; -} - -.area-padding { - /* padding: 31px 0px 80px;*/ -} - -.area-padding-2 { - padding: 70px 0px 50px; -} - -.padding-2 { - padding-bottom: 90px; -} - -.section-headline h2 { - display: inline-block; - font-size: 40px; - /*font-weight: 600;*/ - margin-bottom: 59px; - margin-top:42px; - position: relative; - text-transform: capitalize; -} - -.section-headline h2::after { - border: 1px solid #333; - bottom: -20px; - content: ""; - left: 0; - margin: 0 auto; - position: absolute; - right: 0; - width: 40%; -} - -.sec-head { - display: inline-block; - font-size: 17px; - font-weight: 600; - margin-bottom: 0; - padding: 0 0 10px; - text-transform: uppercase; - transition: all 0.4s ease 0s; -} - -/*--------------------------------*/ - -/* 2. Header top Area -/*--------------------------------*/ - -.header-area { - position: absolute; - top: 0; - left: 0; - width: 100%; - height: auto; - background-color:#fff; - /*background: rgba(0, 0, 0, 0.40);*/ - z-index: 9; -} - -.navbar-header a.navbar-brand { - display: inline-block; - height: 90px; - /* padding: 15px 0;*/ -} - -.main-menu ul.navbar-nav li { - display: inline-block; - padding: 0px 13px; -} - -.main-menu ul.navbar-nav li a { - background: rgba(0, 0, 0, 0) none repeat scroll 0 0; - color: #a7a9ab; - font-size: 15px; - font-weight: 500; - padding: 24px 0px; - text-transform: capitalize; - letter-spacing: 1px; -} - -.main-menu ul.navbar-nav li.active a::after { - border: 1px solid #3cd6ed; - bottom: 0px; - content: ""; - left: 0; - position: absolute; - width: 100%; -} - -.main-menu ul.navbar-nav li.active a:hover { - background: none; - color: #3EC1D5; -} - -.main-menu ul.navbar-nav li.active a:focus { - color: #3cd6ed; -} - -.main-menu ul.navbar-nav li.active a { - background: rgba(0, 0, 0, 0) none repeat scroll 0 0; - color: #a7a9ab; - position: relative; -} - -.main-menu ul.navbar-nav li a:hover { - color: #3EC1D5; -} - -.navbar { - border: medium none; - margin-bottom: 0; -} - -.navbar-default { - background: rgba(0, 0, 0, 0) none repeat scroll 0 0; -} - -.main-menu ul.navbar-default .navbar-nav>.active>a, .navbar-default .navbar-nav>.active>a:hover, .navbar-default .navbar-nav>.active>a:focus { - background: none; - color: #333; -} - -.navbar-default .navbar-toggle { - background: rgba(0, 0, 0, 0) none repeat scroll 0 0; - - border: medium none; - border-radius: 0; - padding: 25px 0px; -} - -.navbar-default .navbar-nav>li>a:hover, .navbar-default .navbar-nav>li>a:focus { - background-color: transparent; - color: #a7a9ab; -} - -.navbar-default .navbar-toggle:hover, .navbar-default .navbar-toggle:focus { - background: none; -} - -.navbar-default .navbar-toggle .icon-bar { - background-color: #fff; - width: 30px; - height: 2px; -} - -.top-right.text-right { - float: right; - position: relative; - top: 24px; - margin-left: 20px; -} - -.top-right.text-right>li { - float: right; - margin: 0px 8px; -} - -.top-right.text-right li a { - color: #fff; -} - -/*--------------------------------*/ - -/* menu -/*--------------------------------*/ - -.header-area.stick { - /*background-color: rgba(0, 0, 0, 1);*/ - background-color:#fff; - height: 90px; - position: fixed; - top: 0; - width: 100%; - z-index: 999999; -} - -.stick .navbar-header a.navbar-brand { - display: inline-block; - height: 90px; -} - -.stick .navbar-brand>img { - display: none; -} - -.stick .navbar-brand.sticky-logo>img { - display: block; -} - -.sticky-logo h1 { - color: #fff; - padding: 0; - margin: 0; - font-size: 36px; - font-weight: bold; - line-height: 1; -} - -.sticky-logo h1 span { - color: #3ec1d5; -} -.stick .main-menu ul.navbar-nav li.active a::after { - border: 1px solid #3EC1D5; - bottom: 0px; - content: ""; - left: 0; - position: absolute; - width: 100%; -} - -.stick .main-menu ul.nav>li>a:hover { - color: #3EC1D5; -} - -.stick .main-menu ul.navbar-nav li.active a { - background: rgba(0, 0, 0, 0) none repeat scroll 0 0; - color: #3EC1D5; - position: relative; -} - -.stick .mainmenu ul#nav>li:hover>a, .stick .mainmenu ul#nav li .mega-menu, .stick .mainmenu ul#nav li ul.sub-menu { - background-color: #f5f5f5; - color: #fff; - outline: medium none; -} - -.stick .mainmenu ul#nav li:hover ul.sub-menu li a:hover, .mainmenu ul#nav li .mega-menu span>a:hover, .stick .mainmenu ul#nav li .mega-menu-shop a.mega-menu-title:hover { - color: #fff; -} - -.stick .logo { - height: 20px; -} - -.stick .logo a { - margin-top: 0px; -} - -.stick .main-menu ul.nav>li>a { - color: #a7a9ab; - line-height: 22px; - padding: 24px 0px; - text-transform: capitalize; - letter-spacing: 1px; -} - -.stick .navbar-default .navbar-toggle .icon-bar { - background-color: #fff; - width: 30px; - height: 2px; -} - -.stick .navbar-default .navbar-toggle { - padding: 10px 0px; -} - - -/*--------------------------------*/ - -/* Services -/*--------------------------------*/ - -.services-icon { - color: #444; - display: inline-block; - font-size: 36px; - line-height: 36px; - margin-bottom: 20px; -} - -.section-headline.services-head>h2 { - margin-bottom: 25px; -} - -.services-details { - padding-top: 40px; - transition: all 0.5s ease 0s; - padding-top: 20px; -} - -.services-details:hover h4, .services-details:hover .services-icon { - color: #3EC1D5; -} - -.row.second-row { - margin-top: 40px; -} - -.section-head>h2 { - color: #333; -} - -.single-services>h4 { - color: #444; - font-size: 24px; - font-weight: 500; -} - -.single-services>p { - color: #333; - font-size: 14px; -} - -/*---------------------------------------- - Skill Area -----------------------------------------*/ - -.our-skill-area { - position: relative; -} - -.our-skill-area { - background: rgba(248, 248, 248, 0.8) url("../img/background/bg1.jpg") no-repeat fixed center top / cover; -} - -.test-overly { - background: rgba(0, 0, 0, 0.80); - position: absolute; - width: 100%; - height: 100%; -} - -.progress-h4 { - color: #fff; - font-weight: 500; -} - - -/*---------------------------------------- - Css -----------------------------------------*/ - -.wellcome-area { - background: rgba(248, 248, 248, 0.8) url("../img/background/bg1.jpg"); - background-size: cover; - background-position: center top; - background-repeat: no-repeat; - background-attachment: fixed; -} - -.well-bg { - position: relative; -} - -.wellcome-text { - /* margin: 70px 0;*/ - padding: 30px 40px; -} - -.well-text>h2 { - color: #fff; - font-size: 44px; - font-weight: 500; - line-height: 50px; -} - -.well-text p { - font-size: 18px; - font-style: italic; - color: #fff; -} - -.wellcome-text .section-headline p { - margin-bottom: 0; -} - -.subs-feilds { - border: 1px solid #fff; - display: inline-block; - height: 52px; - margin-top: 30px; - width: 60%; - border-radius: 30px; - overflow: hidden; -} - -.suscribe-input input { - background: transparent none repeat scroll 0 0; - border: medium none; - color: #fff; - float: left; - font-size: 15px; - line-height: 24px; - padding: 11px 15px; - width: 70%; - height: 50px; -} - -.suscribe-input button { - background: #3ec1d5 none repeat scroll 0 0; - border: medium none; - border-radius: 0 20px 20px 0; - color: #fff; - float: left; - font-size: 20px; - font-weight: 700; - padding: 14px 20px; - width: 30%; -} - -.suscribe-input button:hover { - background: #fff none repeat scroll 0 0; - color: #3ec1d5; -} - -/*---------------------------------------- - career section -----------------------------------------*/ - -.team-member { - background: rgba(0, 0, 0, 0.65) none repeat scroll 0 0; - display: block; - margin-right: -15px; - padding: 10px; - position: relative; - overflow: hidden; -} - -.team-member::before { - background: rgba(0, 0, 0, 0) url("../img/team/team01.jpg") repeat scroll 0 0; - content: ""; - display: block; - height: 100%; - left: 0; - margin-right: -15px; - padding: 10px; - position: absolute; - top: 0; - width: 100%; - z-index: -1; - background-repeat: no-repeat; - background-size: cover; - background-position: top center; - transition: 5s; - transform: scale(1); -} - -.team-member:hover.team-member::before { - transform: scale(1.2); -} - -.single-team-member { - border: 1px solid #ddd; -} - -.team-left-text h4 { - color: #fff; - font-size: 30px; - font-weight: 700; - text-transform: uppercase; -} - -.team-left-text p { - color: #fff; - font-size: 17px; - line-height: 26px; -} - -.email-news { - display: block; - margin: 30px 0; - overflow: hidden; - text-align: center; - width: 100%; -} - -.email-news .email_button input { - background: rgba(0, 0, 0, 0) none repeat scroll 0 0; - border: 1px solid #fff; - color: #fff; - float: left; - font-size: 13px; - padding: 8px; - width: 81%; -} - -.email-news .email_button>button { - background: rgba(0, 0, 0, 0) none repeat scroll 0 0; - border: 1px solid #fff; - color: #fff; - float: left; - font-size: 16px; - padding: 8px 12px; - text-align: center; -} - -.email-news .email_button>button:hover { - background: #3EC1D5; - border: 1px solid #fff; - color: #fff; -} - -.team-left-icon ul li { - display: inline-block; -} - -.team-left-icon ul li a:hover { - color: #3EC1D5; - background: #fff; - border: 2px solid #fff; -} - -.team-left-icon ul li a { - border: 2px solid #fff; - color: #fff; - display: block; - font-size: 16px; - height: 40px; - line-height: 37px; - margin: 0 3px; - width: 40px; -} - -.team-member-carousel .single-team-member { - overflow: hidden; - width: 100%; -} - -.single-team-member:hover .team-img a:after { - opacity: 1; -} - -.single-team-member:hover .team-social-icon { - top: 45%; - opacity: 1; -} - -.team-img { - position: relative; -} - -.team-img>a { - display: block; -} - -.team-img>a::after { - background: rgba(0, 0, 0, 0.70); - bottom: 0; - content: ""; - height: 100%; - left: 0; - position: absolute; - transition: all 0.5s ease 0s; - width: 100%; - opacity: 0; -} - -.team-social-icon { - left: 50%; - margin-left: -61px; - opacity: 0; - position: absolute; - top: 30%; - transition: 1.3s; -} - -.team-social-icon ul li { - display: inline-block; -} - -.team-social-icon ul li a { - border: 1px solid #fff; - border-radius: 50%; - color: #fff; - display: block; - font-size: 14px; - height: 34px; - line-height: 35px; - margin: 0 3px; - width: 34px; -} - -.team-social-icon ul li a:hover { - color: #fff; - border: 1px solid #3EC1D5; - background: #3EC1D5; -} - -.team-content { - padding: 10px 0px; -} - -.team-content>h4, .team-content>p { - color: #444; - margin-bottom: 5px; -} - -.team-content.head-team p { - margin-bottom: 0; -} - -.team-left-icon.text-center { - margin-bottom: 20px; -} - -.head-team h4 { - display: inline-block; - font-size: 25px; - font-weight: 600; - padding-bottom: 10px; - text-transform: uppercase; -} - - - - - - - - - - - - - - -/*-------------------------------------------------------------- -# Footer ---------------------------------------------------------------*/ -#footer { - background: #000; - padding: 0 0 30px 0; - color: #eee; - font-size: 14px; -} - -#footer .footer-top { - background: #111; - /*padding: 60px 0 30px 0;*/ - padding: 15px 0 0px 0; -} - -#footer .footer-top .footer-info { - margin-bottom: 30px; -} - -#footer .footer-top .footer-info h3 { - font-size: 34px; - margin: 0 0 20px 0; - padding: 2px 0 2px 10px; - line-height: 1; - font-family: "Open Sans", sans-serif; - font-weight: 700; - letter-spacing: 3px; - border-left: 4px solid #18d26e; -} - -#footer .footer-top .footer-info p { - font-size: 14px; - line-height: 24px; - margin-bottom: 0; - font-family: "Open Sans", sans-serif; - color: #eee; -} - -#footer .footer-top .social-links a { - font-size: 18px; - display: inline-block; - background: #333; - color: #eee; - line-height: 1; - padding: 8px 0; - margin-right: 4px; - border-radius: 50%; - text-align: center; - width: 36px; - height: 36px; - transition: 0.3s; -} - -#footer .footer-top .social-links a:hover { - background: #3cd6ed; - color: #fff; -} - -#footer .footer-top h4 { - font-size: 14px; - /*font-weight: bold; - text-transform: uppercase;*/ - color: #fff; - - position: relative; - padding-bottom: 12px; -} - -#footer .footer-top h4::before, #footer .footer-top h4::after { - content: ''; - position: absolute; - left: 0; - bottom: 0; - height: 2px; -} - -#footer .footer-top h4::before { - right: 0; - background: #555; -} - -#footer .footer-top h4::after { - background: #3EC1D5; - width: 60px; -} - -#footer .footer-top .footer-links { - margin-bottom: 30px; -} - -#footer .footer-top .footer-links ul { - list-style: none; - padding: 0; - margin: 0; -} - -#footer .footer-top .footer-links ul i { - padding-right: 8px; - color: #ddd; -} - -#footer .footer-top .footer-links ul li { - border-bottom: 1px solid #333; - padding: 10px 0; -} - -#footer .footer-top .footer-links ul li:first-child { - padding-top: 0; -} - -#footer .footer-top .footer-links ul a { - color: #eee; -} - -#footer .footer-top .footer-links ul a:hover { - color: #18d26e; -} - -#footer .footer-top .footer-contact { - margin-bottom: 30px; -} - -#footer .footer-top .footer-contact p { - line-height: 26px; - color:#fff; -} - -#footer .footer-top .footer-newsletter { - margin-bottom: 30px; -} - -#footer .footer-top .footer-newsletter input[type="email"] { - border: 0; - padding: 6px 8px; - width: 65%; -} - -#footer .footer-top .footer-newsletter input[type="submit"] { - background: #18d26e; - border: 0; - width: 35%; - padding: 6px 0; - text-align: center; - color: #fff; - transition: 0.3s; - cursor: pointer; -} - -#footer .footer-top .footer-newsletter input[type="submit"]:hover { - background: #13a456; -} - -#footer .copyright { - text-align: center; - padding-top: 30px; -} - -#footer .credits { - text-align: center; - font-size: 13px; - color: #ddd; -} - - -/*-------------------------------------------------------------- -# Intro Section ---------------------------------------------------------------*/ -#intro { - - width: 100%; - - /* background: #000; - display: table; - height: 100vh; - */ -} - -#intro .carousel-item { - width: 100%; - /* height: 100vh;*/ - background-size: cover; - background-position: center; - background-repeat: no-repeat; -} - -#intro .carousel-item::before { - content: ''; - background-color: rgba(0, 0, 0, 0.4); - position: absolute; - height: 100%; - width: 100%; - top: 0; - right: 0; - left: 0; - bottom: 0; -} - -#intro .carousel-container { - display: flex; - justify-content: left; - align-items: center; - position: absolute; - bottom: 0; - top: 0; - left: 0; - right: 0; -} - -#intro .carousel-content { - text-align: left; - padding-top:220px; -} - -#intro h2 { - color: #fff; - margin-bottom: 30px; - font-size: 48px; - font-weight: 700; -} - -@media (max-width: 768px) { - #intro h2 { - font-size: 28px; - } -} - -#intro p { - width: 100%; - margin: 0 auto 30px auto; - color: #fff; -} - -@media (min-width: 1024px) { - #intro p { - width: 100%; - font-size:45px; - } -} - -#intro .carousel-fade .carousel-inner .carousel-item { - -webkit-transition-property: opacity; - transition-property: opacity; -} - -#intro .carousel-fade .carousel-inner .carousel-item, -#intro .carousel-fade .carousel-inner .active.carousel-item-left, -#intro .carousel-fade .carousel-inner .active.carousel-item-right { - opacity: 0; -} - -#intro .carousel-fade .carousel-inner .active, -#intro .carousel-fade .carousel-inner .carousel-item-next.carousel-item-left, -#intro .carousel-fade .carousel-inner .carousel-item-prev.carousel-item-right { - opacity: 1; - transition: 0.5s; -} - -#intro .carousel-fade .carousel-inner .carousel-item-next, -#intro .carousel-fade .carousel-inner .carousel-item-prev, -#intro .carousel-fade .carousel-inner .active.carousel-item-left, -#intro .carousel-fade .carousel-inner .active.carousel-item-right { - left: 0; - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); -} - -#intro .carousel-control-prev, #intro .carousel-control-next { - width: 10%; -} - -@media (min-width: 1024px) { - #intro .carousel-control-prev, #intro .carousel-control-next { - width: 5%; - } -} - -#intro .carousel-control-next-icon, #intro .carousel-control-prev-icon { - background: none; - font-size: 32px; - line-height: 1; -} - -#intro .carousel-indicators li { - cursor: pointer; -} - -#intro .btn-get-started { - font-family: "Open Sans", sans-serif; - font-weight: 500; - font-size: 16px; - letter-spacing: 1px; - display: inline-block; - padding: 8px 32px; - border-radius: 50px; - transition: 0.5s; - margin: 10px; - color: #fff; - background: #18d26e; -} - -#intro .btn-get-started:hover { - background: #fff; - color: #18d26e; -} - -.downArrow{ - position: absolute; - bottom: 0%; - left: 50%; -} -.bounce { - -moz-animation: bounce 3s infinite; - -webkit-animation: bounce 3s infinite; - animation: bounce 3s infinite; -} -@-moz-keyframes bounce { - 0%, 20%, 50%, 80%, 100% { - -moz-transform: translateY(0); - transform: translateY(0); - } - 40% { - -moz-transform: translateY(-30px); - transform: translateY(-30px); - } - 60% { - -moz-transform: translateY(-15px); - transform: translateY(-15px); - } -} -@-webkit-keyframes bounce { - 0%, 20%, 50%, 80%, 100% { - -webkit-transform: translateY(0); - transform: translateY(0); - } - 40% { - -webkit-transform: translateY(-30px); - transform: translateY(-30px); - } - 60% { - -webkit-transform: translateY(-15px); - transform: translateY(-15px); - } -} -@keyframes bounce { - 0%, 20%, 50%, 80%, 100% { - -moz-transform: translateY(0); - -ms-transform: translateY(0); - -webkit-transform: translateY(0); - transform: translateY(0); - } - 40% { - -moz-transform: translateY(-30px); - -ms-transform: translateY(-30px); - -webkit-transform: translateY(-30px); - transform: translateY(-30px); - } - 60% { - -moz-transform: translateY(-15px); - -ms-transform: translateY(-15px); - -webkit-transform: translateY(-15px); - transform: translateY(-15px); - } -} - -/* the blue circle with only one line of text, centered vertically */ -.oneline:after { - content: ""; - display: block; - width: 100%; - height: 0; - padding-bottom: 100%; - background: cadetblue; - -moz-border-radius: 50%; - -webkit-border-radius: 50%; - border-radius: 50%; -} -.oneline:hover:after { - background-color: #3EC1D5; -} -.oneline div { - float: left; - width: 100%; - padding-top: 19%; - line-height: 1em; - margin-top: -1.7em; - text-align: center; - color: white; -} -.oneline p { - text-align: center; - font-size: 1.2em; -} - -@media only screen and (min-width: 350px) { - .col { - display: inline-block; - position: relative; - width: 100%; - margin: 4% 0 5% 9%; - padding: 0; - background-color: transparent; - border-top: none; - height:260px; - } - .col .spacer { - position: relative; - padding-top: 100%; - } - .col:nth-child(3n+1) { - margin-left: 1%; - } - - .circle { - position: absolute; - top: 0; - bottom: 0; - left: 0; - right: 0; - background-color: powderblue; - color: #333; - border-radius: 50%; - box-sizing: border-box; - text-align: center; - display: block; - padding: 5px; - border: 5px solid #9dd8e0; - -webkit-transition: all 1s ease-out; - -moz-transition: all 1s ease-out; - -o-transition: all 1s ease-out; - transition: all 1s ease-out; - } - .circle:before { - content: ''; - display: inline-block; - height: 100%; - vertical-align: middle; - margin-right: -2%; - } - .circle:hover { - /* background-color: #a7a9ab;*/ - background-color:#3EC1D5 - border: 5px solid #444; - color: #fff; - } -/*new class added for text hover*/ - .circle:hover h4{ - /* background-color: #a7a9ab;*/ - background-color:#3EC1D5 - - color: #fff; - } - - .outline { - border: 5px solid grey; - position: absolute; - top: 0; - bottom: 0; - left: 0; - right: 0; - border-radius: 50%; - box-sizing: border-box; - } - - .circle h1 { - font-size: 0.9em; - line-height: 1em; - } - .circle p { - font-size: 0.8em; - line-height: 1em; - color: white; - text-align: center; - } - .circle a { - color: inherit; - } - .circle > p, .circle > h1, .circle > .wrapcontent { - display: inline-block; - vertical-align: middle; - } - .circle > p > p, .circle > p > h1, .circle > h1 > p, .circle > h1 > h1, .circle > .wrapcontent > p, .circle > .wrapcontent > h1 { - display: block; - } -} -@media only screen and (min-width: 481px) { - .circle h1 { - font-size: 1.2em; - line-height: 1em; - } - .circle p { - font-size: 1em; - line-height: 1em; - } -} -@media only screen and (min-width: 768px) { - .circle h1 { - font-size: 1.6em; - line-height: 1em; - } - .circle p { - font-size: 1.2em; - line-height: 1em; - } -} - - -/*Accordian*/ - -.accordion { - width: 100%; - max-width: 1080px; - height: 250px; - overflow: hidden; - margin: 50px auto; - -} -.accordion ul { - width: 100%; - display: table; - table-layout: fixed; - margin: 0; - padding: 0; - -} -.accordion ul li { - display: table-cell; - vertical-align: bottom; - position: relative; - width: 16.666%; - height: 250px; - background-repeat: no-repeat; - background-position: center center; - transition: all 500ms ease; -} -.accordion ul li div { - display: block; - overflow: hidden; - width: 100%; - padding:32px; -height: 287px; -margin-top: -124px; -} -.accordion ul li div a{ - display: block; - /*height: 250px;*/ - width: 100%; - position: relative; - z-index: 3; - vertical-align: bottom; - /* padding: 15px 20px;*/ - box-sizing: border-box; - color: #fff; - text-decoration: none; - font-family: Open Sans, sans-serif; - transition: all 200ms ease; - -} -.accordion ul li div a * { - opacity: 0; - margin: 0; - width: 100%; - text-overflow: ellipsis; - position: relative; - z-index: 5; - white-space: nowrap; - overflow: hidden; - -webkit-transform: translateX(-20px); - transform: translateX(-20px); - -webkit-transition: all 400ms ease; - transition: all 400ms ease; -} -.accordion ul li div a h2 { - font-family: Montserrat,sans-serif; - text-overflow: clip; - font-size: 24px; - text-transform: uppercase; - margin-bottom: 2px; - /*top: 160px;*/ -} -.accordion ul li div a p { - /* top: 160px; - font-size: 13.5px;*/ - font-size: 16px; - line-height:2.2; - -} -.accordion ul li:nth-child(1) { - - background-image: url("http://files.vlabs.ac.in/iiith-landing-pages/img/disciplines/computer-science.jpg"); -} -.accordion ul li:nth-child(2) { - - background-image: url("http://files.vlabs.ac.in/iiith-landing-pages/img/disciplines/computer-science.jpg"); -} -.accordion ul li:nth-child(3) { - background-image: url("http://files.vlabs.ac.in/iiith-landing-pages/img/disciplines/computer-science.jpg"); - -} -.accordion ul li:nth-child(4) { - - background-image: url("http://files.vlabs.ac.in/iiith-landing-pages/img/disciplines/computer-science.jpg"); -} -.accordion ul li:nth-child(5) { - - background-image: url("http://files.vlabs.ac.in/iiith-landing-pages/img/disciplines/computer-science.jpg"); -} -.accordion ul li:nth-child(6) { - /* background-image: url("http://michael-ferry.com/assets/accordion6.jpg");*/ -} -.accordion ul:hover li { - width: 8%; -} -.accordion ul:hover li:hover { - width: 60%; -} -.accordion ul:hover li:hover a { - /*background: rgba(0, 0, 0, 0.4);*/ -} -.accordion ul:hover li:hover a * { - opacity: 1; - -webkit-transform: translateX(0); - transform: translateX(0); -} - -@media screen and (max-width: 600px) { - body { - margin: 0; - } - - .accordion { - /*height: auto;*/ -} - .accordion ul li, .accordion ul li:hover, .accordion ul:hover li, .accordion ul:hover li:hover { - position: relative; - display: table; - table-layout: fixed; - width: 100%; - -webkit-transition: none; - transition: none; -} -} -.about { - text-align: center; - font-family: 'Open Sans', sans-serif; - font-size: 12px; - color: #666; -} -.about a { - color: blue; - text-decoration: none; -} -.about a:hover { - text-decoration: underline; -} -/*accordion ends here*/ - - - -/*logo line*/ -.vline { - border-left: 2px solid #a7a9ab; -height: 62px; -position: absolute; -/*left: 10.5%;*/ -margin-left: -3px; -top: 15px; -} -/*logo line ends here*/ diff --git a/lab-structure/src/themes/green-icon/css/vlabs-style.css b/lab-structure/src/themes/green-icon/css/vlabs-style.css deleted file mode 100644 index 7eb7582a..00000000 --- a/lab-structure/src/themes/green-icon/css/vlabs-style.css +++ /dev/null @@ -1,115 +0,0 @@ -.vlabs-page { - min-height: 100vh; - overflow-x: hidden; -} - -.vlabs-header { - border-bottom: 8px solid #ff6600; - font-family: 'Raleway', sans-serif; -} - -.vlabs-page-main { - font-size: 1rem; - font-family: "Open Sans", sans-serif; -} - -.vlabs-lab-name { - font-size: 1.7rem; -} - -.vlabs-footer { - font-size: 14px; - background: rgb(17, 17, 17); - font-family: 'Raleway', sans-serif; -} - -.vlabs-footer-sect-name { - border-width: 0.15rem; - border-style: solid; - border-image: linear-gradient( to right, #3EC1D5 20%, #555 0% ) 0% 0% 100% 0%; -} - -.vlabs-lab-name { - color: #2C99CE; -} - -.vlabs-page-content { - border-left: 2px dotted #89a7c4; - overflow-y: hidden; - font-family: 'Raleway', sans-serif; -} - -.social-links > a { - color: #fff; - border-radius: 50%; - width: 36px; - height: 36px; -} - -.sidebar a { - color: #3e6389; -} -.sidebar a:hover { - color: #ff6600; -} - -.sidebar { - font-size: 1.2rem; - font-weight: bold; -} - - -.vlabs-header a { - margin: 0 1rem; - padding: 0.5rem 1rem; - color: #2C98CD; -} - - -.vlabs-header #headerNavbar a:hover { - background: #77BB41; - color: #fff; - border-radius: 10px; -} - -.vlabs-header #headerNavbar a { - border-radius: 10px; - transition: 0.3s; -} - -.breadcrumbs, .breadcrumbs a, .breadcrumbs span { - font-size: 1.6rem; - color: #337ab7; -} - -.page-name { - color: #337ab7; -} - -/*pre-test and post-test page styling fix*/ - -.answers { - font-size: 1rem; - display: flex; - flex-direction: column; - margin-bottom: 1rem; -} -.question { - font-weight: 900; -} - -/* feedback */ -#feedback-btn { - color: #2C99CE; - border-color: #2C99CE; -} - - -/* to override markdown styling */ -.markdown-body > div { - font-family: 'Raleway', sans-serif !important; -} - -h1, h2, h3 { - color: #2C99CE; -} \ No newline at end of file diff --git a/lab-structure/src/themes/green-icon/fonts/css/font-awesome.min.css b/lab-structure/src/themes/green-icon/fonts/css/font-awesome.min.css deleted file mode 100755 index 5578ea5d..00000000 --- a/lab-structure/src/themes/green-icon/fonts/css/font-awesome.min.css +++ /dev/null @@ -1,4 +0,0 @@ -/*! - * Font Awesome 4.7.0 by @davegandy - http://fontawesome.io - @fontawesome - * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) - */@font-face{font-family:'FontAwesome';src:url('../fonts/fontawesome-webfont.eot?v=4.7.0');src:url('../fonts/fontawesome-webfont.eot?#iefix&v=4.7.0') format('embedded-opentype'),url('../fonts/fontawesome-webfont.woff2?v=4.7.0') format('woff2'),url('../fonts/fontawesome-webfont.woff?v=4.7.0') format('woff'),url('../fonts/fontawesome-webfont.ttf?v=4.7.0') format('truetype'),url('../fonts/fontawesome-webfont.svg?v=4.7.0#fontawesomeregular') format('svg');font-weight:normal;font-style:normal}.fa{display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fa-lg{font-size:1.33333333em;line-height:.75em;vertical-align:-15%}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-fw{width:1.28571429em;text-align:center}.fa-ul{padding-left:0;margin-left:2.14285714em;list-style-type:none}.fa-ul>li{position:relative}.fa-li{position:absolute;left:-2.14285714em;width:2.14285714em;top:.14285714em;text-align:center}.fa-li.fa-lg{left:-1.85714286em}.fa-border{padding:.2em .25em .15em;border:solid .08em #eee;border-radius:.1em}.fa-pull-left{float:left}.fa-pull-right{float:right}.fa.fa-pull-left{margin-right:.3em}.fa.fa-pull-right{margin-left:.3em}.pull-right{float:right}.pull-left{float:left}.fa.pull-left{margin-right:.3em}.fa.pull-right{margin-left:.3em}.fa-spin{-webkit-animation:fa-spin 2s infinite linear;animation:fa-spin 2s infinite linear}.fa-pulse{-webkit-animation:fa-spin 1s infinite steps(8);animation:fa-spin 1s infinite steps(8)}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}.fa-rotate-90{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";-webkit-transform:rotate(270deg);-ms-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";-webkit-transform:scale(-1, 1);-ms-transform:scale(-1, 1);transform:scale(-1, 1)}.fa-flip-vertical{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";-webkit-transform:scale(1, -1);-ms-transform:scale(1, -1);transform:scale(1, -1)}:root .fa-rotate-90,:root .fa-rotate-180,:root .fa-rotate-270,:root .fa-flip-horizontal,:root .fa-flip-vertical{filter:none}.fa-stack{position:relative;display:inline-block;width:2em;height:2em;line-height:2em;vertical-align:middle}.fa-stack-1x,.fa-stack-2x{position:absolute;left:0;width:100%;text-align:center}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-glass:before{content:"\f000"}.fa-music:before{content:"\f001"}.fa-search:before{content:"\f002"}.fa-envelope-o:before{content:"\f003"}.fa-heart:before{content:"\f004"}.fa-star:before{content:"\f005"}.fa-star-o:before{content:"\f006"}.fa-user:before{content:"\f007"}.fa-film:before{content:"\f008"}.fa-th-large:before{content:"\f009"}.fa-th:before{content:"\f00a"}.fa-th-list:before{content:"\f00b"}.fa-check:before{content:"\f00c"}.fa-remove:before,.fa-close:before,.fa-times:before{content:"\f00d"}.fa-search-plus:before{content:"\f00e"}.fa-search-minus:before{content:"\f010"}.fa-power-off:before{content:"\f011"}.fa-signal:before{content:"\f012"}.fa-gear:before,.fa-cog:before{content:"\f013"}.fa-trash-o:before{content:"\f014"}.fa-home:before{content:"\f015"}.fa-file-o:before{content:"\f016"}.fa-clock-o:before{content:"\f017"}.fa-road:before{content:"\f018"}.fa-download:before{content:"\f019"}.fa-arrow-circle-o-down:before{content:"\f01a"}.fa-arrow-circle-o-up:before{content:"\f01b"}.fa-inbox:before{content:"\f01c"}.fa-play-circle-o:before{content:"\f01d"}.fa-rotate-right:before,.fa-repeat:before{content:"\f01e"}.fa-refresh:before{content:"\f021"}.fa-list-alt:before{content:"\f022"}.fa-lock:before{content:"\f023"}.fa-flag:before{content:"\f024"}.fa-headphones:before{content:"\f025"}.fa-volume-off:before{content:"\f026"}.fa-volume-down:before{content:"\f027"}.fa-volume-up:before{content:"\f028"}.fa-qrcode:before{content:"\f029"}.fa-barcode:before{content:"\f02a"}.fa-tag:before{content:"\f02b"}.fa-tags:before{content:"\f02c"}.fa-book:before{content:"\f02d"}.fa-bookmark:before{content:"\f02e"}.fa-print:before{content:"\f02f"}.fa-camera:before{content:"\f030"}.fa-font:before{content:"\f031"}.fa-bold:before{content:"\f032"}.fa-italic:before{content:"\f033"}.fa-text-height:before{content:"\f034"}.fa-text-width:before{content:"\f035"}.fa-align-left:before{content:"\f036"}.fa-align-center:before{content:"\f037"}.fa-align-right:before{content:"\f038"}.fa-align-justify:before{content:"\f039"}.fa-list:before{content:"\f03a"}.fa-dedent:before,.fa-outdent:before{content:"\f03b"}.fa-indent:before{content:"\f03c"}.fa-video-camera:before{content:"\f03d"}.fa-photo:before,.fa-image:before,.fa-picture-o:before{content:"\f03e"}.fa-pencil:before{content:"\f040"}.fa-map-marker:before{content:"\f041"}.fa-adjust:before{content:"\f042"}.fa-tint:before{content:"\f043"}.fa-edit:before,.fa-pencil-square-o:before{content:"\f044"}.fa-share-square-o:before{content:"\f045"}.fa-check-square-o:before{content:"\f046"}.fa-arrows:before{content:"\f047"}.fa-step-backward:before{content:"\f048"}.fa-fast-backward:before{content:"\f049"}.fa-backward:before{content:"\f04a"}.fa-play:before{content:"\f04b"}.fa-pause:before{content:"\f04c"}.fa-stop:before{content:"\f04d"}.fa-forward:before{content:"\f04e"}.fa-fast-forward:before{content:"\f050"}.fa-step-forward:before{content:"\f051"}.fa-eject:before{content:"\f052"}.fa-chevron-left:before{content:"\f053"}.fa-chevron-right:before{content:"\f054"}.fa-plus-circle:before{content:"\f055"}.fa-minus-circle:before{content:"\f056"}.fa-times-circle:before{content:"\f057"}.fa-check-circle:before{content:"\f058"}.fa-question-circle:before{content:"\f059"}.fa-info-circle:before{content:"\f05a"}.fa-crosshairs:before{content:"\f05b"}.fa-times-circle-o:before{content:"\f05c"}.fa-check-circle-o:before{content:"\f05d"}.fa-ban:before{content:"\f05e"}.fa-arrow-left:before{content:"\f060"}.fa-arrow-right:before{content:"\f061"}.fa-arrow-up:before{content:"\f062"}.fa-arrow-down:before{content:"\f063"}.fa-mail-forward:before,.fa-share:before{content:"\f064"}.fa-expand:before{content:"\f065"}.fa-compress:before{content:"\f066"}.fa-plus:before{content:"\f067"}.fa-minus:before{content:"\f068"}.fa-asterisk:before{content:"\f069"}.fa-exclamation-circle:before{content:"\f06a"}.fa-gift:before{content:"\f06b"}.fa-leaf:before{content:"\f06c"}.fa-fire:before{content:"\f06d"}.fa-eye:before{content:"\f06e"}.fa-eye-slash:before{content:"\f070"}.fa-warning:before,.fa-exclamation-triangle:before{content:"\f071"}.fa-plane:before{content:"\f072"}.fa-calendar:before{content:"\f073"}.fa-random:before{content:"\f074"}.fa-comment:before{content:"\f075"}.fa-magnet:before{content:"\f076"}.fa-chevron-up:before{content:"\f077"}.fa-chevron-down:before{content:"\f078"}.fa-retweet:before{content:"\f079"}.fa-shopping-cart:before{content:"\f07a"}.fa-folder:before{content:"\f07b"}.fa-folder-open:before{content:"\f07c"}.fa-arrows-v:before{content:"\f07d"}.fa-arrows-h:before{content:"\f07e"}.fa-bar-chart-o:before,.fa-bar-chart:before{content:"\f080"}.fa-twitter-square:before{content:"\f081"}.fa-facebook-square:before{content:"\f082"}.fa-camera-retro:before{content:"\f083"}.fa-key:before{content:"\f084"}.fa-gears:before,.fa-cogs:before{content:"\f085"}.fa-comments:before{content:"\f086"}.fa-thumbs-o-up:before{content:"\f087"}.fa-thumbs-o-down:before{content:"\f088"}.fa-star-half:before{content:"\f089"}.fa-heart-o:before{content:"\f08a"}.fa-sign-out:before{content:"\f08b"}.fa-linkedin-square:before{content:"\f08c"}.fa-thumb-tack:before{content:"\f08d"}.fa-external-link:before{content:"\f08e"}.fa-sign-in:before{content:"\f090"}.fa-trophy:before{content:"\f091"}.fa-github-square:before{content:"\f092"}.fa-upload:before{content:"\f093"}.fa-lemon-o:before{content:"\f094"}.fa-phone:before{content:"\f095"}.fa-square-o:before{content:"\f096"}.fa-bookmark-o:before{content:"\f097"}.fa-phone-square:before{content:"\f098"}.fa-twitter:before{content:"\f099"}.fa-facebook-f:before,.fa-facebook:before{content:"\f09a"}.fa-github:before{content:"\f09b"}.fa-unlock:before{content:"\f09c"}.fa-credit-card:before{content:"\f09d"}.fa-feed:before,.fa-rss:before{content:"\f09e"}.fa-hdd-o:before{content:"\f0a0"}.fa-bullhorn:before{content:"\f0a1"}.fa-bell:before{content:"\f0f3"}.fa-certificate:before{content:"\f0a3"}.fa-hand-o-right:before{content:"\f0a4"}.fa-hand-o-left:before{content:"\f0a5"}.fa-hand-o-up:before{content:"\f0a6"}.fa-hand-o-down:before{content:"\f0a7"}.fa-arrow-circle-left:before{content:"\f0a8"}.fa-arrow-circle-right:before{content:"\f0a9"}.fa-arrow-circle-up:before{content:"\f0aa"}.fa-arrow-circle-down:before{content:"\f0ab"}.fa-globe:before{content:"\f0ac"}.fa-wrench:before{content:"\f0ad"}.fa-tasks:before{content:"\f0ae"}.fa-filter:before{content:"\f0b0"}.fa-briefcase:before{content:"\f0b1"}.fa-arrows-alt:before{content:"\f0b2"}.fa-group:before,.fa-users:before{content:"\f0c0"}.fa-chain:before,.fa-link:before{content:"\f0c1"}.fa-cloud:before{content:"\f0c2"}.fa-flask:before{content:"\f0c3"}.fa-cut:before,.fa-scissors:before{content:"\f0c4"}.fa-copy:before,.fa-files-o:before{content:"\f0c5"}.fa-paperclip:before{content:"\f0c6"}.fa-save:before,.fa-floppy-o:before{content:"\f0c7"}.fa-square:before{content:"\f0c8"}.fa-navicon:before,.fa-reorder:before,.fa-bars:before{content:"\f0c9"}.fa-list-ul:before{content:"\f0ca"}.fa-list-ol:before{content:"\f0cb"}.fa-strikethrough:before{content:"\f0cc"}.fa-underline:before{content:"\f0cd"}.fa-table:before{content:"\f0ce"}.fa-magic:before{content:"\f0d0"}.fa-truck:before{content:"\f0d1"}.fa-pinterest:before{content:"\f0d2"}.fa-pinterest-square:before{content:"\f0d3"}.fa-google-plus-square:before{content:"\f0d4"}.fa-google-plus:before{content:"\f0d5"}.fa-money:before{content:"\f0d6"}.fa-caret-down:before{content:"\f0d7"}.fa-caret-up:before{content:"\f0d8"}.fa-caret-left:before{content:"\f0d9"}.fa-caret-right:before{content:"\f0da"}.fa-columns:before{content:"\f0db"}.fa-unsorted:before,.fa-sort:before{content:"\f0dc"}.fa-sort-down:before,.fa-sort-desc:before{content:"\f0dd"}.fa-sort-up:before,.fa-sort-asc:before{content:"\f0de"}.fa-envelope:before{content:"\f0e0"}.fa-linkedin:before{content:"\f0e1"}.fa-rotate-left:before,.fa-undo:before{content:"\f0e2"}.fa-legal:before,.fa-gavel:before{content:"\f0e3"}.fa-dashboard:before,.fa-tachometer:before{content:"\f0e4"}.fa-comment-o:before{content:"\f0e5"}.fa-comments-o:before{content:"\f0e6"}.fa-flash:before,.fa-bolt:before{content:"\f0e7"}.fa-sitemap:before{content:"\f0e8"}.fa-umbrella:before{content:"\f0e9"}.fa-paste:before,.fa-clipboard:before{content:"\f0ea"}.fa-lightbulb-o:before{content:"\f0eb"}.fa-exchange:before{content:"\f0ec"}.fa-cloud-download:before{content:"\f0ed"}.fa-cloud-upload:before{content:"\f0ee"}.fa-user-md:before{content:"\f0f0"}.fa-stethoscope:before{content:"\f0f1"}.fa-suitcase:before{content:"\f0f2"}.fa-bell-o:before{content:"\f0a2"}.fa-coffee:before{content:"\f0f4"}.fa-cutlery:before{content:"\f0f5"}.fa-file-text-o:before{content:"\f0f6"}.fa-building-o:before{content:"\f0f7"}.fa-hospital-o:before{content:"\f0f8"}.fa-ambulance:before{content:"\f0f9"}.fa-medkit:before{content:"\f0fa"}.fa-fighter-jet:before{content:"\f0fb"}.fa-beer:before{content:"\f0fc"}.fa-h-square:before{content:"\f0fd"}.fa-plus-square:before{content:"\f0fe"}.fa-angle-double-left:before{content:"\f100"}.fa-angle-double-right:before{content:"\f101"}.fa-angle-double-up:before{content:"\f102"}.fa-angle-double-down:before{content:"\f103"}.fa-angle-left:before{content:"\f104"}.fa-angle-right:before{content:"\f105"}.fa-angle-up:before{content:"\f106"}.fa-angle-down:before{content:"\f107"}.fa-desktop:before{content:"\f108"}.fa-laptop:before{content:"\f109"}.fa-tablet:before{content:"\f10a"}.fa-mobile-phone:before,.fa-mobile:before{content:"\f10b"}.fa-circle-o:before{content:"\f10c"}.fa-quote-left:before{content:"\f10d"}.fa-quote-right:before{content:"\f10e"}.fa-spinner:before{content:"\f110"}.fa-circle:before{content:"\f111"}.fa-mail-reply:before,.fa-reply:before{content:"\f112"}.fa-github-alt:before{content:"\f113"}.fa-folder-o:before{content:"\f114"}.fa-folder-open-o:before{content:"\f115"}.fa-smile-o:before{content:"\f118"}.fa-frown-o:before{content:"\f119"}.fa-meh-o:before{content:"\f11a"}.fa-gamepad:before{content:"\f11b"}.fa-keyboard-o:before{content:"\f11c"}.fa-flag-o:before{content:"\f11d"}.fa-flag-checkered:before{content:"\f11e"}.fa-terminal:before{content:"\f120"}.fa-code:before{content:"\f121"}.fa-mail-reply-all:before,.fa-reply-all:before{content:"\f122"}.fa-star-half-empty:before,.fa-star-half-full:before,.fa-star-half-o:before{content:"\f123"}.fa-location-arrow:before{content:"\f124"}.fa-crop:before{content:"\f125"}.fa-code-fork:before{content:"\f126"}.fa-unlink:before,.fa-chain-broken:before{content:"\f127"}.fa-question:before{content:"\f128"}.fa-info:before{content:"\f129"}.fa-exclamation:before{content:"\f12a"}.fa-superscript:before{content:"\f12b"}.fa-subscript:before{content:"\f12c"}.fa-eraser:before{content:"\f12d"}.fa-puzzle-piece:before{content:"\f12e"}.fa-microphone:before{content:"\f130"}.fa-microphone-slash:before{content:"\f131"}.fa-shield:before{content:"\f132"}.fa-calendar-o:before{content:"\f133"}.fa-fire-extinguisher:before{content:"\f134"}.fa-rocket:before{content:"\f135"}.fa-maxcdn:before{content:"\f136"}.fa-chevron-circle-left:before{content:"\f137"}.fa-chevron-circle-right:before{content:"\f138"}.fa-chevron-circle-up:before{content:"\f139"}.fa-chevron-circle-down:before{content:"\f13a"}.fa-html5:before{content:"\f13b"}.fa-css3:before{content:"\f13c"}.fa-anchor:before{content:"\f13d"}.fa-unlock-alt:before{content:"\f13e"}.fa-bullseye:before{content:"\f140"}.fa-ellipsis-h:before{content:"\f141"}.fa-ellipsis-v:before{content:"\f142"}.fa-rss-square:before{content:"\f143"}.fa-play-circle:before{content:"\f144"}.fa-ticket:before{content:"\f145"}.fa-minus-square:before{content:"\f146"}.fa-minus-square-o:before{content:"\f147"}.fa-level-up:before{content:"\f148"}.fa-level-down:before{content:"\f149"}.fa-check-square:before{content:"\f14a"}.fa-pencil-square:before{content:"\f14b"}.fa-external-link-square:before{content:"\f14c"}.fa-share-square:before{content:"\f14d"}.fa-compass:before{content:"\f14e"}.fa-toggle-down:before,.fa-caret-square-o-down:before{content:"\f150"}.fa-toggle-up:before,.fa-caret-square-o-up:before{content:"\f151"}.fa-toggle-right:before,.fa-caret-square-o-right:before{content:"\f152"}.fa-euro:before,.fa-eur:before{content:"\f153"}.fa-gbp:before{content:"\f154"}.fa-dollar:before,.fa-usd:before{content:"\f155"}.fa-rupee:before,.fa-inr:before{content:"\f156"}.fa-cny:before,.fa-rmb:before,.fa-yen:before,.fa-jpy:before{content:"\f157"}.fa-ruble:before,.fa-rouble:before,.fa-rub:before{content:"\f158"}.fa-won:before,.fa-krw:before{content:"\f159"}.fa-bitcoin:before,.fa-btc:before{content:"\f15a"}.fa-file:before{content:"\f15b"}.fa-file-text:before{content:"\f15c"}.fa-sort-alpha-asc:before{content:"\f15d"}.fa-sort-alpha-desc:before{content:"\f15e"}.fa-sort-amount-asc:before{content:"\f160"}.fa-sort-amount-desc:before{content:"\f161"}.fa-sort-numeric-asc:before{content:"\f162"}.fa-sort-numeric-desc:before{content:"\f163"}.fa-thumbs-up:before{content:"\f164"}.fa-thumbs-down:before{content:"\f165"}.fa-youtube-square:before{content:"\f166"}.fa-youtube:before{content:"\f167"}.fa-xing:before{content:"\f168"}.fa-xing-square:before{content:"\f169"}.fa-youtube-play:before{content:"\f16a"}.fa-dropbox:before{content:"\f16b"}.fa-stack-overflow:before{content:"\f16c"}.fa-instagram:before{content:"\f16d"}.fa-flickr:before{content:"\f16e"}.fa-adn:before{content:"\f170"}.fa-bitbucket:before{content:"\f171"}.fa-bitbucket-square:before{content:"\f172"}.fa-tumblr:before{content:"\f173"}.fa-tumblr-square:before{content:"\f174"}.fa-long-arrow-down:before{content:"\f175"}.fa-long-arrow-up:before{content:"\f176"}.fa-long-arrow-left:before{content:"\f177"}.fa-long-arrow-right:before{content:"\f178"}.fa-apple:before{content:"\f179"}.fa-windows:before{content:"\f17a"}.fa-android:before{content:"\f17b"}.fa-linux:before{content:"\f17c"}.fa-dribbble:before{content:"\f17d"}.fa-skype:before{content:"\f17e"}.fa-foursquare:before{content:"\f180"}.fa-trello:before{content:"\f181"}.fa-female:before{content:"\f182"}.fa-male:before{content:"\f183"}.fa-gittip:before,.fa-gratipay:before{content:"\f184"}.fa-sun-o:before{content:"\f185"}.fa-moon-o:before{content:"\f186"}.fa-archive:before{content:"\f187"}.fa-bug:before{content:"\f188"}.fa-vk:before{content:"\f189"}.fa-weibo:before{content:"\f18a"}.fa-renren:before{content:"\f18b"}.fa-pagelines:before{content:"\f18c"}.fa-stack-exchange:before{content:"\f18d"}.fa-arrow-circle-o-right:before{content:"\f18e"}.fa-arrow-circle-o-left:before{content:"\f190"}.fa-toggle-left:before,.fa-caret-square-o-left:before{content:"\f191"}.fa-dot-circle-o:before{content:"\f192"}.fa-wheelchair:before{content:"\f193"}.fa-vimeo-square:before{content:"\f194"}.fa-turkish-lira:before,.fa-try:before{content:"\f195"}.fa-plus-square-o:before{content:"\f196"}.fa-space-shuttle:before{content:"\f197"}.fa-slack:before{content:"\f198"}.fa-envelope-square:before{content:"\f199"}.fa-wordpress:before{content:"\f19a"}.fa-openid:before{content:"\f19b"}.fa-institution:before,.fa-bank:before,.fa-university:before{content:"\f19c"}.fa-mortar-board:before,.fa-graduation-cap:before{content:"\f19d"}.fa-yahoo:before{content:"\f19e"}.fa-google:before{content:"\f1a0"}.fa-reddit:before{content:"\f1a1"}.fa-reddit-square:before{content:"\f1a2"}.fa-stumbleupon-circle:before{content:"\f1a3"}.fa-stumbleupon:before{content:"\f1a4"}.fa-delicious:before{content:"\f1a5"}.fa-digg:before{content:"\f1a6"}.fa-pied-piper-pp:before{content:"\f1a7"}.fa-pied-piper-alt:before{content:"\f1a8"}.fa-drupal:before{content:"\f1a9"}.fa-joomla:before{content:"\f1aa"}.fa-language:before{content:"\f1ab"}.fa-fax:before{content:"\f1ac"}.fa-building:before{content:"\f1ad"}.fa-child:before{content:"\f1ae"}.fa-paw:before{content:"\f1b0"}.fa-spoon:before{content:"\f1b1"}.fa-cube:before{content:"\f1b2"}.fa-cubes:before{content:"\f1b3"}.fa-behance:before{content:"\f1b4"}.fa-behance-square:before{content:"\f1b5"}.fa-steam:before{content:"\f1b6"}.fa-steam-square:before{content:"\f1b7"}.fa-recycle:before{content:"\f1b8"}.fa-automobile:before,.fa-car:before{content:"\f1b9"}.fa-cab:before,.fa-taxi:before{content:"\f1ba"}.fa-tree:before{content:"\f1bb"}.fa-spotify:before{content:"\f1bc"}.fa-deviantart:before{content:"\f1bd"}.fa-soundcloud:before{content:"\f1be"}.fa-database:before{content:"\f1c0"}.fa-file-pdf-o:before{content:"\f1c1"}.fa-file-word-o:before{content:"\f1c2"}.fa-file-excel-o:before{content:"\f1c3"}.fa-file-powerpoint-o:before{content:"\f1c4"}.fa-file-photo-o:before,.fa-file-picture-o:before,.fa-file-image-o:before{content:"\f1c5"}.fa-file-zip-o:before,.fa-file-archive-o:before{content:"\f1c6"}.fa-file-sound-o:before,.fa-file-audio-o:before{content:"\f1c7"}.fa-file-movie-o:before,.fa-file-video-o:before{content:"\f1c8"}.fa-file-code-o:before{content:"\f1c9"}.fa-vine:before{content:"\f1ca"}.fa-codepen:before{content:"\f1cb"}.fa-jsfiddle:before{content:"\f1cc"}.fa-life-bouy:before,.fa-life-buoy:before,.fa-life-saver:before,.fa-support:before,.fa-life-ring:before{content:"\f1cd"}.fa-circle-o-notch:before{content:"\f1ce"}.fa-ra:before,.fa-resistance:before,.fa-rebel:before{content:"\f1d0"}.fa-ge:before,.fa-empire:before{content:"\f1d1"}.fa-git-square:before{content:"\f1d2"}.fa-git:before{content:"\f1d3"}.fa-y-combinator-square:before,.fa-yc-square:before,.fa-hacker-news:before{content:"\f1d4"}.fa-tencent-weibo:before{content:"\f1d5"}.fa-qq:before{content:"\f1d6"}.fa-wechat:before,.fa-weixin:before{content:"\f1d7"}.fa-send:before,.fa-paper-plane:before{content:"\f1d8"}.fa-send-o:before,.fa-paper-plane-o:before{content:"\f1d9"}.fa-history:before{content:"\f1da"}.fa-circle-thin:before{content:"\f1db"}.fa-header:before{content:"\f1dc"}.fa-paragraph:before{content:"\f1dd"}.fa-sliders:before{content:"\f1de"}.fa-share-alt:before{content:"\f1e0"}.fa-share-alt-square:before{content:"\f1e1"}.fa-bomb:before{content:"\f1e2"}.fa-soccer-ball-o:before,.fa-futbol-o:before{content:"\f1e3"}.fa-tty:before{content:"\f1e4"}.fa-binoculars:before{content:"\f1e5"}.fa-plug:before{content:"\f1e6"}.fa-slideshare:before{content:"\f1e7"}.fa-twitch:before{content:"\f1e8"}.fa-yelp:before{content:"\f1e9"}.fa-newspaper-o:before{content:"\f1ea"}.fa-wifi:before{content:"\f1eb"}.fa-calculator:before{content:"\f1ec"}.fa-paypal:before{content:"\f1ed"}.fa-google-wallet:before{content:"\f1ee"}.fa-cc-visa:before{content:"\f1f0"}.fa-cc-mastercard:before{content:"\f1f1"}.fa-cc-discover:before{content:"\f1f2"}.fa-cc-amex:before{content:"\f1f3"}.fa-cc-paypal:before{content:"\f1f4"}.fa-cc-stripe:before{content:"\f1f5"}.fa-bell-slash:before{content:"\f1f6"}.fa-bell-slash-o:before{content:"\f1f7"}.fa-trash:before{content:"\f1f8"}.fa-copyright:before{content:"\f1f9"}.fa-at:before{content:"\f1fa"}.fa-eyedropper:before{content:"\f1fb"}.fa-paint-brush:before{content:"\f1fc"}.fa-birthday-cake:before{content:"\f1fd"}.fa-area-chart:before{content:"\f1fe"}.fa-pie-chart:before{content:"\f200"}.fa-line-chart:before{content:"\f201"}.fa-lastfm:before{content:"\f202"}.fa-lastfm-square:before{content:"\f203"}.fa-toggle-off:before{content:"\f204"}.fa-toggle-on:before{content:"\f205"}.fa-bicycle:before{content:"\f206"}.fa-bus:before{content:"\f207"}.fa-ioxhost:before{content:"\f208"}.fa-angellist:before{content:"\f209"}.fa-cc:before{content:"\f20a"}.fa-shekel:before,.fa-sheqel:before,.fa-ils:before{content:"\f20b"}.fa-meanpath:before{content:"\f20c"}.fa-buysellads:before{content:"\f20d"}.fa-connectdevelop:before{content:"\f20e"}.fa-dashcube:before{content:"\f210"}.fa-forumbee:before{content:"\f211"}.fa-leanpub:before{content:"\f212"}.fa-sellsy:before{content:"\f213"}.fa-shirtsinbulk:before{content:"\f214"}.fa-simplybuilt:before{content:"\f215"}.fa-skyatlas:before{content:"\f216"}.fa-cart-plus:before{content:"\f217"}.fa-cart-arrow-down:before{content:"\f218"}.fa-diamond:before{content:"\f219"}.fa-ship:before{content:"\f21a"}.fa-user-secret:before{content:"\f21b"}.fa-motorcycle:before{content:"\f21c"}.fa-street-view:before{content:"\f21d"}.fa-heartbeat:before{content:"\f21e"}.fa-venus:before{content:"\f221"}.fa-mars:before{content:"\f222"}.fa-mercury:before{content:"\f223"}.fa-intersex:before,.fa-transgender:before{content:"\f224"}.fa-transgender-alt:before{content:"\f225"}.fa-venus-double:before{content:"\f226"}.fa-mars-double:before{content:"\f227"}.fa-venus-mars:before{content:"\f228"}.fa-mars-stroke:before{content:"\f229"}.fa-mars-stroke-v:before{content:"\f22a"}.fa-mars-stroke-h:before{content:"\f22b"}.fa-neuter:before{content:"\f22c"}.fa-genderless:before{content:"\f22d"}.fa-facebook-official:before{content:"\f230"}.fa-pinterest-p:before{content:"\f231"}.fa-whatsapp:before{content:"\f232"}.fa-server:before{content:"\f233"}.fa-user-plus:before{content:"\f234"}.fa-user-times:before{content:"\f235"}.fa-hotel:before,.fa-bed:before{content:"\f236"}.fa-viacoin:before{content:"\f237"}.fa-train:before{content:"\f238"}.fa-subway:before{content:"\f239"}.fa-medium:before{content:"\f23a"}.fa-yc:before,.fa-y-combinator:before{content:"\f23b"}.fa-optin-monster:before{content:"\f23c"}.fa-opencart:before{content:"\f23d"}.fa-expeditedssl:before{content:"\f23e"}.fa-battery-4:before,.fa-battery:before,.fa-battery-full:before{content:"\f240"}.fa-battery-3:before,.fa-battery-three-quarters:before{content:"\f241"}.fa-battery-2:before,.fa-battery-half:before{content:"\f242"}.fa-battery-1:before,.fa-battery-quarter:before{content:"\f243"}.fa-battery-0:before,.fa-battery-empty:before{content:"\f244"}.fa-mouse-pointer:before{content:"\f245"}.fa-i-cursor:before{content:"\f246"}.fa-object-group:before{content:"\f247"}.fa-object-ungroup:before{content:"\f248"}.fa-sticky-note:before{content:"\f249"}.fa-sticky-note-o:before{content:"\f24a"}.fa-cc-jcb:before{content:"\f24b"}.fa-cc-diners-club:before{content:"\f24c"}.fa-clone:before{content:"\f24d"}.fa-balance-scale:before{content:"\f24e"}.fa-hourglass-o:before{content:"\f250"}.fa-hourglass-1:before,.fa-hourglass-start:before{content:"\f251"}.fa-hourglass-2:before,.fa-hourglass-half:before{content:"\f252"}.fa-hourglass-3:before,.fa-hourglass-end:before{content:"\f253"}.fa-hourglass:before{content:"\f254"}.fa-hand-grab-o:before,.fa-hand-rock-o:before{content:"\f255"}.fa-hand-stop-o:before,.fa-hand-paper-o:before{content:"\f256"}.fa-hand-scissors-o:before{content:"\f257"}.fa-hand-lizard-o:before{content:"\f258"}.fa-hand-spock-o:before{content:"\f259"}.fa-hand-pointer-o:before{content:"\f25a"}.fa-hand-peace-o:before{content:"\f25b"}.fa-trademark:before{content:"\f25c"}.fa-registered:before{content:"\f25d"}.fa-creative-commons:before{content:"\f25e"}.fa-gg:before{content:"\f260"}.fa-gg-circle:before{content:"\f261"}.fa-tripadvisor:before{content:"\f262"}.fa-odnoklassniki:before{content:"\f263"}.fa-odnoklassniki-square:before{content:"\f264"}.fa-get-pocket:before{content:"\f265"}.fa-wikipedia-w:before{content:"\f266"}.fa-safari:before{content:"\f267"}.fa-chrome:before{content:"\f268"}.fa-firefox:before{content:"\f269"}.fa-opera:before{content:"\f26a"}.fa-internet-explorer:before{content:"\f26b"}.fa-tv:before,.fa-television:before{content:"\f26c"}.fa-contao:before{content:"\f26d"}.fa-500px:before{content:"\f26e"}.fa-amazon:before{content:"\f270"}.fa-calendar-plus-o:before{content:"\f271"}.fa-calendar-minus-o:before{content:"\f272"}.fa-calendar-times-o:before{content:"\f273"}.fa-calendar-check-o:before{content:"\f274"}.fa-industry:before{content:"\f275"}.fa-map-pin:before{content:"\f276"}.fa-map-signs:before{content:"\f277"}.fa-map-o:before{content:"\f278"}.fa-map:before{content:"\f279"}.fa-commenting:before{content:"\f27a"}.fa-commenting-o:before{content:"\f27b"}.fa-houzz:before{content:"\f27c"}.fa-vimeo:before{content:"\f27d"}.fa-black-tie:before{content:"\f27e"}.fa-fonticons:before{content:"\f280"}.fa-reddit-alien:before{content:"\f281"}.fa-edge:before{content:"\f282"}.fa-credit-card-alt:before{content:"\f283"}.fa-codiepie:before{content:"\f284"}.fa-modx:before{content:"\f285"}.fa-fort-awesome:before{content:"\f286"}.fa-usb:before{content:"\f287"}.fa-product-hunt:before{content:"\f288"}.fa-mixcloud:before{content:"\f289"}.fa-scribd:before{content:"\f28a"}.fa-pause-circle:before{content:"\f28b"}.fa-pause-circle-o:before{content:"\f28c"}.fa-stop-circle:before{content:"\f28d"}.fa-stop-circle-o:before{content:"\f28e"}.fa-shopping-bag:before{content:"\f290"}.fa-shopping-basket:before{content:"\f291"}.fa-hashtag:before{content:"\f292"}.fa-bluetooth:before{content:"\f293"}.fa-bluetooth-b:before{content:"\f294"}.fa-percent:before{content:"\f295"}.fa-gitlab:before{content:"\f296"}.fa-wpbeginner:before{content:"\f297"}.fa-wpforms:before{content:"\f298"}.fa-envira:before{content:"\f299"}.fa-universal-access:before{content:"\f29a"}.fa-wheelchair-alt:before{content:"\f29b"}.fa-question-circle-o:before{content:"\f29c"}.fa-blind:before{content:"\f29d"}.fa-audio-description:before{content:"\f29e"}.fa-volume-control-phone:before{content:"\f2a0"}.fa-braille:before{content:"\f2a1"}.fa-assistive-listening-systems:before{content:"\f2a2"}.fa-asl-interpreting:before,.fa-american-sign-language-interpreting:before{content:"\f2a3"}.fa-deafness:before,.fa-hard-of-hearing:before,.fa-deaf:before{content:"\f2a4"}.fa-glide:before{content:"\f2a5"}.fa-glide-g:before{content:"\f2a6"}.fa-signing:before,.fa-sign-language:before{content:"\f2a7"}.fa-low-vision:before{content:"\f2a8"}.fa-viadeo:before{content:"\f2a9"}.fa-viadeo-square:before{content:"\f2aa"}.fa-snapchat:before{content:"\f2ab"}.fa-snapchat-ghost:before{content:"\f2ac"}.fa-snapchat-square:before{content:"\f2ad"}.fa-pied-piper:before{content:"\f2ae"}.fa-first-order:before{content:"\f2b0"}.fa-yoast:before{content:"\f2b1"}.fa-themeisle:before{content:"\f2b2"}.fa-google-plus-circle:before,.fa-google-plus-official:before{content:"\f2b3"}.fa-fa:before,.fa-font-awesome:before{content:"\f2b4"}.fa-handshake-o:before{content:"\f2b5"}.fa-envelope-open:before{content:"\f2b6"}.fa-envelope-open-o:before{content:"\f2b7"}.fa-linode:before{content:"\f2b8"}.fa-address-book:before{content:"\f2b9"}.fa-address-book-o:before{content:"\f2ba"}.fa-vcard:before,.fa-address-card:before{content:"\f2bb"}.fa-vcard-o:before,.fa-address-card-o:before{content:"\f2bc"}.fa-user-circle:before{content:"\f2bd"}.fa-user-circle-o:before{content:"\f2be"}.fa-user-o:before{content:"\f2c0"}.fa-id-badge:before{content:"\f2c1"}.fa-drivers-license:before,.fa-id-card:before{content:"\f2c2"}.fa-drivers-license-o:before,.fa-id-card-o:before{content:"\f2c3"}.fa-quora:before{content:"\f2c4"}.fa-free-code-camp:before{content:"\f2c5"}.fa-telegram:before{content:"\f2c6"}.fa-thermometer-4:before,.fa-thermometer:before,.fa-thermometer-full:before{content:"\f2c7"}.fa-thermometer-3:before,.fa-thermometer-three-quarters:before{content:"\f2c8"}.fa-thermometer-2:before,.fa-thermometer-half:before{content:"\f2c9"}.fa-thermometer-1:before,.fa-thermometer-quarter:before{content:"\f2ca"}.fa-thermometer-0:before,.fa-thermometer-empty:before{content:"\f2cb"}.fa-shower:before{content:"\f2cc"}.fa-bathtub:before,.fa-s15:before,.fa-bath:before{content:"\f2cd"}.fa-podcast:before{content:"\f2ce"}.fa-window-maximize:before{content:"\f2d0"}.fa-window-minimize:before{content:"\f2d1"}.fa-window-restore:before{content:"\f2d2"}.fa-times-rectangle:before,.fa-window-close:before{content:"\f2d3"}.fa-times-rectangle-o:before,.fa-window-close-o:before{content:"\f2d4"}.fa-bandcamp:before{content:"\f2d5"}.fa-grav:before{content:"\f2d6"}.fa-etsy:before{content:"\f2d7"}.fa-imdb:before{content:"\f2d8"}.fa-ravelry:before{content:"\f2d9"}.fa-eercast:before{content:"\f2da"}.fa-microchip:before{content:"\f2db"}.fa-snowflake-o:before{content:"\f2dc"}.fa-superpowers:before{content:"\f2dd"}.fa-wpexplorer:before{content:"\f2de"}.fa-meetup:before{content:"\f2e0"}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto} diff --git a/lab-structure/src/themes/green-icon/images/_dotted-devider.png b/lab-structure/src/themes/green-icon/images/_dotted-devider.png deleted file mode 100644 index 3a78f8d9..00000000 Binary files a/lab-structure/src/themes/green-icon/images/_dotted-devider.png and /dev/null differ diff --git a/lab-structure/src/themes/green-icon/images/_footer.png b/lab-structure/src/themes/green-icon/images/_footer.png deleted file mode 100644 index c514a5bf..00000000 Binary files a/lab-structure/src/themes/green-icon/images/_footer.png and /dev/null differ diff --git a/lab-structure/src/themes/green-icon/images/about-us/img1.png b/lab-structure/src/themes/green-icon/images/about-us/img1.png deleted file mode 100644 index 0c1d2391..00000000 Binary files a/lab-structure/src/themes/green-icon/images/about-us/img1.png and /dev/null differ diff --git a/lab-structure/src/themes/green-icon/images/about-us/img2.png b/lab-structure/src/themes/green-icon/images/about-us/img2.png deleted file mode 100644 index d07b5a0e..00000000 Binary files a/lab-structure/src/themes/green-icon/images/about-us/img2.png and /dev/null differ diff --git a/lab-structure/src/themes/green-icon/images/about-us/img3.png b/lab-structure/src/themes/green-icon/images/about-us/img3.png deleted file mode 100644 index 0e4ada1b..00000000 Binary files a/lab-structure/src/themes/green-icon/images/about-us/img3.png and /dev/null differ diff --git a/lab-structure/src/themes/green-icon/images/about-us/img4.png b/lab-structure/src/themes/green-icon/images/about-us/img4.png deleted file mode 100644 index f11cebef..00000000 Binary files a/lab-structure/src/themes/green-icon/images/about-us/img4.png and /dev/null differ diff --git a/lab-structure/src/themes/green-icon/images/banner_img.jpg b/lab-structure/src/themes/green-icon/images/banner_img.jpg deleted file mode 100644 index 6f66d205..00000000 Binary files a/lab-structure/src/themes/green-icon/images/banner_img.jpg and /dev/null differ diff --git a/lab-structure/src/themes/green-icon/images/bottom-line-n.png b/lab-structure/src/themes/green-icon/images/bottom-line-n.png deleted file mode 100644 index 2d731e2e..00000000 Binary files a/lab-structure/src/themes/green-icon/images/bottom-line-n.png and /dev/null differ diff --git a/lab-structure/src/themes/green-icon/images/bottom-line.png b/lab-structure/src/themes/green-icon/images/bottom-line.png deleted file mode 100644 index 4bf20f97..00000000 Binary files a/lab-structure/src/themes/green-icon/images/bottom-line.png and /dev/null differ diff --git a/lab-structure/src/themes/green-icon/images/chat.png b/lab-structure/src/themes/green-icon/images/chat.png deleted file mode 100644 index 67ed90e8..00000000 Binary files a/lab-structure/src/themes/green-icon/images/chat.png and /dev/null differ diff --git a/lab-structure/src/themes/green-icon/images/content_1.png b/lab-structure/src/themes/green-icon/images/content_1.png deleted file mode 100644 index 704ace52..00000000 Binary files a/lab-structure/src/themes/green-icon/images/content_1.png and /dev/null differ diff --git a/lab-structure/src/themes/green-icon/images/content_2.png b/lab-structure/src/themes/green-icon/images/content_2.png deleted file mode 100644 index f4850447..00000000 Binary files a/lab-structure/src/themes/green-icon/images/content_2.png and /dev/null differ diff --git a/lab-structure/src/themes/green-icon/images/content_3.png b/lab-structure/src/themes/green-icon/images/content_3.png deleted file mode 100644 index d92cbbf9..00000000 Binary files a/lab-structure/src/themes/green-icon/images/content_3.png and /dev/null differ diff --git a/lab-structure/src/themes/green-icon/images/content_4.png b/lab-structure/src/themes/green-icon/images/content_4.png deleted file mode 100644 index b8ebd011..00000000 Binary files a/lab-structure/src/themes/green-icon/images/content_4.png and /dev/null differ diff --git a/lab-structure/src/themes/green-icon/images/content_5.png b/lab-structure/src/themes/green-icon/images/content_5.png deleted file mode 100644 index f6d87275..00000000 Binary files a/lab-structure/src/themes/green-icon/images/content_5.png and /dev/null differ diff --git a/lab-structure/src/themes/green-icon/images/content_6.png b/lab-structure/src/themes/green-icon/images/content_6.png deleted file mode 100644 index 76a08dda..00000000 Binary files a/lab-structure/src/themes/green-icon/images/content_6.png and /dev/null differ diff --git a/lab-structure/src/themes/green-icon/images/content_7.png b/lab-structure/src/themes/green-icon/images/content_7.png deleted file mode 100644 index 878e486a..00000000 Binary files a/lab-structure/src/themes/green-icon/images/content_7.png and /dev/null differ diff --git a/lab-structure/src/themes/green-icon/images/content_9.png b/lab-structure/src/themes/green-icon/images/content_9.png deleted file mode 100644 index 3a25adc4..00000000 Binary files a/lab-structure/src/themes/green-icon/images/content_9.png and /dev/null differ diff --git a/lab-structure/src/themes/green-icon/images/content_94.png b/lab-structure/src/themes/green-icon/images/content_94.png deleted file mode 100644 index 9ecf7584..00000000 Binary files a/lab-structure/src/themes/green-icon/images/content_94.png and /dev/null differ diff --git a/lab-structure/src/themes/green-icon/images/content_95.png b/lab-structure/src/themes/green-icon/images/content_95.png deleted file mode 100644 index 25011b16..00000000 Binary files a/lab-structure/src/themes/green-icon/images/content_95.png and /dev/null differ diff --git a/lab-structure/src/themes/green-icon/images/content_991.png b/lab-structure/src/themes/green-icon/images/content_991.png deleted file mode 100644 index dc9c55b0..00000000 Binary files a/lab-structure/src/themes/green-icon/images/content_991.png and /dev/null differ diff --git a/lab-structure/src/themes/green-icon/images/content_995.png b/lab-structure/src/themes/green-icon/images/content_995.png deleted file mode 100644 index e5ed647b..00000000 Binary files a/lab-structure/src/themes/green-icon/images/content_995.png and /dev/null differ diff --git a/lab-structure/src/themes/green-icon/images/deivder-green-v.png b/lab-structure/src/themes/green-icon/images/deivder-green-v.png deleted file mode 100644 index be670fa2..00000000 Binary files a/lab-structure/src/themes/green-icon/images/deivder-green-v.png and /dev/null differ diff --git a/lab-structure/src/themes/green-icon/images/devider-blue-v-o.png b/lab-structure/src/themes/green-icon/images/devider-blue-v-o.png deleted file mode 100644 index 7adc012e..00000000 Binary files a/lab-structure/src/themes/green-icon/images/devider-blue-v-o.png and /dev/null differ diff --git a/lab-structure/src/themes/green-icon/images/devider-green-v-o.png b/lab-structure/src/themes/green-icon/images/devider-green-v-o.png deleted file mode 100644 index 7119e335..00000000 Binary files a/lab-structure/src/themes/green-icon/images/devider-green-v-o.png and /dev/null differ diff --git a/lab-structure/src/themes/green-icon/images/dotted-devider-h-o.png b/lab-structure/src/themes/green-icon/images/dotted-devider-h-o.png deleted file mode 100644 index 7bb9651e..00000000 Binary files a/lab-structure/src/themes/green-icon/images/dotted-devider-h-o.png and /dev/null differ diff --git a/lab-structure/src/themes/green-icon/images/dotted-devider-h.png b/lab-structure/src/themes/green-icon/images/dotted-devider-h.png deleted file mode 100644 index 7cc9b9ec..00000000 Binary files a/lab-structure/src/themes/green-icon/images/dotted-devider-h.png and /dev/null differ diff --git a/lab-structure/src/themes/green-icon/images/dotted-devider-v-o.png b/lab-structure/src/themes/green-icon/images/dotted-devider-v-o.png deleted file mode 100644 index 12335231..00000000 Binary files a/lab-structure/src/themes/green-icon/images/dotted-devider-v-o.png and /dev/null differ diff --git a/lab-structure/src/themes/green-icon/images/engineering/icon_1.png b/lab-structure/src/themes/green-icon/images/engineering/icon_1.png deleted file mode 100644 index bcf62b09..00000000 Binary files a/lab-structure/src/themes/green-icon/images/engineering/icon_1.png and /dev/null differ diff --git a/lab-structure/src/themes/green-icon/images/engineering/icon_2.png b/lab-structure/src/themes/green-icon/images/engineering/icon_2.png deleted file mode 100644 index a6333a8a..00000000 Binary files a/lab-structure/src/themes/green-icon/images/engineering/icon_2.png and /dev/null differ diff --git a/lab-structure/src/themes/green-icon/images/engineering/icon_3.png b/lab-structure/src/themes/green-icon/images/engineering/icon_3.png deleted file mode 100644 index f7e158d2..00000000 Binary files a/lab-structure/src/themes/green-icon/images/engineering/icon_3.png and /dev/null differ diff --git a/lab-structure/src/themes/green-icon/images/engineering/icon_4.png b/lab-structure/src/themes/green-icon/images/engineering/icon_4.png deleted file mode 100644 index 5dbd5f91..00000000 Binary files a/lab-structure/src/themes/green-icon/images/engineering/icon_4.png and /dev/null differ diff --git a/lab-structure/src/themes/green-icon/images/engineering/icon_5.png b/lab-structure/src/themes/green-icon/images/engineering/icon_5.png deleted file mode 100644 index 92a54ccd..00000000 Binary files a/lab-structure/src/themes/green-icon/images/engineering/icon_5.png and /dev/null differ diff --git a/lab-structure/src/themes/green-icon/images/engineering/icon_6.png b/lab-structure/src/themes/green-icon/images/engineering/icon_6.png deleted file mode 100644 index 75743731..00000000 Binary files a/lab-structure/src/themes/green-icon/images/engineering/icon_6.png and /dev/null differ diff --git a/lab-structure/src/themes/green-icon/images/engineering/icon_7.png b/lab-structure/src/themes/green-icon/images/engineering/icon_7.png deleted file mode 100644 index 750226b8..00000000 Binary files a/lab-structure/src/themes/green-icon/images/engineering/icon_7.png and /dev/null differ diff --git a/lab-structure/src/themes/green-icon/images/engineering/icon_8.png b/lab-structure/src/themes/green-icon/images/engineering/icon_8.png deleted file mode 100644 index 66cdc496..00000000 Binary files a/lab-structure/src/themes/green-icon/images/engineering/icon_8.png and /dev/null differ diff --git a/lab-structure/src/themes/green-icon/images/engineering/icon_9.png b/lab-structure/src/themes/green-icon/images/engineering/icon_9.png deleted file mode 100644 index 97ba9135..00000000 Binary files a/lab-structure/src/themes/green-icon/images/engineering/icon_9.png and /dev/null differ diff --git a/lab-structure/src/themes/green-icon/images/engineering/old/biotechnology-eng.png b/lab-structure/src/themes/green-icon/images/engineering/old/biotechnology-eng.png deleted file mode 100644 index 1756ede9..00000000 Binary files a/lab-structure/src/themes/green-icon/images/engineering/old/biotechnology-eng.png and /dev/null differ diff --git a/lab-structure/src/themes/green-icon/images/engineering/old/chamical-eng.png b/lab-structure/src/themes/green-icon/images/engineering/old/chamical-eng.png deleted file mode 100644 index 6c7f2186..00000000 Binary files a/lab-structure/src/themes/green-icon/images/engineering/old/chamical-eng.png and /dev/null differ diff --git a/lab-structure/src/themes/green-icon/images/engineering/old/chemical-sci.png b/lab-structure/src/themes/green-icon/images/engineering/old/chemical-sci.png deleted file mode 100644 index b88ea59e..00000000 Binary files a/lab-structure/src/themes/green-icon/images/engineering/old/chemical-sci.png and /dev/null differ diff --git a/lab-structure/src/themes/green-icon/images/engineering/old/civil-eng.png b/lab-structure/src/themes/green-icon/images/engineering/old/civil-eng.png deleted file mode 100644 index 87af8e20..00000000 Binary files a/lab-structure/src/themes/green-icon/images/engineering/old/civil-eng.png and /dev/null differ diff --git a/lab-structure/src/themes/green-icon/images/engineering/old/electrical-eng.png b/lab-structure/src/themes/green-icon/images/engineering/old/electrical-eng.png deleted file mode 100644 index e365f5e3..00000000 Binary files a/lab-structure/src/themes/green-icon/images/engineering/old/electrical-eng.png and /dev/null differ diff --git a/lab-structure/src/themes/green-icon/images/engineering/old/electronics-eng.png b/lab-structure/src/themes/green-icon/images/engineering/old/electronics-eng.png deleted file mode 100644 index 2159f2c7..00000000 Binary files a/lab-structure/src/themes/green-icon/images/engineering/old/electronics-eng.png and /dev/null differ diff --git a/lab-structure/src/themes/green-icon/images/flask.png b/lab-structure/src/themes/green-icon/images/flask.png deleted file mode 100644 index 3704e8f4..00000000 Binary files a/lab-structure/src/themes/green-icon/images/flask.png and /dev/null differ diff --git a/lab-structure/src/themes/green-icon/images/footer-o.png b/lab-structure/src/themes/green-icon/images/footer-o.png deleted file mode 100644 index a1edda28..00000000 Binary files a/lab-structure/src/themes/green-icon/images/footer-o.png and /dev/null differ diff --git a/lab-structure/src/themes/green-icon/images/footer.png b/lab-structure/src/themes/green-icon/images/footer.png deleted file mode 100644 index 7f5e1d29..00000000 Binary files a/lab-structure/src/themes/green-icon/images/footer.png and /dev/null differ diff --git a/lab-structure/src/themes/green-icon/images/icon_chat.png b/lab-structure/src/themes/green-icon/images/icon_chat.png deleted file mode 100644 index da7fcc32..00000000 Binary files a/lab-structure/src/themes/green-icon/images/icon_chat.png and /dev/null differ diff --git a/lab-structure/src/themes/green-icon/images/icon_lab.png b/lab-structure/src/themes/green-icon/images/icon_lab.png deleted file mode 100644 index c32ce1ca..00000000 Binary files a/lab-structure/src/themes/green-icon/images/icon_lab.png and /dev/null differ diff --git a/lab-structure/src/themes/green-icon/images/iit/amrita.jpeg b/lab-structure/src/themes/green-icon/images/iit/amrita.jpeg deleted file mode 100644 index 4a2e4744..00000000 Binary files a/lab-structure/src/themes/green-icon/images/iit/amrita.jpeg and /dev/null differ diff --git a/lab-structure/src/themes/green-icon/images/iit/amrita.png b/lab-structure/src/themes/green-icon/images/iit/amrita.png deleted file mode 100644 index 4a2e4744..00000000 Binary files a/lab-structure/src/themes/green-icon/images/iit/amrita.png and /dev/null differ diff --git a/lab-structure/src/themes/green-icon/images/iit/dayalbagh.jpeg b/lab-structure/src/themes/green-icon/images/iit/dayalbagh.jpeg deleted file mode 100644 index a8df1831..00000000 Binary files a/lab-structure/src/themes/green-icon/images/iit/dayalbagh.jpeg and /dev/null differ diff --git a/lab-structure/src/themes/green-icon/images/iit/iit-delhi.png b/lab-structure/src/themes/green-icon/images/iit/iit-delhi.png deleted file mode 100644 index 44b43bd7..00000000 Binary files a/lab-structure/src/themes/green-icon/images/iit/iit-delhi.png and /dev/null differ diff --git a/lab-structure/src/themes/green-icon/images/iit/iit-guwahati.png b/lab-structure/src/themes/green-icon/images/iit/iit-guwahati.png deleted file mode 100644 index 2ae22016..00000000 Binary files a/lab-structure/src/themes/green-icon/images/iit/iit-guwahati.png and /dev/null differ diff --git a/lab-structure/src/themes/green-icon/images/iit/iit-kanpur.png b/lab-structure/src/themes/green-icon/images/iit/iit-kanpur.png deleted file mode 100644 index 932565fb..00000000 Binary files a/lab-structure/src/themes/green-icon/images/iit/iit-kanpur.png and /dev/null differ diff --git a/lab-structure/src/themes/green-icon/images/iit/iit-kharagpur.png b/lab-structure/src/themes/green-icon/images/iit/iit-kharagpur.png deleted file mode 100644 index 04446074..00000000 Binary files a/lab-structure/src/themes/green-icon/images/iit/iit-kharagpur.png and /dev/null differ diff --git a/lab-structure/src/themes/green-icon/images/iit/iit-madras.png b/lab-structure/src/themes/green-icon/images/iit/iit-madras.png deleted file mode 100644 index 23c64d72..00000000 Binary files a/lab-structure/src/themes/green-icon/images/iit/iit-madras.png and /dev/null differ diff --git a/lab-structure/src/themes/green-icon/images/iit/iit-mumbai.png b/lab-structure/src/themes/green-icon/images/iit/iit-mumbai.png deleted file mode 100644 index 536f2b92..00000000 Binary files a/lab-structure/src/themes/green-icon/images/iit/iit-mumbai.png and /dev/null differ diff --git a/lab-structure/src/themes/green-icon/images/iit/iit-roorkee.png b/lab-structure/src/themes/green-icon/images/iit/iit-roorkee.png deleted file mode 100644 index d04ccc9b..00000000 Binary files a/lab-structure/src/themes/green-icon/images/iit/iit-roorkee.png and /dev/null differ diff --git a/lab-structure/src/themes/green-icon/images/iit/iithyderabad.jpeg b/lab-structure/src/themes/green-icon/images/iit/iithyderabad.jpeg deleted file mode 100644 index a13031bd..00000000 Binary files a/lab-structure/src/themes/green-icon/images/iit/iithyderabad.jpeg and /dev/null differ diff --git a/lab-structure/src/themes/green-icon/images/iit/nit.jpeg b/lab-structure/src/themes/green-icon/images/iit/nit.jpeg deleted file mode 100644 index 85e2ca40..00000000 Binary files a/lab-structure/src/themes/green-icon/images/iit/nit.jpeg and /dev/null differ diff --git a/lab-structure/src/themes/green-icon/images/iit/pune.jpeg b/lab-structure/src/themes/green-icon/images/iit/pune.jpeg deleted file mode 100644 index 7cf86f00..00000000 Binary files a/lab-structure/src/themes/green-icon/images/iit/pune.jpeg and /dev/null differ diff --git a/lab-structure/src/themes/green-icon/images/iit/rsz_1amrita.jpg b/lab-structure/src/themes/green-icon/images/iit/rsz_1amrita.jpg deleted file mode 100644 index 3684a0f1..00000000 Binary files a/lab-structure/src/themes/green-icon/images/iit/rsz_1amrita.jpg and /dev/null differ diff --git a/lab-structure/src/themes/green-icon/images/introduction.png b/lab-structure/src/themes/green-icon/images/introduction.png deleted file mode 100644 index 878e486a..00000000 Binary files a/lab-structure/src/themes/green-icon/images/introduction.png and /dev/null differ diff --git a/lab-structure/src/themes/green-icon/images/left-arrow.png b/lab-structure/src/themes/green-icon/images/left-arrow.png deleted file mode 100644 index f9db70c8..00000000 Binary files a/lab-structure/src/themes/green-icon/images/left-arrow.png and /dev/null differ diff --git a/lab-structure/src/themes/green-icon/images/logo.png b/lab-structure/src/themes/green-icon/images/logo.png deleted file mode 100644 index bdf6dee7..00000000 Binary files a/lab-structure/src/themes/green-icon/images/logo.png and /dev/null differ diff --git a/lab-structure/src/themes/green-icon/images/right-arrow.png b/lab-structure/src/themes/green-icon/images/right-arrow.png deleted file mode 100644 index 15ad9d15..00000000 Binary files a/lab-structure/src/themes/green-icon/images/right-arrow.png and /dev/null differ diff --git a/lab-structure/src/themes/green-icon/images/search-box.png b/lab-structure/src/themes/green-icon/images/search-box.png deleted file mode 100644 index 48659160..00000000 Binary files a/lab-structure/src/themes/green-icon/images/search-box.png and /dev/null differ diff --git a/lab-structure/src/themes/green-icon/images/search.png b/lab-structure/src/themes/green-icon/images/search.png deleted file mode 100644 index eea69562..00000000 Binary files a/lab-structure/src/themes/green-icon/images/search.png and /dev/null differ diff --git a/lab-structure/src/themes/green-icon/images/slider-72.png b/lab-structure/src/themes/green-icon/images/slider-72.png deleted file mode 100644 index 6c7a8d85..00000000 Binary files a/lab-structure/src/themes/green-icon/images/slider-72.png and /dev/null differ diff --git a/lab-structure/src/themes/green-icon/images/slider.png b/lab-structure/src/themes/green-icon/images/slider.png deleted file mode 100644 index 6c7a8d85..00000000 Binary files a/lab-structure/src/themes/green-icon/images/slider.png and /dev/null differ diff --git a/lab-structure/src/themes/green-icon/images/social/fb.png b/lab-structure/src/themes/green-icon/images/social/fb.png deleted file mode 100644 index c9d98cb3..00000000 Binary files a/lab-structure/src/themes/green-icon/images/social/fb.png and /dev/null differ diff --git a/lab-structure/src/themes/green-icon/images/social/linkedin.png b/lab-structure/src/themes/green-icon/images/social/linkedin.png deleted file mode 100644 index bacc6488..00000000 Binary files a/lab-structure/src/themes/green-icon/images/social/linkedin.png and /dev/null differ diff --git a/lab-structure/src/themes/green-icon/images/social/twitter.png b/lab-structure/src/themes/green-icon/images/social/twitter.png deleted file mode 100644 index 226ac21b..00000000 Binary files a/lab-structure/src/themes/green-icon/images/social/twitter.png and /dev/null differ diff --git a/lab-structure/src/themes/green-icon/images/social/youtube.png b/lab-structure/src/themes/green-icon/images/social/youtube.png deleted file mode 100755 index 5bd29747..00000000 Binary files a/lab-structure/src/themes/green-icon/images/social/youtube.png and /dev/null differ diff --git a/lab-structure/src/themes/green-icon/images/students.png b/lab-structure/src/themes/green-icon/images/students.png deleted file mode 100644 index b12c4f55..00000000 Binary files a/lab-structure/src/themes/green-icon/images/students.png and /dev/null differ diff --git a/lab-structure/src/themes/green-icon/images/uni-logos/COEP.png b/lab-structure/src/themes/green-icon/images/uni-logos/COEP.png deleted file mode 100644 index e9e0b506..00000000 Binary files a/lab-structure/src/themes/green-icon/images/uni-logos/COEP.png and /dev/null differ diff --git a/lab-structure/src/themes/green-icon/images/uni-logos/IIT_Delhi.png b/lab-structure/src/themes/green-icon/images/uni-logos/IIT_Delhi.png deleted file mode 100644 index f27f4839..00000000 Binary files a/lab-structure/src/themes/green-icon/images/uni-logos/IIT_Delhi.png and /dev/null differ diff --git a/lab-structure/src/themes/green-icon/images/uni-logos/IIT_bombay.png b/lab-structure/src/themes/green-icon/images/uni-logos/IIT_bombay.png deleted file mode 100644 index 5d22db94..00000000 Binary files a/lab-structure/src/themes/green-icon/images/uni-logos/IIT_bombay.png and /dev/null differ diff --git a/lab-structure/src/themes/green-icon/images/uni-logos/IIT_guwahati.png b/lab-structure/src/themes/green-icon/images/uni-logos/IIT_guwahati.png deleted file mode 100644 index 9669f921..00000000 Binary files a/lab-structure/src/themes/green-icon/images/uni-logos/IIT_guwahati.png and /dev/null differ diff --git a/lab-structure/src/themes/green-icon/images/uni-logos/IIT_hyderabad.png b/lab-structure/src/themes/green-icon/images/uni-logos/IIT_hyderabad.png deleted file mode 100644 index e3d9b257..00000000 Binary files a/lab-structure/src/themes/green-icon/images/uni-logos/IIT_hyderabad.png and /dev/null differ diff --git a/lab-structure/src/themes/green-icon/images/uni-logos/IIT_kanpur.png b/lab-structure/src/themes/green-icon/images/uni-logos/IIT_kanpur.png deleted file mode 100644 index b644cc74..00000000 Binary files a/lab-structure/src/themes/green-icon/images/uni-logos/IIT_kanpur.png and /dev/null differ diff --git a/lab-structure/src/themes/green-icon/images/uni-logos/IIT_kharagpur.png b/lab-structure/src/themes/green-icon/images/uni-logos/IIT_kharagpur.png deleted file mode 100644 index 1a5175a4..00000000 Binary files a/lab-structure/src/themes/green-icon/images/uni-logos/IIT_kharagpur.png and /dev/null differ diff --git a/lab-structure/src/themes/green-icon/images/uni-logos/IIT_madras.png b/lab-structure/src/themes/green-icon/images/uni-logos/IIT_madras.png deleted file mode 100644 index c783b823..00000000 Binary files a/lab-structure/src/themes/green-icon/images/uni-logos/IIT_madras.png and /dev/null differ diff --git a/lab-structure/src/themes/green-icon/images/uni-logos/IIT_roorkee.png b/lab-structure/src/themes/green-icon/images/uni-logos/IIT_roorkee.png deleted file mode 100644 index 30ab0518..00000000 Binary files a/lab-structure/src/themes/green-icon/images/uni-logos/IIT_roorkee.png and /dev/null differ diff --git a/lab-structure/src/themes/green-icon/images/uni-logos/NIIT_karnataka.png b/lab-structure/src/themes/green-icon/images/uni-logos/NIIT_karnataka.png deleted file mode 100644 index ad63cc74..00000000 Binary files a/lab-structure/src/themes/green-icon/images/uni-logos/NIIT_karnataka.png and /dev/null differ diff --git a/lab-structure/src/themes/green-icon/images/uni-logos/amruta university.png b/lab-structure/src/themes/green-icon/images/uni-logos/amruta university.png deleted file mode 100644 index 29ba2f88..00000000 Binary files a/lab-structure/src/themes/green-icon/images/uni-logos/amruta university.png and /dev/null differ diff --git a/lab-structure/src/themes/green-icon/images/uni-logos/amrutauniversity.png b/lab-structure/src/themes/green-icon/images/uni-logos/amrutauniversity.png deleted file mode 100644 index b83e5b2f..00000000 Binary files a/lab-structure/src/themes/green-icon/images/uni-logos/amrutauniversity.png and /dev/null differ diff --git a/lab-structure/src/themes/green-icon/images/uni-logos/dayalbagh.png b/lab-structure/src/themes/green-icon/images/uni-logos/dayalbagh.png deleted file mode 100644 index 5c86b8f1..00000000 Binary files a/lab-structure/src/themes/green-icon/images/uni-logos/dayalbagh.png and /dev/null differ diff --git a/lab-structure/src/themes/green-icon/images/uni-logos/iiit_Hyd.png b/lab-structure/src/themes/green-icon/images/uni-logos/iiit_Hyd.png deleted file mode 100644 index f47deee2..00000000 Binary files a/lab-structure/src/themes/green-icon/images/uni-logos/iiit_Hyd.png and /dev/null differ diff --git a/lab-structure/src/themes/green-icon/js/bootstrap.js b/lab-structure/src/themes/green-icon/js/bootstrap.js deleted file mode 100755 index 5debfd7d..00000000 --- a/lab-structure/src/themes/green-icon/js/bootstrap.js +++ /dev/null @@ -1,2363 +0,0 @@ -/*! - * Bootstrap v3.3.5 (http://getbootstrap.com) - * Copyright 2011-2015 Twitter, Inc. - * Licensed under the MIT license - */ - -if (typeof jQuery === 'undefined') { - throw new Error('Bootstrap\'s JavaScript requires jQuery') -} - -+function ($) { - 'use strict'; - var version = $.fn.jquery.split(' ')[0].split('.') - if ((version[0] < 2 && version[1] < 9) || (version[0] == 1 && version[1] == 9 && version[2] < 1)) { - throw new Error('Bootstrap\'s JavaScript requires jQuery version 1.9.1 or higher') - } -}(jQuery); - -/* ======================================================================== - * Bootstrap: transition.js v3.3.5 - * http://getbootstrap.com/javascript/#transitions - * ======================================================================== - * Copyright 2011-2015 Twitter, Inc. - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) - * ======================================================================== */ - - -+function ($) { - 'use strict'; - - // CSS TRANSITION SUPPORT (Shoutout: http://www.modernizr.com/) - // ============================================================ - - function transitionEnd() { - var el = document.createElement('bootstrap') - - var transEndEventNames = { - WebkitTransition : 'webkitTransitionEnd', - MozTransition : 'transitionend', - OTransition : 'oTransitionEnd otransitionend', - transition : 'transitionend' - } - - for (var name in transEndEventNames) { - if (el.style[name] !== undefined) { - return { end: transEndEventNames[name] } - } - } - - return false // explicit for ie8 ( ._.) - } - - // http://blog.alexmaccaw.com/css-transitions - $.fn.emulateTransitionEnd = function (duration) { - var called = false - var $el = this - $(this).one('bsTransitionEnd', function () { called = true }) - var callback = function () { if (!called) $($el).trigger($.support.transition.end) } - setTimeout(callback, duration) - return this - } - - $(function () { - $.support.transition = transitionEnd() - - if (!$.support.transition) return - - $.event.special.bsTransitionEnd = { - bindType: $.support.transition.end, - delegateType: $.support.transition.end, - handle: function (e) { - if ($(e.target).is(this)) return e.handleObj.handler.apply(this, arguments) - } - } - }) - -}(jQuery); - -/* ======================================================================== - * Bootstrap: alert.js v3.3.5 - * http://getbootstrap.com/javascript/#alerts - * ======================================================================== - * Copyright 2011-2015 Twitter, Inc. - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) - * ======================================================================== */ - - -+function ($) { - 'use strict'; - - // ALERT CLASS DEFINITION - // ====================== - - var dismiss = '[data-dismiss="alert"]' - var Alert = function (el) { - $(el).on('click', dismiss, this.close) - } - - Alert.VERSION = '3.3.5' - - Alert.TRANSITION_DURATION = 150 - - Alert.prototype.close = function (e) { - var $this = $(this) - var selector = $this.attr('data-target') - - if (!selector) { - selector = $this.attr('href') - selector = selector && selector.replace(/.*(?=#[^\s]*$)/, '') // strip for ie7 - } - - var $parent = $(selector) - - if (e) e.preventDefault() - - if (!$parent.length) { - $parent = $this.closest('.alert') - } - - $parent.trigger(e = $.Event('close.bs.alert')) - - if (e.isDefaultPrevented()) return - - $parent.removeClass('in') - - function removeElement() { - // detach from parent, fire event then clean up data - $parent.detach().trigger('closed.bs.alert').remove() - } - - $.support.transition && $parent.hasClass('fade') ? - $parent - .one('bsTransitionEnd', removeElement) - .emulateTransitionEnd(Alert.TRANSITION_DURATION) : - removeElement() - } - - - // ALERT PLUGIN DEFINITION - // ======================= - - function Plugin(option) { - return this.each(function () { - var $this = $(this) - var data = $this.data('bs.alert') - - if (!data) $this.data('bs.alert', (data = new Alert(this))) - if (typeof option == 'string') data[option].call($this) - }) - } - - var old = $.fn.alert - - $.fn.alert = Plugin - $.fn.alert.Constructor = Alert - - - // ALERT NO CONFLICT - // ================= - - $.fn.alert.noConflict = function () { - $.fn.alert = old - return this - } - - - // ALERT DATA-API - // ============== - - $(document).on('click.bs.alert.data-api', dismiss, Alert.prototype.close) - -}(jQuery); - -/* ======================================================================== - * Bootstrap: button.js v3.3.5 - * http://getbootstrap.com/javascript/#buttons - * ======================================================================== - * Copyright 2011-2015 Twitter, Inc. - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) - * ======================================================================== */ - - -+function ($) { - 'use strict'; - - // BUTTON PUBLIC CLASS DEFINITION - // ============================== - - var Button = function (element, options) { - this.$element = $(element) - this.options = $.extend({}, Button.DEFAULTS, options) - this.isLoading = false - } - - Button.VERSION = '3.3.5' - - Button.DEFAULTS = { - loadingText: 'loading...' - } - - Button.prototype.setState = function (state) { - var d = 'disabled' - var $el = this.$element - var val = $el.is('input') ? 'val' : 'html' - var data = $el.data() - - state += 'Text' - - if (data.resetText == null) $el.data('resetText', $el[val]()) - - // push to event loop to allow forms to submit - setTimeout($.proxy(function () { - $el[val](data[state] == null ? this.options[state] : data[state]) - - if (state == 'loadingText') { - this.isLoading = true - $el.addClass(d).attr(d, d) - } else if (this.isLoading) { - this.isLoading = false - $el.removeClass(d).removeAttr(d) - } - }, this), 0) - } - - Button.prototype.toggle = function () { - var changed = true - var $parent = this.$element.closest('[data-toggle="buttons"]') - - if ($parent.length) { - var $input = this.$element.find('input') - if ($input.prop('type') == 'radio') { - if ($input.prop('checked')) changed = false - $parent.find('.active').removeClass('active') - this.$element.addClass('active') - } else if ($input.prop('type') == 'checkbox') { - if (($input.prop('checked')) !== this.$element.hasClass('active')) changed = false - this.$element.toggleClass('active') - } - $input.prop('checked', this.$element.hasClass('active')) - if (changed) $input.trigger('change') - } else { - this.$element.attr('aria-pressed', !this.$element.hasClass('active')) - this.$element.toggleClass('active') - } - } - - - // BUTTON PLUGIN DEFINITION - // ======================== - - function Plugin(option) { - return this.each(function () { - var $this = $(this) - var data = $this.data('bs.button') - var options = typeof option == 'object' && option - - if (!data) $this.data('bs.button', (data = new Button(this, options))) - - if (option == 'toggle') data.toggle() - else if (option) data.setState(option) - }) - } - - var old = $.fn.button - - $.fn.button = Plugin - $.fn.button.Constructor = Button - - - // BUTTON NO CONFLICT - // ================== - - $.fn.button.noConflict = function () { - $.fn.button = old - return this - } - - - // BUTTON DATA-API - // =============== - - $(document) - .on('click.bs.button.data-api', '[data-toggle^="button"]', function (e) { - var $btn = $(e.target) - if (!$btn.hasClass('btn')) $btn = $btn.closest('.btn') - Plugin.call($btn, 'toggle') - if (!($(e.target).is('input[type="radio"]') || $(e.target).is('input[type="checkbox"]'))) e.preventDefault() - }) - .on('focus.bs.button.data-api blur.bs.button.data-api', '[data-toggle^="button"]', function (e) { - $(e.target).closest('.btn').toggleClass('focus', /^focus(in)?$/.test(e.type)) - }) - -}(jQuery); - -/* ======================================================================== - * Bootstrap: carousel.js v3.3.5 - * http://getbootstrap.com/javascript/#carousel - * ======================================================================== - * Copyright 2011-2015 Twitter, Inc. - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) - * ======================================================================== */ - - -+function ($) { - 'use strict'; - - // CAROUSEL CLASS DEFINITION - // ========================= - - var Carousel = function (element, options) { - this.$element = $(element) - this.$indicators = this.$element.find('.carousel-indicators') - this.options = options - this.paused = null - this.sliding = null - this.interval = null - this.$active = null - this.$items = null - - this.options.keyboard && this.$element.on('keydown.bs.carousel', $.proxy(this.keydown, this)) - - this.options.pause == 'hover' && !('ontouchstart' in document.documentElement) && this.$element - .on('mouseenter.bs.carousel', $.proxy(this.pause, this)) - .on('mouseleave.bs.carousel', $.proxy(this.cycle, this)) - } - - Carousel.VERSION = '3.3.5' - - Carousel.TRANSITION_DURATION = 600 - - Carousel.DEFAULTS = { - interval: 5000, - pause: 'hover', - wrap: true, - keyboard: true - } - - Carousel.prototype.keydown = function (e) { - if (/input|textarea/i.test(e.target.tagName)) return - switch (e.which) { - case 37: this.prev(); break - case 39: this.next(); break - default: return - } - - e.preventDefault() - } - - Carousel.prototype.cycle = function (e) { - e || (this.paused = false) - - this.interval && clearInterval(this.interval) - - this.options.interval - && !this.paused - && (this.interval = setInterval($.proxy(this.next, this), this.options.interval)) - - return this - } - - Carousel.prototype.getItemIndex = function (item) { - this.$items = item.parent().children('.item') - return this.$items.index(item || this.$active) - } - - Carousel.prototype.getItemForDirection = function (direction, active) { - var activeIndex = this.getItemIndex(active) - var willWrap = (direction == 'prev' && activeIndex === 0) - || (direction == 'next' && activeIndex == (this.$items.length - 1)) - if (willWrap && !this.options.wrap) return active - var delta = direction == 'prev' ? -1 : 1 - var itemIndex = (activeIndex + delta) % this.$items.length - return this.$items.eq(itemIndex) - } - - Carousel.prototype.to = function (pos) { - var that = this - var activeIndex = this.getItemIndex(this.$active = this.$element.find('.item.active')) - - if (pos > (this.$items.length - 1) || pos < 0) return - - if (this.sliding) return this.$element.one('slid.bs.carousel', function () { that.to(pos) }) // yes, "slid" - if (activeIndex == pos) return this.pause().cycle() - - return this.slide(pos > activeIndex ? 'next' : 'prev', this.$items.eq(pos)) - } - - Carousel.prototype.pause = function (e) { - e || (this.paused = true) - - if (this.$element.find('.next, .prev').length && $.support.transition) { - this.$element.trigger($.support.transition.end) - this.cycle(true) - } - - this.interval = clearInterval(this.interval) - - return this - } - - Carousel.prototype.next = function () { - if (this.sliding) return - return this.slide('next') - } - - Carousel.prototype.prev = function () { - if (this.sliding) return - return this.slide('prev') - } - - Carousel.prototype.slide = function (type, next) { - var $active = this.$element.find('.item.active') - var $next = next || this.getItemForDirection(type, $active) - var isCycling = this.interval - var direction = type == 'next' ? 'left' : 'right' - var that = this - - if ($next.hasClass('active')) return (this.sliding = false) - - var relatedTarget = $next[0] - var slideEvent = $.Event('slide.bs.carousel', { - relatedTarget: relatedTarget, - direction: direction - }) - this.$element.trigger(slideEvent) - if (slideEvent.isDefaultPrevented()) return - - this.sliding = true - - isCycling && this.pause() - - if (this.$indicators.length) { - this.$indicators.find('.active').removeClass('active') - var $nextIndicator = $(this.$indicators.children()[this.getItemIndex($next)]) - $nextIndicator && $nextIndicator.addClass('active') - } - - var slidEvent = $.Event('slid.bs.carousel', { relatedTarget: relatedTarget, direction: direction }) // yes, "slid" - if ($.support.transition && this.$element.hasClass('slide')) { - $next.addClass(type) - $next[0].offsetWidth // force reflow - $active.addClass(direction) - $next.addClass(direction) - $active - .one('bsTransitionEnd', function () { - $next.removeClass([type, direction].join(' ')).addClass('active') - $active.removeClass(['active', direction].join(' ')) - that.sliding = false - setTimeout(function () { - that.$element.trigger(slidEvent) - }, 0) - }) - .emulateTransitionEnd(Carousel.TRANSITION_DURATION) - } else { - $active.removeClass('active') - $next.addClass('active') - this.sliding = false - this.$element.trigger(slidEvent) - } - - isCycling && this.cycle() - - return this - } - - - // CAROUSEL PLUGIN DEFINITION - // ========================== - - function Plugin(option) { - return this.each(function () { - var $this = $(this) - var data = $this.data('bs.carousel') - var options = $.extend({}, Carousel.DEFAULTS, $this.data(), typeof option == 'object' && option) - var action = typeof option == 'string' ? option : options.slide - - if (!data) $this.data('bs.carousel', (data = new Carousel(this, options))) - if (typeof option == 'number') data.to(option) - else if (action) data[action]() - else if (options.interval) data.pause().cycle() - }) - } - - var old = $.fn.carousel - - $.fn.carousel = Plugin - $.fn.carousel.Constructor = Carousel - - - // CAROUSEL NO CONFLICT - // ==================== - - $.fn.carousel.noConflict = function () { - $.fn.carousel = old - return this - } - - - // CAROUSEL DATA-API - // ================= - - var clickHandler = function (e) { - var href - var $this = $(this) - var $target = $($this.attr('data-target') || (href = $this.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '')) // strip for ie7 - if (!$target.hasClass('carousel')) return - var options = $.extend({}, $target.data(), $this.data()) - var slideIndex = $this.attr('data-slide-to') - if (slideIndex) options.interval = false - - Plugin.call($target, options) - - if (slideIndex) { - $target.data('bs.carousel').to(slideIndex) - } - - e.preventDefault() - } - - $(document) - .on('click.bs.carousel.data-api', '[data-slide]', clickHandler) - .on('click.bs.carousel.data-api', '[data-slide-to]', clickHandler) - - $(window).on('load', function () { - $('[data-ride="carousel"]').each(function () { - var $carousel = $(this) - Plugin.call($carousel, $carousel.data()) - }) - }) - -}(jQuery); - -/* ======================================================================== - * Bootstrap: collapse.js v3.3.5 - * http://getbootstrap.com/javascript/#collapse - * ======================================================================== - * Copyright 2011-2015 Twitter, Inc. - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) - * ======================================================================== */ - - -+function ($) { - 'use strict'; - - // COLLAPSE PUBLIC CLASS DEFINITION - // ================================ - - var Collapse = function (element, options) { - this.$element = $(element) - this.options = $.extend({}, Collapse.DEFAULTS, options) - this.$trigger = $('[data-toggle="collapse"][href="#' + element.id + '"],' + - '[data-toggle="collapse"][data-target="#' + element.id + '"]') - this.transitioning = null - - if (this.options.parent) { - this.$parent = this.getParent() - } else { - this.addAriaAndCollapsedClass(this.$element, this.$trigger) - } - - if (this.options.toggle) this.toggle() - } - - Collapse.VERSION = '3.3.5' - - Collapse.TRANSITION_DURATION = 350 - - Collapse.DEFAULTS = { - toggle: true - } - - Collapse.prototype.dimension = function () { - var hasWidth = this.$element.hasClass('width') - return hasWidth ? 'width' : 'height' - } - - Collapse.prototype.show = function () { - if (this.transitioning || this.$element.hasClass('in')) return - - var activesData - var actives = this.$parent && this.$parent.children('.panel').children('.in, .collapsing') - - if (actives && actives.length) { - activesData = actives.data('bs.collapse') - if (activesData && activesData.transitioning) return - } - - var startEvent = $.Event('show.bs.collapse') - this.$element.trigger(startEvent) - if (startEvent.isDefaultPrevented()) return - - if (actives && actives.length) { - Plugin.call(actives, 'hide') - activesData || actives.data('bs.collapse', null) - } - - var dimension = this.dimension() - - this.$element - .removeClass('collapse') - .addClass('collapsing')[dimension](0) - .attr('aria-expanded', true) - - this.$trigger - .removeClass('collapsed') - .attr('aria-expanded', true) - - this.transitioning = 1 - - var complete = function () { - this.$element - .removeClass('collapsing') - .addClass('collapse in')[dimension]('') - this.transitioning = 0 - this.$element - .trigger('shown.bs.collapse') - } - - if (!$.support.transition) return complete.call(this) - - var scrollSize = $.camelCase(['scroll', dimension].join('-')) - - this.$element - .one('bsTransitionEnd', $.proxy(complete, this)) - .emulateTransitionEnd(Collapse.TRANSITION_DURATION)[dimension](this.$element[0][scrollSize]) - } - - Collapse.prototype.hide = function () { - if (this.transitioning || !this.$element.hasClass('in')) return - - var startEvent = $.Event('hide.bs.collapse') - this.$element.trigger(startEvent) - if (startEvent.isDefaultPrevented()) return - - var dimension = this.dimension() - - this.$element[dimension](this.$element[dimension]())[0].offsetHeight - - this.$element - .addClass('collapsing') - .removeClass('collapse in') - .attr('aria-expanded', false) - - this.$trigger - .addClass('collapsed') - .attr('aria-expanded', false) - - this.transitioning = 1 - - var complete = function () { - this.transitioning = 0 - this.$element - .removeClass('collapsing') - .addClass('collapse') - .trigger('hidden.bs.collapse') - } - - if (!$.support.transition) return complete.call(this) - - this.$element - [dimension](0) - .one('bsTransitionEnd', $.proxy(complete, this)) - .emulateTransitionEnd(Collapse.TRANSITION_DURATION) - } - - Collapse.prototype.toggle = function () { - this[this.$element.hasClass('in') ? 'hide' : 'show']() - } - - Collapse.prototype.getParent = function () { - return $(this.options.parent) - .find('[data-toggle="collapse"][data-parent="' + this.options.parent + '"]') - .each($.proxy(function (i, element) { - var $element = $(element) - this.addAriaAndCollapsedClass(getTargetFromTrigger($element), $element) - }, this)) - .end() - } - - Collapse.prototype.addAriaAndCollapsedClass = function ($element, $trigger) { - var isOpen = $element.hasClass('in') - - $element.attr('aria-expanded', isOpen) - $trigger - .toggleClass('collapsed', !isOpen) - .attr('aria-expanded', isOpen) - } - - function getTargetFromTrigger($trigger) { - var href - var target = $trigger.attr('data-target') - || (href = $trigger.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '') // strip for ie7 - - return $(target) - } - - - // COLLAPSE PLUGIN DEFINITION - // ========================== - - function Plugin(option) { - return this.each(function () { - var $this = $(this) - var data = $this.data('bs.collapse') - var options = $.extend({}, Collapse.DEFAULTS, $this.data(), typeof option == 'object' && option) - - if (!data && options.toggle && /show|hide/.test(option)) options.toggle = false - if (!data) $this.data('bs.collapse', (data = new Collapse(this, options))) - if (typeof option == 'string') data[option]() - }) - } - - var old = $.fn.collapse - - $.fn.collapse = Plugin - $.fn.collapse.Constructor = Collapse - - - // COLLAPSE NO CONFLICT - // ==================== - - $.fn.collapse.noConflict = function () { - $.fn.collapse = old - return this - } - - - // COLLAPSE DATA-API - // ================= - - $(document).on('click.bs.collapse.data-api', '[data-toggle="collapse"]', function (e) { - var $this = $(this) - - if (!$this.attr('data-target')) e.preventDefault() - - var $target = getTargetFromTrigger($this) - var data = $target.data('bs.collapse') - var option = data ? 'toggle' : $this.data() - - Plugin.call($target, option) - }) - -}(jQuery); - -/* ======================================================================== - * Bootstrap: dropdown.js v3.3.5 - * http://getbootstrap.com/javascript/#dropdowns - * ======================================================================== - * Copyright 2011-2015 Twitter, Inc. - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) - * ======================================================================== */ - - -+function ($) { - 'use strict'; - - // DROPDOWN CLASS DEFINITION - // ========================= - - var backdrop = '.dropdown-backdrop' - var toggle = '[data-toggle="dropdown"]' - var Dropdown = function (element) { - $(element).on('click.bs.dropdown', this.toggle) - } - - Dropdown.VERSION = '3.3.5' - - function getParent($this) { - var selector = $this.attr('data-target') - - if (!selector) { - selector = $this.attr('href') - selector = selector && /#[A-Za-z]/.test(selector) && selector.replace(/.*(?=#[^\s]*$)/, '') // strip for ie7 - } - - var $parent = selector && $(selector) - - return $parent && $parent.length ? $parent : $this.parent() - } - - function clearMenus(e) { - if (e && e.which === 3) return - $(backdrop).remove() - $(toggle).each(function () { - var $this = $(this) - var $parent = getParent($this) - var relatedTarget = { relatedTarget: this } - - if (!$parent.hasClass('open')) return - - if (e && e.type == 'click' && /input|textarea/i.test(e.target.tagName) && $.contains($parent[0], e.target)) return - - $parent.trigger(e = $.Event('hide.bs.dropdown', relatedTarget)) - - if (e.isDefaultPrevented()) return - - $this.attr('aria-expanded', 'false') - $parent.removeClass('open').trigger('hidden.bs.dropdown', relatedTarget) - }) - } - - Dropdown.prototype.toggle = function (e) { - var $this = $(this) - - if ($this.is('.disabled, :disabled')) return - - var $parent = getParent($this) - var isActive = $parent.hasClass('open') - - clearMenus() - - if (!isActive) { - if ('ontouchstart' in document.documentElement && !$parent.closest('.navbar-nav').length) { - // if mobile we use a backdrop because click events don't delegate - $(document.createElement('div')) - .addClass('dropdown-backdrop') - .insertAfter($(this)) - .on('click', clearMenus) - } - - var relatedTarget = { relatedTarget: this } - $parent.trigger(e = $.Event('show.bs.dropdown', relatedTarget)) - - if (e.isDefaultPrevented()) return - - $this - .trigger('focus') - .attr('aria-expanded', 'true') - - $parent - .toggleClass('open') - .trigger('shown.bs.dropdown', relatedTarget) - } - - return false - } - - Dropdown.prototype.keydown = function (e) { - if (!/(38|40|27|32)/.test(e.which) || /input|textarea/i.test(e.target.tagName)) return - - var $this = $(this) - - e.preventDefault() - e.stopPropagation() - - if ($this.is('.disabled, :disabled')) return - - var $parent = getParent($this) - var isActive = $parent.hasClass('open') - - if (!isActive && e.which != 27 || isActive && e.which == 27) { - if (e.which == 27) $parent.find(toggle).trigger('focus') - return $this.trigger('click') - } - - var desc = ' li:not(.disabled):visible a' - var $items = $parent.find('.dropdown-menu' + desc) - - if (!$items.length) return - - var index = $items.index(e.target) - - if (e.which == 38 && index > 0) index-- // up - if (e.which == 40 && index < $items.length - 1) index++ // down - if (!~index) index = 0 - - $items.eq(index).trigger('focus') - } - - - // DROPDOWN PLUGIN DEFINITION - // ========================== - - function Plugin(option) { - return this.each(function () { - var $this = $(this) - var data = $this.data('bs.dropdown') - - if (!data) $this.data('bs.dropdown', (data = new Dropdown(this))) - if (typeof option == 'string') data[option].call($this) - }) - } - - var old = $.fn.dropdown - - $.fn.dropdown = Plugin - $.fn.dropdown.Constructor = Dropdown - - - // DROPDOWN NO CONFLICT - // ==================== - - $.fn.dropdown.noConflict = function () { - $.fn.dropdown = old - return this - } - - - // APPLY TO STANDARD DROPDOWN ELEMENTS - // =================================== - - $(document) - .on('click.bs.dropdown.data-api', clearMenus) - .on('click.bs.dropdown.data-api', '.dropdown form', function (e) { e.stopPropagation() }) - .on('click.bs.dropdown.data-api', toggle, Dropdown.prototype.toggle) - .on('keydown.bs.dropdown.data-api', toggle, Dropdown.prototype.keydown) - .on('keydown.bs.dropdown.data-api', '.dropdown-menu', Dropdown.prototype.keydown) - -}(jQuery); - -/* ======================================================================== - * Bootstrap: modal.js v3.3.5 - * http://getbootstrap.com/javascript/#modals - * ======================================================================== - * Copyright 2011-2015 Twitter, Inc. - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) - * ======================================================================== */ - - -+function ($) { - 'use strict'; - - // MODAL CLASS DEFINITION - // ====================== - - var Modal = function (element, options) { - this.options = options - this.$body = $(document.body) - this.$element = $(element) - this.$dialog = this.$element.find('.modal-dialog') - this.$backdrop = null - this.isShown = null - this.originalBodyPad = null - this.scrollbarWidth = 0 - this.ignoreBackdropClick = false - - if (this.options.remote) { - this.$element - .find('.modal-content') - .load(this.options.remote, $.proxy(function () { - this.$element.trigger('loaded.bs.modal') - }, this)) - } - } - - Modal.VERSION = '3.3.5' - - Modal.TRANSITION_DURATION = 300 - Modal.BACKDROP_TRANSITION_DURATION = 150 - - Modal.DEFAULTS = { - backdrop: true, - keyboard: true, - show: true - } - - Modal.prototype.toggle = function (_relatedTarget) { - return this.isShown ? this.hide() : this.show(_relatedTarget) - } - - Modal.prototype.show = function (_relatedTarget) { - var that = this - var e = $.Event('show.bs.modal', { relatedTarget: _relatedTarget }) - - this.$element.trigger(e) - - if (this.isShown || e.isDefaultPrevented()) return - - this.isShown = true - - this.checkScrollbar() - this.setScrollbar() - this.$body.addClass('modal-open') - - this.escape() - this.resize() - - this.$element.on('click.dismiss.bs.modal', '[data-dismiss="modal"]', $.proxy(this.hide, this)) - - this.$dialog.on('mousedown.dismiss.bs.modal', function () { - that.$element.one('mouseup.dismiss.bs.modal', function (e) { - if ($(e.target).is(that.$element)) that.ignoreBackdropClick = true - }) - }) - - this.backdrop(function () { - var transition = $.support.transition && that.$element.hasClass('fade') - - if (!that.$element.parent().length) { - that.$element.appendTo(that.$body) // don't move modals dom position - } - - that.$element - .show() - .scrollTop(0) - - that.adjustDialog() - - if (transition) { - that.$element[0].offsetWidth // force reflow - } - - that.$element.addClass('in') - - that.enforceFocus() - - var e = $.Event('shown.bs.modal', { relatedTarget: _relatedTarget }) - - transition ? - that.$dialog // wait for modal to slide in - .one('bsTransitionEnd', function () { - that.$element.trigger('focus').trigger(e) - }) - .emulateTransitionEnd(Modal.TRANSITION_DURATION) : - that.$element.trigger('focus').trigger(e) - }) - } - - Modal.prototype.hide = function (e) { - if (e) e.preventDefault() - - e = $.Event('hide.bs.modal') - - this.$element.trigger(e) - - if (!this.isShown || e.isDefaultPrevented()) return - - this.isShown = false - - this.escape() - this.resize() - - $(document).off('focusin.bs.modal') - - this.$element - .removeClass('in') - .off('click.dismiss.bs.modal') - .off('mouseup.dismiss.bs.modal') - - this.$dialog.off('mousedown.dismiss.bs.modal') - - $.support.transition && this.$element.hasClass('fade') ? - this.$element - .one('bsTransitionEnd', $.proxy(this.hideModal, this)) - .emulateTransitionEnd(Modal.TRANSITION_DURATION) : - this.hideModal() - } - - Modal.prototype.enforceFocus = function () { - $(document) - .off('focusin.bs.modal') // guard against infinite focus loop - .on('focusin.bs.modal', $.proxy(function (e) { - if (this.$element[0] !== e.target && !this.$element.has(e.target).length) { - this.$element.trigger('focus') - } - }, this)) - } - - Modal.prototype.escape = function () { - if (this.isShown && this.options.keyboard) { - this.$element.on('keydown.dismiss.bs.modal', $.proxy(function (e) { - e.which == 27 && this.hide() - }, this)) - } else if (!this.isShown) { - this.$element.off('keydown.dismiss.bs.modal') - } - } - - Modal.prototype.resize = function () { - if (this.isShown) { - $(window).on('resize.bs.modal', $.proxy(this.handleUpdate, this)) - } else { - $(window).off('resize.bs.modal') - } - } - - Modal.prototype.hideModal = function () { - var that = this - this.$element.hide() - this.backdrop(function () { - that.$body.removeClass('modal-open') - that.resetAdjustments() - that.resetScrollbar() - that.$element.trigger('hidden.bs.modal') - }) - } - - Modal.prototype.removeBackdrop = function () { - this.$backdrop && this.$backdrop.remove() - this.$backdrop = null - } - - Modal.prototype.backdrop = function (callback) { - var that = this - var animate = this.$element.hasClass('fade') ? 'fade' : '' - - if (this.isShown && this.options.backdrop) { - var doAnimate = $.support.transition && animate - - this.$backdrop = $(document.createElement('div')) - .addClass('modal-backdrop ' + animate) - .appendTo(this.$body) - - this.$element.on('click.dismiss.bs.modal', $.proxy(function (e) { - if (this.ignoreBackdropClick) { - this.ignoreBackdropClick = false - return - } - if (e.target !== e.currentTarget) return - this.options.backdrop == 'static' - ? this.$element[0].focus() - : this.hide() - }, this)) - - if (doAnimate) this.$backdrop[0].offsetWidth // force reflow - - this.$backdrop.addClass('in') - - if (!callback) return - - doAnimate ? - this.$backdrop - .one('bsTransitionEnd', callback) - .emulateTransitionEnd(Modal.BACKDROP_TRANSITION_DURATION) : - callback() - - } else if (!this.isShown && this.$backdrop) { - this.$backdrop.removeClass('in') - - var callbackRemove = function () { - that.removeBackdrop() - callback && callback() - } - $.support.transition && this.$element.hasClass('fade') ? - this.$backdrop - .one('bsTransitionEnd', callbackRemove) - .emulateTransitionEnd(Modal.BACKDROP_TRANSITION_DURATION) : - callbackRemove() - - } else if (callback) { - callback() - } - } - - // these following methods are used to handle overflowing modals - - Modal.prototype.handleUpdate = function () { - this.adjustDialog() - } - - Modal.prototype.adjustDialog = function () { - var modalIsOverflowing = this.$element[0].scrollHeight > document.documentElement.clientHeight - - this.$element.css({ - paddingLeft: !this.bodyIsOverflowing && modalIsOverflowing ? this.scrollbarWidth : '', - paddingRight: this.bodyIsOverflowing && !modalIsOverflowing ? this.scrollbarWidth : '' - }) - } - - Modal.prototype.resetAdjustments = function () { - this.$element.css({ - paddingLeft: '', - paddingRight: '' - }) - } - - Modal.prototype.checkScrollbar = function () { - var fullWindowWidth = window.innerWidth - if (!fullWindowWidth) { // workaround for missing window.innerWidth in IE8 - var documentElementRect = document.documentElement.getBoundingClientRect() - fullWindowWidth = documentElementRect.right - Math.abs(documentElementRect.left) - } - this.bodyIsOverflowing = document.body.clientWidth < fullWindowWidth - this.scrollbarWidth = this.measureScrollbar() - } - - Modal.prototype.setScrollbar = function () { - var bodyPad = parseInt((this.$body.css('padding-right') || 0), 10) - this.originalBodyPad = document.body.style.paddingRight || '' - if (this.bodyIsOverflowing) this.$body.css('padding-right', bodyPad + this.scrollbarWidth) - } - - Modal.prototype.resetScrollbar = function () { - this.$body.css('padding-right', this.originalBodyPad) - } - - Modal.prototype.measureScrollbar = function () { // thx walsh - var scrollDiv = document.createElement('div') - scrollDiv.className = 'modal-scrollbar-measure' - this.$body.append(scrollDiv) - var scrollbarWidth = scrollDiv.offsetWidth - scrollDiv.clientWidth - this.$body[0].removeChild(scrollDiv) - return scrollbarWidth - } - - - // MODAL PLUGIN DEFINITION - // ======================= - - function Plugin(option, _relatedTarget) { - return this.each(function () { - var $this = $(this) - var data = $this.data('bs.modal') - var options = $.extend({}, Modal.DEFAULTS, $this.data(), typeof option == 'object' && option) - - if (!data) $this.data('bs.modal', (data = new Modal(this, options))) - if (typeof option == 'string') data[option](_relatedTarget) - else if (options.show) data.show(_relatedTarget) - }) - } - - var old = $.fn.modal - - $.fn.modal = Plugin - $.fn.modal.Constructor = Modal - - - // MODAL NO CONFLICT - // ================= - - $.fn.modal.noConflict = function () { - $.fn.modal = old - return this - } - - - // MODAL DATA-API - // ============== - - $(document).on('click.bs.modal.data-api', '[data-toggle="modal"]', function (e) { - var $this = $(this) - var href = $this.attr('href') - var $target = $($this.attr('data-target') || (href && href.replace(/.*(?=#[^\s]+$)/, ''))) // strip for ie7 - var option = $target.data('bs.modal') ? 'toggle' : $.extend({ remote: !/#/.test(href) && href }, $target.data(), $this.data()) - - if ($this.is('a')) e.preventDefault() - - $target.one('show.bs.modal', function (showEvent) { - if (showEvent.isDefaultPrevented()) return // only register focus restorer if modal will actually get shown - $target.one('hidden.bs.modal', function () { - $this.is(':visible') && $this.trigger('focus') - }) - }) - Plugin.call($target, option, this) - }) - -}(jQuery); - -/* ======================================================================== - * Bootstrap: tooltip.js v3.3.5 - * http://getbootstrap.com/javascript/#tooltip - * Inspired by the original jQuery.tipsy by Jason Frame - * ======================================================================== - * Copyright 2011-2015 Twitter, Inc. - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) - * ======================================================================== */ - - -+function ($) { - 'use strict'; - - // TOOLTIP PUBLIC CLASS DEFINITION - // =============================== - - var Tooltip = function (element, options) { - this.type = null - this.options = null - this.enabled = null - this.timeout = null - this.hoverState = null - this.$element = null - this.inState = null - - this.init('tooltip', element, options) - } - - Tooltip.VERSION = '3.3.5' - - Tooltip.TRANSITION_DURATION = 150 - - Tooltip.DEFAULTS = { - animation: true, - placement: 'top', - selector: false, - template: '', - trigger: 'hover focus', - title: '', - delay: 0, - html: false, - container: false, - viewport: { - selector: 'body', - padding: 0 - } - } - - Tooltip.prototype.init = function (type, element, options) { - this.enabled = true - this.type = type - this.$element = $(element) - this.options = this.getOptions(options) - this.$viewport = this.options.viewport && $($.isFunction(this.options.viewport) ? this.options.viewport.call(this, this.$element) : (this.options.viewport.selector || this.options.viewport)) - this.inState = { click: false, hover: false, focus: false } - - if (this.$element[0] instanceof document.constructor && !this.options.selector) { - throw new Error('`selector` option must be specified when initializing ' + this.type + ' on the window.document object!') - } - - var triggers = this.options.trigger.split(' ') - - for (var i = triggers.length; i--;) { - var trigger = triggers[i] - - if (trigger == 'click') { - this.$element.on('click.' + this.type, this.options.selector, $.proxy(this.toggle, this)) - } else if (trigger != 'manual') { - var eventIn = trigger == 'hover' ? 'mouseenter' : 'focusin' - var eventOut = trigger == 'hover' ? 'mouseleave' : 'focusout' - - this.$element.on(eventIn + '.' + this.type, this.options.selector, $.proxy(this.enter, this)) - this.$element.on(eventOut + '.' + this.type, this.options.selector, $.proxy(this.leave, this)) - } - } - - this.options.selector ? - (this._options = $.extend({}, this.options, { trigger: 'manual', selector: '' })) : - this.fixTitle() - } - - Tooltip.prototype.getDefaults = function () { - return Tooltip.DEFAULTS - } - - Tooltip.prototype.getOptions = function (options) { - options = $.extend({}, this.getDefaults(), this.$element.data(), options) - - if (options.delay && typeof options.delay == 'number') { - options.delay = { - show: options.delay, - hide: options.delay - } - } - - return options - } - - Tooltip.prototype.getDelegateOptions = function () { - var options = {} - var defaults = this.getDefaults() - - this._options && $.each(this._options, function (key, value) { - if (defaults[key] != value) options[key] = value - }) - - return options - } - - Tooltip.prototype.enter = function (obj) { - var self = obj instanceof this.constructor ? - obj : $(obj.currentTarget).data('bs.' + this.type) - - if (!self) { - self = new this.constructor(obj.currentTarget, this.getDelegateOptions()) - $(obj.currentTarget).data('bs.' + this.type, self) - } - - if (obj instanceof $.Event) { - self.inState[obj.type == 'focusin' ? 'focus' : 'hover'] = true - } - - if (self.tip().hasClass('in') || self.hoverState == 'in') { - self.hoverState = 'in' - return - } - - clearTimeout(self.timeout) - - self.hoverState = 'in' - - if (!self.options.delay || !self.options.delay.show) return self.show() - - self.timeout = setTimeout(function () { - if (self.hoverState == 'in') self.show() - }, self.options.delay.show) - } - - Tooltip.prototype.isInStateTrue = function () { - for (var key in this.inState) { - if (this.inState[key]) return true - } - - return false - } - - Tooltip.prototype.leave = function (obj) { - var self = obj instanceof this.constructor ? - obj : $(obj.currentTarget).data('bs.' + this.type) - - if (!self) { - self = new this.constructor(obj.currentTarget, this.getDelegateOptions()) - $(obj.currentTarget).data('bs.' + this.type, self) - } - - if (obj instanceof $.Event) { - self.inState[obj.type == 'focusout' ? 'focus' : 'hover'] = false - } - - if (self.isInStateTrue()) return - - clearTimeout(self.timeout) - - self.hoverState = 'out' - - if (!self.options.delay || !self.options.delay.hide) return self.hide() - - self.timeout = setTimeout(function () { - if (self.hoverState == 'out') self.hide() - }, self.options.delay.hide) - } - - Tooltip.prototype.show = function () { - var e = $.Event('show.bs.' + this.type) - - if (this.hasContent() && this.enabled) { - this.$element.trigger(e) - - var inDom = $.contains(this.$element[0].ownerDocument.documentElement, this.$element[0]) - if (e.isDefaultPrevented() || !inDom) return - var that = this - - var $tip = this.tip() - - var tipId = this.getUID(this.type) - - this.setContent() - $tip.attr('id', tipId) - this.$element.attr('aria-describedby', tipId) - - if (this.options.animation) $tip.addClass('fade') - - var placement = typeof this.options.placement == 'function' ? - this.options.placement.call(this, $tip[0], this.$element[0]) : - this.options.placement - - var autoToken = /\s?auto?\s?/i - var autoPlace = autoToken.test(placement) - if (autoPlace) placement = placement.replace(autoToken, '') || 'top' - - $tip - .detach() - .css({ top: 0, left: 0, display: 'block' }) - .addClass(placement) - .data('bs.' + this.type, this) - - this.options.container ? $tip.appendTo(this.options.container) : $tip.insertAfter(this.$element) - this.$element.trigger('inserted.bs.' + this.type) - - var pos = this.getPosition() - var actualWidth = $tip[0].offsetWidth - var actualHeight = $tip[0].offsetHeight - - if (autoPlace) { - var orgPlacement = placement - var viewportDim = this.getPosition(this.$viewport) - - placement = placement == 'bottom' && pos.bottom + actualHeight > viewportDim.bottom ? 'top' : - placement == 'top' && pos.top - actualHeight < viewportDim.top ? 'bottom' : - placement == 'right' && pos.right + actualWidth > viewportDim.width ? 'left' : - placement == 'left' && pos.left - actualWidth < viewportDim.left ? 'right' : - placement - - $tip - .removeClass(orgPlacement) - .addClass(placement) - } - - var calculatedOffset = this.getCalculatedOffset(placement, pos, actualWidth, actualHeight) - - this.applyPlacement(calculatedOffset, placement) - - var complete = function () { - var prevHoverState = that.hoverState - that.$element.trigger('shown.bs.' + that.type) - that.hoverState = null - - if (prevHoverState == 'out') that.leave(that) - } - - $.support.transition && this.$tip.hasClass('fade') ? - $tip - .one('bsTransitionEnd', complete) - .emulateTransitionEnd(Tooltip.TRANSITION_DURATION) : - complete() - } - } - - Tooltip.prototype.applyPlacement = function (offset, placement) { - var $tip = this.tip() - var width = $tip[0].offsetWidth - var height = $tip[0].offsetHeight - - // manually read margins because getBoundingClientRect includes difference - var marginTop = parseInt($tip.css('margin-top'), 10) - var marginLeft = parseInt($tip.css('margin-left'), 10) - - // we must check for NaN for ie 8/9 - if (isNaN(marginTop)) marginTop = 0 - if (isNaN(marginLeft)) marginLeft = 0 - - offset.top += marginTop - offset.left += marginLeft - - // $.fn.offset doesn't round pixel values - // so we use setOffset directly with our own function B-0 - $.offset.setOffset($tip[0], $.extend({ - using: function (props) { - $tip.css({ - top: Math.round(props.top), - left: Math.round(props.left) - }) - } - }, offset), 0) - - $tip.addClass('in') - - // check to see if placing tip in new offset caused the tip to resize itself - var actualWidth = $tip[0].offsetWidth - var actualHeight = $tip[0].offsetHeight - - if (placement == 'top' && actualHeight != height) { - offset.top = offset.top + height - actualHeight - } - - var delta = this.getViewportAdjustedDelta(placement, offset, actualWidth, actualHeight) - - if (delta.left) offset.left += delta.left - else offset.top += delta.top - - var isVertical = /top|bottom/.test(placement) - var arrowDelta = isVertical ? delta.left * 2 - width + actualWidth : delta.top * 2 - height + actualHeight - var arrowOffsetPosition = isVertical ? 'offsetWidth' : 'offsetHeight' - - $tip.offset(offset) - this.replaceArrow(arrowDelta, $tip[0][arrowOffsetPosition], isVertical) - } - - Tooltip.prototype.replaceArrow = function (delta, dimension, isVertical) { - this.arrow() - .css(isVertical ? 'left' : 'top', 50 * (1 - delta / dimension) + '%') - .css(isVertical ? 'top' : 'left', '') - } - - Tooltip.prototype.setContent = function () { - var $tip = this.tip() - var title = this.getTitle() - - $tip.find('.tooltip-inner')[this.options.html ? 'html' : 'text'](title) - $tip.removeClass('fade in top bottom left right') - } - - Tooltip.prototype.hide = function (callback) { - var that = this - var $tip = $(this.$tip) - var e = $.Event('hide.bs.' + this.type) - - function complete() { - if (that.hoverState != 'in') $tip.detach() - that.$element - .removeAttr('aria-describedby') - .trigger('hidden.bs.' + that.type) - callback && callback() - } - - this.$element.trigger(e) - - if (e.isDefaultPrevented()) return - - $tip.removeClass('in') - - $.support.transition && $tip.hasClass('fade') ? - $tip - .one('bsTransitionEnd', complete) - .emulateTransitionEnd(Tooltip.TRANSITION_DURATION) : - complete() - - this.hoverState = null - - return this - } - - Tooltip.prototype.fixTitle = function () { - var $e = this.$element - if ($e.attr('title') || typeof $e.attr('data-original-title') != 'string') { - $e.attr('data-original-title', $e.attr('title') || '').attr('title', '') - } - } - - Tooltip.prototype.hasContent = function () { - return this.getTitle() - } - - Tooltip.prototype.getPosition = function ($element) { - $element = $element || this.$element - - var el = $element[0] - var isBody = el.tagName == 'BODY' - - var elRect = el.getBoundingClientRect() - if (elRect.width == null) { - // width and height are missing in IE8, so compute them manually; see https://github.com/twbs/bootstrap/issues/14093 - elRect = $.extend({}, elRect, { width: elRect.right - elRect.left, height: elRect.bottom - elRect.top }) - } - var elOffset = isBody ? { top: 0, left: 0 } : $element.offset() - var scroll = { scroll: isBody ? document.documentElement.scrollTop || document.body.scrollTop : $element.scrollTop() } - var outerDims = isBody ? { width: $(window).width(), height: $(window).height() } : null - - return $.extend({}, elRect, scroll, outerDims, elOffset) - } - - Tooltip.prototype.getCalculatedOffset = function (placement, pos, actualWidth, actualHeight) { - return placement == 'bottom' ? { top: pos.top + pos.height, left: pos.left + pos.width / 2 - actualWidth / 2 } : - placement == 'top' ? { top: pos.top - actualHeight, left: pos.left + pos.width / 2 - actualWidth / 2 } : - placement == 'left' ? { top: pos.top + pos.height / 2 - actualHeight / 2, left: pos.left - actualWidth } : - /* placement == 'right' */ { top: pos.top + pos.height / 2 - actualHeight / 2, left: pos.left + pos.width } - - } - - Tooltip.prototype.getViewportAdjustedDelta = function (placement, pos, actualWidth, actualHeight) { - var delta = { top: 0, left: 0 } - if (!this.$viewport) return delta - - var viewportPadding = this.options.viewport && this.options.viewport.padding || 0 - var viewportDimensions = this.getPosition(this.$viewport) - - if (/right|left/.test(placement)) { - var topEdgeOffset = pos.top - viewportPadding - viewportDimensions.scroll - var bottomEdgeOffset = pos.top + viewportPadding - viewportDimensions.scroll + actualHeight - if (topEdgeOffset < viewportDimensions.top) { // top overflow - delta.top = viewportDimensions.top - topEdgeOffset - } else if (bottomEdgeOffset > viewportDimensions.top + viewportDimensions.height) { // bottom overflow - delta.top = viewportDimensions.top + viewportDimensions.height - bottomEdgeOffset - } - } else { - var leftEdgeOffset = pos.left - viewportPadding - var rightEdgeOffset = pos.left + viewportPadding + actualWidth - if (leftEdgeOffset < viewportDimensions.left) { // left overflow - delta.left = viewportDimensions.left - leftEdgeOffset - } else if (rightEdgeOffset > viewportDimensions.right) { // right overflow - delta.left = viewportDimensions.left + viewportDimensions.width - rightEdgeOffset - } - } - - return delta - } - - Tooltip.prototype.getTitle = function () { - var title - var $e = this.$element - var o = this.options - - title = $e.attr('data-original-title') - || (typeof o.title == 'function' ? o.title.call($e[0]) : o.title) - - return title - } - - Tooltip.prototype.getUID = function (prefix) { - do prefix += ~~(Math.random() * 1000000) - while (document.getElementById(prefix)) - return prefix - } - - Tooltip.prototype.tip = function () { - if (!this.$tip) { - this.$tip = $(this.options.template) - if (this.$tip.length != 1) { - throw new Error(this.type + ' `template` option must consist of exactly 1 top-level element!') - } - } - return this.$tip - } - - Tooltip.prototype.arrow = function () { - return (this.$arrow = this.$arrow || this.tip().find('.tooltip-arrow')) - } - - Tooltip.prototype.enable = function () { - this.enabled = true - } - - Tooltip.prototype.disable = function () { - this.enabled = false - } - - Tooltip.prototype.toggleEnabled = function () { - this.enabled = !this.enabled - } - - Tooltip.prototype.toggle = function (e) { - var self = this - if (e) { - self = $(e.currentTarget).data('bs.' + this.type) - if (!self) { - self = new this.constructor(e.currentTarget, this.getDelegateOptions()) - $(e.currentTarget).data('bs.' + this.type, self) - } - } - - if (e) { - self.inState.click = !self.inState.click - if (self.isInStateTrue()) self.enter(self) - else self.leave(self) - } else { - self.tip().hasClass('in') ? self.leave(self) : self.enter(self) - } - } - - Tooltip.prototype.destroy = function () { - var that = this - clearTimeout(this.timeout) - this.hide(function () { - that.$element.off('.' + that.type).removeData('bs.' + that.type) - if (that.$tip) { - that.$tip.detach() - } - that.$tip = null - that.$arrow = null - that.$viewport = null - }) - } - - - // TOOLTIP PLUGIN DEFINITION - // ========================= - - function Plugin(option) { - return this.each(function () { - var $this = $(this) - var data = $this.data('bs.tooltip') - var options = typeof option == 'object' && option - - if (!data && /destroy|hide/.test(option)) return - if (!data) $this.data('bs.tooltip', (data = new Tooltip(this, options))) - if (typeof option == 'string') data[option]() - }) - } - - var old = $.fn.tooltip - - $.fn.tooltip = Plugin - $.fn.tooltip.Constructor = Tooltip - - - // TOOLTIP NO CONFLICT - // =================== - - $.fn.tooltip.noConflict = function () { - $.fn.tooltip = old - return this - } - -}(jQuery); - -/* ======================================================================== - * Bootstrap: popover.js v3.3.5 - * http://getbootstrap.com/javascript/#popovers - * ======================================================================== - * Copyright 2011-2015 Twitter, Inc. - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) - * ======================================================================== */ - - -+function ($) { - 'use strict'; - - // POPOVER PUBLIC CLASS DEFINITION - // =============================== - - var Popover = function (element, options) { - this.init('popover', element, options) - } - - if (!$.fn.tooltip) throw new Error('Popover requires tooltip.js') - - Popover.VERSION = '3.3.5' - - Popover.DEFAULTS = $.extend({}, $.fn.tooltip.Constructor.DEFAULTS, { - placement: 'right', - trigger: 'click', - content: '', - template: '' - }) - - - // NOTE: POPOVER EXTENDS tooltip.js - // ================================ - - Popover.prototype = $.extend({}, $.fn.tooltip.Constructor.prototype) - - Popover.prototype.constructor = Popover - - Popover.prototype.getDefaults = function () { - return Popover.DEFAULTS - } - - Popover.prototype.setContent = function () { - var $tip = this.tip() - var title = this.getTitle() - var content = this.getContent() - - $tip.find('.popover-title')[this.options.html ? 'html' : 'text'](title) - $tip.find('.popover-content').children().detach().end()[ // we use append for html objects to maintain js events - this.options.html ? (typeof content == 'string' ? 'html' : 'append') : 'text' - ](content) - - $tip.removeClass('fade top bottom left right in') - - // IE8 doesn't accept hiding via the `:empty` pseudo selector, we have to do - // this manually by checking the contents. - if (!$tip.find('.popover-title').html()) $tip.find('.popover-title').hide() - } - - Popover.prototype.hasContent = function () { - return this.getTitle() || this.getContent() - } - - Popover.prototype.getContent = function () { - var $e = this.$element - var o = this.options - - return $e.attr('data-content') - || (typeof o.content == 'function' ? - o.content.call($e[0]) : - o.content) - } - - Popover.prototype.arrow = function () { - return (this.$arrow = this.$arrow || this.tip().find('.arrow')) - } - - - // POPOVER PLUGIN DEFINITION - // ========================= - - function Plugin(option) { - return this.each(function () { - var $this = $(this) - var data = $this.data('bs.popover') - var options = typeof option == 'object' && option - - if (!data && /destroy|hide/.test(option)) return - if (!data) $this.data('bs.popover', (data = new Popover(this, options))) - if (typeof option == 'string') data[option]() - }) - } - - var old = $.fn.popover - - $.fn.popover = Plugin - $.fn.popover.Constructor = Popover - - - // POPOVER NO CONFLICT - // =================== - - $.fn.popover.noConflict = function () { - $.fn.popover = old - return this - } - -}(jQuery); - -/* ======================================================================== - * Bootstrap: scrollspy.js v3.3.5 - * http://getbootstrap.com/javascript/#scrollspy - * ======================================================================== - * Copyright 2011-2015 Twitter, Inc. - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) - * ======================================================================== */ - - -+function ($) { - 'use strict'; - - // SCROLLSPY CLASS DEFINITION - // ========================== - - function ScrollSpy(element, options) { - this.$body = $(document.body) - this.$scrollElement = $(element).is(document.body) ? $(window) : $(element) - this.options = $.extend({}, ScrollSpy.DEFAULTS, options) - this.selector = (this.options.target || '') + ' .nav li > a' - this.offsets = [] - this.targets = [] - this.activeTarget = null - this.scrollHeight = 0 - - this.$scrollElement.on('scroll.bs.scrollspy', $.proxy(this.process, this)) - this.refresh() - this.process() - } - - ScrollSpy.VERSION = '3.3.5' - - ScrollSpy.DEFAULTS = { - offset: 10 - } - - ScrollSpy.prototype.getScrollHeight = function () { - return this.$scrollElement[0].scrollHeight || Math.max(this.$body[0].scrollHeight, document.documentElement.scrollHeight) - } - - ScrollSpy.prototype.refresh = function () { - var that = this - var offsetMethod = 'offset' - var offsetBase = 0 - - this.offsets = [] - this.targets = [] - this.scrollHeight = this.getScrollHeight() - - if (!$.isWindow(this.$scrollElement[0])) { - offsetMethod = 'position' - offsetBase = this.$scrollElement.scrollTop() - } - - this.$body - .find(this.selector) - .map(function () { - var $el = $(this) - var href = $el.data('target') || $el.attr('href') - var $href = /^#./.test(href) && $(href) - - return ($href - && $href.length - && $href.is(':visible') - && [[$href[offsetMethod]().top + offsetBase, href]]) || null - }) - .sort(function (a, b) { return a[0] - b[0] }) - .each(function () { - that.offsets.push(this[0]) - that.targets.push(this[1]) - }) - } - - ScrollSpy.prototype.process = function () { - var scrollTop = this.$scrollElement.scrollTop() + this.options.offset - var scrollHeight = this.getScrollHeight() - var maxScroll = this.options.offset + scrollHeight - this.$scrollElement.height() - var offsets = this.offsets - var targets = this.targets - var activeTarget = this.activeTarget - var i - - if (this.scrollHeight != scrollHeight) { - this.refresh() - } - - if (scrollTop >= maxScroll) { - return activeTarget != (i = targets[targets.length - 1]) && this.activate(i) - } - - if (activeTarget && scrollTop < offsets[0]) { - this.activeTarget = null - return this.clear() - } - - for (i = offsets.length; i--;) { - activeTarget != targets[i] - && scrollTop >= offsets[i] - && (offsets[i + 1] === undefined || scrollTop < offsets[i + 1]) - && this.activate(targets[i]) - } - } - - ScrollSpy.prototype.activate = function (target) { - this.activeTarget = target - - this.clear() - - var selector = this.selector + - '[data-target="' + target + '"],' + - this.selector + '[href="' + target + '"]' - - var active = $(selector) - .parents('li') - .addClass('active') - - if (active.parent('.dropdown-menu').length) { - active = active - .closest('li.dropdown') - .addClass('active') - } - - active.trigger('activate.bs.scrollspy') - } - - ScrollSpy.prototype.clear = function () { - $(this.selector) - .parentsUntil(this.options.target, '.active') - .removeClass('active') - } - - - // SCROLLSPY PLUGIN DEFINITION - // =========================== - - function Plugin(option) { - return this.each(function () { - var $this = $(this) - var data = $this.data('bs.scrollspy') - var options = typeof option == 'object' && option - - if (!data) $this.data('bs.scrollspy', (data = new ScrollSpy(this, options))) - if (typeof option == 'string') data[option]() - }) - } - - var old = $.fn.scrollspy - - $.fn.scrollspy = Plugin - $.fn.scrollspy.Constructor = ScrollSpy - - - // SCROLLSPY NO CONFLICT - // ===================== - - $.fn.scrollspy.noConflict = function () { - $.fn.scrollspy = old - return this - } - - - // SCROLLSPY DATA-API - // ================== - - $(window).on('load.bs.scrollspy.data-api', function () { - $('[data-spy="scroll"]').each(function () { - var $spy = $(this) - Plugin.call($spy, $spy.data()) - }) - }) - -}(jQuery); - -/* ======================================================================== - * Bootstrap: tab.js v3.3.5 - * http://getbootstrap.com/javascript/#tabs - * ======================================================================== - * Copyright 2011-2015 Twitter, Inc. - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) - * ======================================================================== */ - - -+function ($) { - 'use strict'; - - // TAB CLASS DEFINITION - // ==================== - - var Tab = function (element) { - // jscs:disable requireDollarBeforejQueryAssignment - this.element = $(element) - // jscs:enable requireDollarBeforejQueryAssignment - } - - Tab.VERSION = '3.3.5' - - Tab.TRANSITION_DURATION = 150 - - Tab.prototype.show = function () { - var $this = this.element - var $ul = $this.closest('ul:not(.dropdown-menu)') - var selector = $this.data('target') - - if (!selector) { - selector = $this.attr('href') - selector = selector && selector.replace(/.*(?=#[^\s]*$)/, '') // strip for ie7 - } - - if ($this.parent('li').hasClass('active')) return - - var $previous = $ul.find('.active:last a') - var hideEvent = $.Event('hide.bs.tab', { - relatedTarget: $this[0] - }) - var showEvent = $.Event('show.bs.tab', { - relatedTarget: $previous[0] - }) - - $previous.trigger(hideEvent) - $this.trigger(showEvent) - - if (showEvent.isDefaultPrevented() || hideEvent.isDefaultPrevented()) return - - var $target = $(selector) - - this.activate($this.closest('li'), $ul) - this.activate($target, $target.parent(), function () { - $previous.trigger({ - type: 'hidden.bs.tab', - relatedTarget: $this[0] - }) - $this.trigger({ - type: 'shown.bs.tab', - relatedTarget: $previous[0] - }) - }) - } - - Tab.prototype.activate = function (element, container, callback) { - var $active = container.find('> .active') - var transition = callback - && $.support.transition - && ($active.length && $active.hasClass('fade') || !!container.find('> .fade').length) - - function next() { - $active - .removeClass('active') - .find('> .dropdown-menu > .active') - .removeClass('active') - .end() - .find('[data-toggle="tab"]') - .attr('aria-expanded', false) - - element - .addClass('active') - .find('[data-toggle="tab"]') - .attr('aria-expanded', true) - - if (transition) { - element[0].offsetWidth // reflow for transition - element.addClass('in') - } else { - element.removeClass('fade') - } - - if (element.parent('.dropdown-menu').length) { - element - .closest('li.dropdown') - .addClass('active') - .end() - .find('[data-toggle="tab"]') - .attr('aria-expanded', true) - } - - callback && callback() - } - - $active.length && transition ? - $active - .one('bsTransitionEnd', next) - .emulateTransitionEnd(Tab.TRANSITION_DURATION) : - next() - - $active.removeClass('in') - } - - - // TAB PLUGIN DEFINITION - // ===================== - - function Plugin(option) { - return this.each(function () { - var $this = $(this) - var data = $this.data('bs.tab') - - if (!data) $this.data('bs.tab', (data = new Tab(this))) - if (typeof option == 'string') data[option]() - }) - } - - var old = $.fn.tab - - $.fn.tab = Plugin - $.fn.tab.Constructor = Tab - - - // TAB NO CONFLICT - // =============== - - $.fn.tab.noConflict = function () { - $.fn.tab = old - return this - } - - - // TAB DATA-API - // ============ - - var clickHandler = function (e) { - e.preventDefault() - Plugin.call($(this), 'show') - } - - $(document) - .on('click.bs.tab.data-api', '[data-toggle="tab"]', clickHandler) - .on('click.bs.tab.data-api', '[data-toggle="pill"]', clickHandler) - -}(jQuery); - -/* ======================================================================== - * Bootstrap: affix.js v3.3.5 - * http://getbootstrap.com/javascript/#affix - * ======================================================================== - * Copyright 2011-2015 Twitter, Inc. - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) - * ======================================================================== */ - - -+function ($) { - 'use strict'; - - // AFFIX CLASS DEFINITION - // ====================== - - var Affix = function (element, options) { - this.options = $.extend({}, Affix.DEFAULTS, options) - - this.$target = $(this.options.target) - .on('scroll.bs.affix.data-api', $.proxy(this.checkPosition, this)) - .on('click.bs.affix.data-api', $.proxy(this.checkPositionWithEventLoop, this)) - - this.$element = $(element) - this.affixed = null - this.unpin = null - this.pinnedOffset = null - - this.checkPosition() - } - - Affix.VERSION = '3.3.5' - - Affix.RESET = 'affix affix-top affix-bottom' - - Affix.DEFAULTS = { - offset: 0, - target: window - } - - Affix.prototype.getState = function (scrollHeight, height, offsetTop, offsetBottom) { - var scrollTop = this.$target.scrollTop() - var position = this.$element.offset() - var targetHeight = this.$target.height() - - if (offsetTop != null && this.affixed == 'top') return scrollTop < offsetTop ? 'top' : false - - if (this.affixed == 'bottom') { - if (offsetTop != null) return (scrollTop + this.unpin <= position.top) ? false : 'bottom' - return (scrollTop + targetHeight <= scrollHeight - offsetBottom) ? false : 'bottom' - } - - var initializing = this.affixed == null - var colliderTop = initializing ? scrollTop : position.top - var colliderHeight = initializing ? targetHeight : height - - if (offsetTop != null && scrollTop <= offsetTop) return 'top' - if (offsetBottom != null && (colliderTop + colliderHeight >= scrollHeight - offsetBottom)) return 'bottom' - - return false - } - - Affix.prototype.getPinnedOffset = function () { - if (this.pinnedOffset) return this.pinnedOffset - this.$element.removeClass(Affix.RESET).addClass('affix') - var scrollTop = this.$target.scrollTop() - var position = this.$element.offset() - return (this.pinnedOffset = position.top - scrollTop) - } - - Affix.prototype.checkPositionWithEventLoop = function () { - setTimeout($.proxy(this.checkPosition, this), 1) - } - - Affix.prototype.checkPosition = function () { - if (!this.$element.is(':visible')) return - - var height = this.$element.height() - var offset = this.options.offset - var offsetTop = offset.top - var offsetBottom = offset.bottom - var scrollHeight = Math.max($(document).height(), $(document.body).height()) - - if (typeof offset != 'object') offsetBottom = offsetTop = offset - if (typeof offsetTop == 'function') offsetTop = offset.top(this.$element) - if (typeof offsetBottom == 'function') offsetBottom = offset.bottom(this.$element) - - var affix = this.getState(scrollHeight, height, offsetTop, offsetBottom) - - if (this.affixed != affix) { - if (this.unpin != null) this.$element.css('top', '') - - var affixType = 'affix' + (affix ? '-' + affix : '') - var e = $.Event(affixType + '.bs.affix') - - this.$element.trigger(e) - - if (e.isDefaultPrevented()) return - - this.affixed = affix - this.unpin = affix == 'bottom' ? this.getPinnedOffset() : null - - this.$element - .removeClass(Affix.RESET) - .addClass(affixType) - .trigger(affixType.replace('affix', 'affixed') + '.bs.affix') - } - - if (affix == 'bottom') { - this.$element.offset({ - top: scrollHeight - height - offsetBottom - }) - } - } - - - // AFFIX PLUGIN DEFINITION - // ======================= - - function Plugin(option) { - return this.each(function () { - var $this = $(this) - var data = $this.data('bs.affix') - var options = typeof option == 'object' && option - - if (!data) $this.data('bs.affix', (data = new Affix(this, options))) - if (typeof option == 'string') data[option]() - }) - } - - var old = $.fn.affix - - $.fn.affix = Plugin - $.fn.affix.Constructor = Affix - - - // AFFIX NO CONFLICT - // ================= - - $.fn.affix.noConflict = function () { - $.fn.affix = old - return this - } - - - // AFFIX DATA-API - // ============== - - $(window).on('load', function () { - $('[data-spy="affix"]').each(function () { - var $spy = $(this) - var data = $spy.data() - - data.offset = data.offset || {} - - if (data.offsetBottom != null) data.offset.bottom = data.offsetBottom - if (data.offsetTop != null) data.offset.top = data.offsetTop - - Plugin.call($spy, data) - }) - }) - -}(jQuery); diff --git a/lab-structure/src/themes/green-icon/js/bootstrap.min.js b/lab-structure/src/themes/green-icon/js/bootstrap.min.js deleted file mode 100755 index 133aeecb..00000000 --- a/lab-structure/src/themes/green-icon/js/bootstrap.min.js +++ /dev/null @@ -1,7 +0,0 @@ -/*! - * Bootstrap v3.3.5 (http://getbootstrap.com) - * Copyright 2011-2015 Twitter, Inc. - * Licensed under the MIT license - */ -if("undefined"==typeof jQuery)throw new Error("Bootstrap's JavaScript requires jQuery");+function(a){"use strict";var b=a.fn.jquery.split(" ")[0].split(".");if(b[0]<2&&b[1]<9||1==b[0]&&9==b[1]&&b[2]<1)throw new Error("Bootstrap's JavaScript requires jQuery version 1.9.1 or higher")}(jQuery),+function(a){"use strict";function b(){var a=document.createElement("bootstrap"),b={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"};for(var c in b)if(void 0!==a.style[c])return{end:b[c]};return!1}a.fn.emulateTransitionEnd=function(b){var c=!1,d=this;a(this).one("bsTransitionEnd",function(){c=!0});var e=function(){c||a(d).trigger(a.support.transition.end)};return setTimeout(e,b),this},a(function(){a.support.transition=b(),a.support.transition&&(a.event.special.bsTransitionEnd={bindType:a.support.transition.end,delegateType:a.support.transition.end,handle:function(b){return a(b.target).is(this)?b.handleObj.handler.apply(this,arguments):void 0}})})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var c=a(this),e=c.data("bs.alert");e||c.data("bs.alert",e=new d(this)),"string"==typeof b&&e[b].call(c)})}var c='[data-dismiss="alert"]',d=function(b){a(b).on("click",c,this.close)};d.VERSION="3.3.5",d.TRANSITION_DURATION=150,d.prototype.close=function(b){function c(){g.detach().trigger("closed.bs.alert").remove()}var e=a(this),f=e.attr("data-target");f||(f=e.attr("href"),f=f&&f.replace(/.*(?=#[^\s]*$)/,""));var g=a(f);b&&b.preventDefault(),g.length||(g=e.closest(".alert")),g.trigger(b=a.Event("close.bs.alert")),b.isDefaultPrevented()||(g.removeClass("in"),a.support.transition&&g.hasClass("fade")?g.one("bsTransitionEnd",c).emulateTransitionEnd(d.TRANSITION_DURATION):c())};var e=a.fn.alert;a.fn.alert=b,a.fn.alert.Constructor=d,a.fn.alert.noConflict=function(){return a.fn.alert=e,this},a(document).on("click.bs.alert.data-api",c,d.prototype.close)}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.button"),f="object"==typeof b&&b;e||d.data("bs.button",e=new c(this,f)),"toggle"==b?e.toggle():b&&e.setState(b)})}var c=function(b,d){this.$element=a(b),this.options=a.extend({},c.DEFAULTS,d),this.isLoading=!1};c.VERSION="3.3.5",c.DEFAULTS={loadingText:"loading..."},c.prototype.setState=function(b){var c="disabled",d=this.$element,e=d.is("input")?"val":"html",f=d.data();b+="Text",null==f.resetText&&d.data("resetText",d[e]()),setTimeout(a.proxy(function(){d[e](null==f[b]?this.options[b]:f[b]),"loadingText"==b?(this.isLoading=!0,d.addClass(c).attr(c,c)):this.isLoading&&(this.isLoading=!1,d.removeClass(c).removeAttr(c))},this),0)},c.prototype.toggle=function(){var a=!0,b=this.$element.closest('[data-toggle="buttons"]');if(b.length){var c=this.$element.find("input");"radio"==c.prop("type")?(c.prop("checked")&&(a=!1),b.find(".active").removeClass("active"),this.$element.addClass("active")):"checkbox"==c.prop("type")&&(c.prop("checked")!==this.$element.hasClass("active")&&(a=!1),this.$element.toggleClass("active")),c.prop("checked",this.$element.hasClass("active")),a&&c.trigger("change")}else this.$element.attr("aria-pressed",!this.$element.hasClass("active")),this.$element.toggleClass("active")};var d=a.fn.button;a.fn.button=b,a.fn.button.Constructor=c,a.fn.button.noConflict=function(){return a.fn.button=d,this},a(document).on("click.bs.button.data-api",'[data-toggle^="button"]',function(c){var d=a(c.target);d.hasClass("btn")||(d=d.closest(".btn")),b.call(d,"toggle"),a(c.target).is('input[type="radio"]')||a(c.target).is('input[type="checkbox"]')||c.preventDefault()}).on("focus.bs.button.data-api blur.bs.button.data-api",'[data-toggle^="button"]',function(b){a(b.target).closest(".btn").toggleClass("focus",/^focus(in)?$/.test(b.type))})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.carousel"),f=a.extend({},c.DEFAULTS,d.data(),"object"==typeof b&&b),g="string"==typeof b?b:f.slide;e||d.data("bs.carousel",e=new c(this,f)),"number"==typeof b?e.to(b):g?e[g]():f.interval&&e.pause().cycle()})}var c=function(b,c){this.$element=a(b),this.$indicators=this.$element.find(".carousel-indicators"),this.options=c,this.paused=null,this.sliding=null,this.interval=null,this.$active=null,this.$items=null,this.options.keyboard&&this.$element.on("keydown.bs.carousel",a.proxy(this.keydown,this)),"hover"==this.options.pause&&!("ontouchstart"in document.documentElement)&&this.$element.on("mouseenter.bs.carousel",a.proxy(this.pause,this)).on("mouseleave.bs.carousel",a.proxy(this.cycle,this))};c.VERSION="3.3.5",c.TRANSITION_DURATION=600,c.DEFAULTS={interval:5e3,pause:"hover",wrap:!0,keyboard:!0},c.prototype.keydown=function(a){if(!/input|textarea/i.test(a.target.tagName)){switch(a.which){case 37:this.prev();break;case 39:this.next();break;default:return}a.preventDefault()}},c.prototype.cycle=function(b){return b||(this.paused=!1),this.interval&&clearInterval(this.interval),this.options.interval&&!this.paused&&(this.interval=setInterval(a.proxy(this.next,this),this.options.interval)),this},c.prototype.getItemIndex=function(a){return this.$items=a.parent().children(".item"),this.$items.index(a||this.$active)},c.prototype.getItemForDirection=function(a,b){var c=this.getItemIndex(b),d="prev"==a&&0===c||"next"==a&&c==this.$items.length-1;if(d&&!this.options.wrap)return b;var e="prev"==a?-1:1,f=(c+e)%this.$items.length;return this.$items.eq(f)},c.prototype.to=function(a){var b=this,c=this.getItemIndex(this.$active=this.$element.find(".item.active"));return a>this.$items.length-1||0>a?void 0:this.sliding?this.$element.one("slid.bs.carousel",function(){b.to(a)}):c==a?this.pause().cycle():this.slide(a>c?"next":"prev",this.$items.eq(a))},c.prototype.pause=function(b){return b||(this.paused=!0),this.$element.find(".next, .prev").length&&a.support.transition&&(this.$element.trigger(a.support.transition.end),this.cycle(!0)),this.interval=clearInterval(this.interval),this},c.prototype.next=function(){return this.sliding?void 0:this.slide("next")},c.prototype.prev=function(){return this.sliding?void 0:this.slide("prev")},c.prototype.slide=function(b,d){var e=this.$element.find(".item.active"),f=d||this.getItemForDirection(b,e),g=this.interval,h="next"==b?"left":"right",i=this;if(f.hasClass("active"))return this.sliding=!1;var j=f[0],k=a.Event("slide.bs.carousel",{relatedTarget:j,direction:h});if(this.$element.trigger(k),!k.isDefaultPrevented()){if(this.sliding=!0,g&&this.pause(),this.$indicators.length){this.$indicators.find(".active").removeClass("active");var l=a(this.$indicators.children()[this.getItemIndex(f)]);l&&l.addClass("active")}var m=a.Event("slid.bs.carousel",{relatedTarget:j,direction:h});return a.support.transition&&this.$element.hasClass("slide")?(f.addClass(b),f[0].offsetWidth,e.addClass(h),f.addClass(h),e.one("bsTransitionEnd",function(){f.removeClass([b,h].join(" ")).addClass("active"),e.removeClass(["active",h].join(" ")),i.sliding=!1,setTimeout(function(){i.$element.trigger(m)},0)}).emulateTransitionEnd(c.TRANSITION_DURATION)):(e.removeClass("active"),f.addClass("active"),this.sliding=!1,this.$element.trigger(m)),g&&this.cycle(),this}};var d=a.fn.carousel;a.fn.carousel=b,a.fn.carousel.Constructor=c,a.fn.carousel.noConflict=function(){return a.fn.carousel=d,this};var e=function(c){var d,e=a(this),f=a(e.attr("data-target")||(d=e.attr("href"))&&d.replace(/.*(?=#[^\s]+$)/,""));if(f.hasClass("carousel")){var g=a.extend({},f.data(),e.data()),h=e.attr("data-slide-to");h&&(g.interval=!1),b.call(f,g),h&&f.data("bs.carousel").to(h),c.preventDefault()}};a(document).on("click.bs.carousel.data-api","[data-slide]",e).on("click.bs.carousel.data-api","[data-slide-to]",e),a(window).on("load",function(){a('[data-ride="carousel"]').each(function(){var c=a(this);b.call(c,c.data())})})}(jQuery),+function(a){"use strict";function b(b){var c,d=b.attr("data-target")||(c=b.attr("href"))&&c.replace(/.*(?=#[^\s]+$)/,"");return a(d)}function c(b){return this.each(function(){var c=a(this),e=c.data("bs.collapse"),f=a.extend({},d.DEFAULTS,c.data(),"object"==typeof b&&b);!e&&f.toggle&&/show|hide/.test(b)&&(f.toggle=!1),e||c.data("bs.collapse",e=new d(this,f)),"string"==typeof b&&e[b]()})}var d=function(b,c){this.$element=a(b),this.options=a.extend({},d.DEFAULTS,c),this.$trigger=a('[data-toggle="collapse"][href="#'+b.id+'"],[data-toggle="collapse"][data-target="#'+b.id+'"]'),this.transitioning=null,this.options.parent?this.$parent=this.getParent():this.addAriaAndCollapsedClass(this.$element,this.$trigger),this.options.toggle&&this.toggle()};d.VERSION="3.3.5",d.TRANSITION_DURATION=350,d.DEFAULTS={toggle:!0},d.prototype.dimension=function(){var a=this.$element.hasClass("width");return a?"width":"height"},d.prototype.show=function(){if(!this.transitioning&&!this.$element.hasClass("in")){var b,e=this.$parent&&this.$parent.children(".panel").children(".in, .collapsing");if(!(e&&e.length&&(b=e.data("bs.collapse"),b&&b.transitioning))){var f=a.Event("show.bs.collapse");if(this.$element.trigger(f),!f.isDefaultPrevented()){e&&e.length&&(c.call(e,"hide"),b||e.data("bs.collapse",null));var g=this.dimension();this.$element.removeClass("collapse").addClass("collapsing")[g](0).attr("aria-expanded",!0),this.$trigger.removeClass("collapsed").attr("aria-expanded",!0),this.transitioning=1;var h=function(){this.$element.removeClass("collapsing").addClass("collapse in")[g](""),this.transitioning=0,this.$element.trigger("shown.bs.collapse")};if(!a.support.transition)return h.call(this);var i=a.camelCase(["scroll",g].join("-"));this.$element.one("bsTransitionEnd",a.proxy(h,this)).emulateTransitionEnd(d.TRANSITION_DURATION)[g](this.$element[0][i])}}}},d.prototype.hide=function(){if(!this.transitioning&&this.$element.hasClass("in")){var b=a.Event("hide.bs.collapse");if(this.$element.trigger(b),!b.isDefaultPrevented()){var c=this.dimension();this.$element[c](this.$element[c]())[0].offsetHeight,this.$element.addClass("collapsing").removeClass("collapse in").attr("aria-expanded",!1),this.$trigger.addClass("collapsed").attr("aria-expanded",!1),this.transitioning=1;var e=function(){this.transitioning=0,this.$element.removeClass("collapsing").addClass("collapse").trigger("hidden.bs.collapse")};return a.support.transition?void this.$element[c](0).one("bsTransitionEnd",a.proxy(e,this)).emulateTransitionEnd(d.TRANSITION_DURATION):e.call(this)}}},d.prototype.toggle=function(){this[this.$element.hasClass("in")?"hide":"show"]()},d.prototype.getParent=function(){return a(this.options.parent).find('[data-toggle="collapse"][data-parent="'+this.options.parent+'"]').each(a.proxy(function(c,d){var e=a(d);this.addAriaAndCollapsedClass(b(e),e)},this)).end()},d.prototype.addAriaAndCollapsedClass=function(a,b){var c=a.hasClass("in");a.attr("aria-expanded",c),b.toggleClass("collapsed",!c).attr("aria-expanded",c)};var e=a.fn.collapse;a.fn.collapse=c,a.fn.collapse.Constructor=d,a.fn.collapse.noConflict=function(){return a.fn.collapse=e,this},a(document).on("click.bs.collapse.data-api",'[data-toggle="collapse"]',function(d){var e=a(this);e.attr("data-target")||d.preventDefault();var f=b(e),g=f.data("bs.collapse"),h=g?"toggle":e.data();c.call(f,h)})}(jQuery),+function(a){"use strict";function b(b){var c=b.attr("data-target");c||(c=b.attr("href"),c=c&&/#[A-Za-z]/.test(c)&&c.replace(/.*(?=#[^\s]*$)/,""));var d=c&&a(c);return d&&d.length?d:b.parent()}function c(c){c&&3===c.which||(a(e).remove(),a(f).each(function(){var d=a(this),e=b(d),f={relatedTarget:this};e.hasClass("open")&&(c&&"click"==c.type&&/input|textarea/i.test(c.target.tagName)&&a.contains(e[0],c.target)||(e.trigger(c=a.Event("hide.bs.dropdown",f)),c.isDefaultPrevented()||(d.attr("aria-expanded","false"),e.removeClass("open").trigger("hidden.bs.dropdown",f))))}))}function d(b){return this.each(function(){var c=a(this),d=c.data("bs.dropdown");d||c.data("bs.dropdown",d=new g(this)),"string"==typeof b&&d[b].call(c)})}var e=".dropdown-backdrop",f='[data-toggle="dropdown"]',g=function(b){a(b).on("click.bs.dropdown",this.toggle)};g.VERSION="3.3.5",g.prototype.toggle=function(d){var e=a(this);if(!e.is(".disabled, :disabled")){var f=b(e),g=f.hasClass("open");if(c(),!g){"ontouchstart"in document.documentElement&&!f.closest(".navbar-nav").length&&a(document.createElement("div")).addClass("dropdown-backdrop").insertAfter(a(this)).on("click",c);var h={relatedTarget:this};if(f.trigger(d=a.Event("show.bs.dropdown",h)),d.isDefaultPrevented())return;e.trigger("focus").attr("aria-expanded","true"),f.toggleClass("open").trigger("shown.bs.dropdown",h)}return!1}},g.prototype.keydown=function(c){if(/(38|40|27|32)/.test(c.which)&&!/input|textarea/i.test(c.target.tagName)){var d=a(this);if(c.preventDefault(),c.stopPropagation(),!d.is(".disabled, :disabled")){var e=b(d),g=e.hasClass("open");if(!g&&27!=c.which||g&&27==c.which)return 27==c.which&&e.find(f).trigger("focus"),d.trigger("click");var h=" li:not(.disabled):visible a",i=e.find(".dropdown-menu"+h);if(i.length){var j=i.index(c.target);38==c.which&&j>0&&j--,40==c.which&&jdocument.documentElement.clientHeight;this.$element.css({paddingLeft:!this.bodyIsOverflowing&&a?this.scrollbarWidth:"",paddingRight:this.bodyIsOverflowing&&!a?this.scrollbarWidth:""})},c.prototype.resetAdjustments=function(){this.$element.css({paddingLeft:"",paddingRight:""})},c.prototype.checkScrollbar=function(){var a=window.innerWidth;if(!a){var b=document.documentElement.getBoundingClientRect();a=b.right-Math.abs(b.left)}this.bodyIsOverflowing=document.body.clientWidth
',trigger:"hover focus",title:"",delay:0,html:!1,container:!1,viewport:{selector:"body",padding:0}},c.prototype.init=function(b,c,d){if(this.enabled=!0,this.type=b,this.$element=a(c),this.options=this.getOptions(d),this.$viewport=this.options.viewport&&a(a.isFunction(this.options.viewport)?this.options.viewport.call(this,this.$element):this.options.viewport.selector||this.options.viewport),this.inState={click:!1,hover:!1,focus:!1},this.$element[0]instanceof document.constructor&&!this.options.selector)throw new Error("`selector` option must be specified when initializing "+this.type+" on the window.document object!");for(var e=this.options.trigger.split(" "),f=e.length;f--;){var g=e[f];if("click"==g)this.$element.on("click."+this.type,this.options.selector,a.proxy(this.toggle,this));else if("manual"!=g){var h="hover"==g?"mouseenter":"focusin",i="hover"==g?"mouseleave":"focusout";this.$element.on(h+"."+this.type,this.options.selector,a.proxy(this.enter,this)),this.$element.on(i+"."+this.type,this.options.selector,a.proxy(this.leave,this))}}this.options.selector?this._options=a.extend({},this.options,{trigger:"manual",selector:""}):this.fixTitle()},c.prototype.getDefaults=function(){return c.DEFAULTS},c.prototype.getOptions=function(b){return b=a.extend({},this.getDefaults(),this.$element.data(),b),b.delay&&"number"==typeof b.delay&&(b.delay={show:b.delay,hide:b.delay}),b},c.prototype.getDelegateOptions=function(){var b={},c=this.getDefaults();return this._options&&a.each(this._options,function(a,d){c[a]!=d&&(b[a]=d)}),b},c.prototype.enter=function(b){var c=b instanceof this.constructor?b:a(b.currentTarget).data("bs."+this.type);return c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c)),b instanceof a.Event&&(c.inState["focusin"==b.type?"focus":"hover"]=!0),c.tip().hasClass("in")||"in"==c.hoverState?void(c.hoverState="in"):(clearTimeout(c.timeout),c.hoverState="in",c.options.delay&&c.options.delay.show?void(c.timeout=setTimeout(function(){"in"==c.hoverState&&c.show()},c.options.delay.show)):c.show())},c.prototype.isInStateTrue=function(){for(var a in this.inState)if(this.inState[a])return!0;return!1},c.prototype.leave=function(b){var c=b instanceof this.constructor?b:a(b.currentTarget).data("bs."+this.type);return c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c)),b instanceof a.Event&&(c.inState["focusout"==b.type?"focus":"hover"]=!1),c.isInStateTrue()?void 0:(clearTimeout(c.timeout),c.hoverState="out",c.options.delay&&c.options.delay.hide?void(c.timeout=setTimeout(function(){"out"==c.hoverState&&c.hide()},c.options.delay.hide)):c.hide())},c.prototype.show=function(){var b=a.Event("show.bs."+this.type);if(this.hasContent()&&this.enabled){this.$element.trigger(b);var d=a.contains(this.$element[0].ownerDocument.documentElement,this.$element[0]);if(b.isDefaultPrevented()||!d)return;var e=this,f=this.tip(),g=this.getUID(this.type);this.setContent(),f.attr("id",g),this.$element.attr("aria-describedby",g),this.options.animation&&f.addClass("fade");var h="function"==typeof this.options.placement?this.options.placement.call(this,f[0],this.$element[0]):this.options.placement,i=/\s?auto?\s?/i,j=i.test(h);j&&(h=h.replace(i,"")||"top"),f.detach().css({top:0,left:0,display:"block"}).addClass(h).data("bs."+this.type,this),this.options.container?f.appendTo(this.options.container):f.insertAfter(this.$element),this.$element.trigger("inserted.bs."+this.type);var k=this.getPosition(),l=f[0].offsetWidth,m=f[0].offsetHeight;if(j){var n=h,o=this.getPosition(this.$viewport);h="bottom"==h&&k.bottom+m>o.bottom?"top":"top"==h&&k.top-mo.width?"left":"left"==h&&k.left-lg.top+g.height&&(e.top=g.top+g.height-i)}else{var j=b.left-f,k=b.left+f+c;jg.right&&(e.left=g.left+g.width-k)}return e},c.prototype.getTitle=function(){var a,b=this.$element,c=this.options;return a=b.attr("data-original-title")||("function"==typeof c.title?c.title.call(b[0]):c.title)},c.prototype.getUID=function(a){do a+=~~(1e6*Math.random());while(document.getElementById(a));return a},c.prototype.tip=function(){if(!this.$tip&&(this.$tip=a(this.options.template),1!=this.$tip.length))throw new Error(this.type+" `template` option must consist of exactly 1 top-level element!");return this.$tip},c.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".tooltip-arrow")},c.prototype.enable=function(){this.enabled=!0},c.prototype.disable=function(){this.enabled=!1},c.prototype.toggleEnabled=function(){this.enabled=!this.enabled},c.prototype.toggle=function(b){var c=this;b&&(c=a(b.currentTarget).data("bs."+this.type),c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c))),b?(c.inState.click=!c.inState.click,c.isInStateTrue()?c.enter(c):c.leave(c)):c.tip().hasClass("in")?c.leave(c):c.enter(c)},c.prototype.destroy=function(){var a=this;clearTimeout(this.timeout),this.hide(function(){a.$element.off("."+a.type).removeData("bs."+a.type),a.$tip&&a.$tip.detach(),a.$tip=null,a.$arrow=null,a.$viewport=null})};var d=a.fn.tooltip;a.fn.tooltip=b,a.fn.tooltip.Constructor=c,a.fn.tooltip.noConflict=function(){return a.fn.tooltip=d,this}}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.popover"),f="object"==typeof b&&b;(e||!/destroy|hide/.test(b))&&(e||d.data("bs.popover",e=new c(this,f)),"string"==typeof b&&e[b]())})}var c=function(a,b){this.init("popover",a,b)};if(!a.fn.tooltip)throw new Error("Popover requires tooltip.js");c.VERSION="3.3.5",c.DEFAULTS=a.extend({},a.fn.tooltip.Constructor.DEFAULTS,{placement:"right",trigger:"click",content:"",template:''}),c.prototype=a.extend({},a.fn.tooltip.Constructor.prototype),c.prototype.constructor=c,c.prototype.getDefaults=function(){return c.DEFAULTS},c.prototype.setContent=function(){var a=this.tip(),b=this.getTitle(),c=this.getContent();a.find(".popover-title")[this.options.html?"html":"text"](b),a.find(".popover-content").children().detach().end()[this.options.html?"string"==typeof c?"html":"append":"text"](c),a.removeClass("fade top bottom left right in"),a.find(".popover-title").html()||a.find(".popover-title").hide()},c.prototype.hasContent=function(){return this.getTitle()||this.getContent()},c.prototype.getContent=function(){var a=this.$element,b=this.options;return a.attr("data-content")||("function"==typeof b.content?b.content.call(a[0]):b.content)},c.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".arrow")};var d=a.fn.popover;a.fn.popover=b,a.fn.popover.Constructor=c,a.fn.popover.noConflict=function(){return a.fn.popover=d,this}}(jQuery),+function(a){"use strict";function b(c,d){this.$body=a(document.body),this.$scrollElement=a(a(c).is(document.body)?window:c),this.options=a.extend({},b.DEFAULTS,d),this.selector=(this.options.target||"")+" .nav li > a",this.offsets=[],this.targets=[],this.activeTarget=null,this.scrollHeight=0,this.$scrollElement.on("scroll.bs.scrollspy",a.proxy(this.process,this)),this.refresh(),this.process()}function c(c){return this.each(function(){var d=a(this),e=d.data("bs.scrollspy"),f="object"==typeof c&&c;e||d.data("bs.scrollspy",e=new b(this,f)),"string"==typeof c&&e[c]()})}b.VERSION="3.3.5",b.DEFAULTS={offset:10},b.prototype.getScrollHeight=function(){return this.$scrollElement[0].scrollHeight||Math.max(this.$body[0].scrollHeight,document.documentElement.scrollHeight)},b.prototype.refresh=function(){var b=this,c="offset",d=0;this.offsets=[],this.targets=[],this.scrollHeight=this.getScrollHeight(),a.isWindow(this.$scrollElement[0])||(c="position",d=this.$scrollElement.scrollTop()),this.$body.find(this.selector).map(function(){var b=a(this),e=b.data("target")||b.attr("href"),f=/^#./.test(e)&&a(e);return f&&f.length&&f.is(":visible")&&[[f[c]().top+d,e]]||null}).sort(function(a,b){return a[0]-b[0]}).each(function(){b.offsets.push(this[0]),b.targets.push(this[1])})},b.prototype.process=function(){var a,b=this.$scrollElement.scrollTop()+this.options.offset,c=this.getScrollHeight(),d=this.options.offset+c-this.$scrollElement.height(),e=this.offsets,f=this.targets,g=this.activeTarget;if(this.scrollHeight!=c&&this.refresh(),b>=d)return g!=(a=f[f.length-1])&&this.activate(a);if(g&&b=e[a]&&(void 0===e[a+1]||b .dropdown-menu > .active").removeClass("active").end().find('[data-toggle="tab"]').attr("aria-expanded",!1),b.addClass("active").find('[data-toggle="tab"]').attr("aria-expanded",!0),h?(b[0].offsetWidth,b.addClass("in")):b.removeClass("fade"),b.parent(".dropdown-menu").length&&b.closest("li.dropdown").addClass("active").end().find('[data-toggle="tab"]').attr("aria-expanded",!0),e&&e()}var g=d.find("> .active"),h=e&&a.support.transition&&(g.length&&g.hasClass("fade")||!!d.find("> .fade").length);g.length&&h?g.one("bsTransitionEnd",f).emulateTransitionEnd(c.TRANSITION_DURATION):f(),g.removeClass("in")};var d=a.fn.tab;a.fn.tab=b,a.fn.tab.Constructor=c,a.fn.tab.noConflict=function(){return a.fn.tab=d,this};var e=function(c){c.preventDefault(),b.call(a(this),"show")};a(document).on("click.bs.tab.data-api",'[data-toggle="tab"]',e).on("click.bs.tab.data-api",'[data-toggle="pill"]',e)}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.affix"),f="object"==typeof b&&b;e||d.data("bs.affix",e=new c(this,f)),"string"==typeof b&&e[b]()})}var c=function(b,d){this.options=a.extend({},c.DEFAULTS,d),this.$target=a(this.options.target).on("scroll.bs.affix.data-api",a.proxy(this.checkPosition,this)).on("click.bs.affix.data-api",a.proxy(this.checkPositionWithEventLoop,this)),this.$element=a(b),this.affixed=null,this.unpin=null,this.pinnedOffset=null,this.checkPosition()};c.VERSION="3.3.5",c.RESET="affix affix-top affix-bottom",c.DEFAULTS={offset:0,target:window},c.prototype.getState=function(a,b,c,d){var e=this.$target.scrollTop(),f=this.$element.offset(),g=this.$target.height();if(null!=c&&"top"==this.affixed)return c>e?"top":!1;if("bottom"==this.affixed)return null!=c?e+this.unpin<=f.top?!1:"bottom":a-d>=e+g?!1:"bottom";var h=null==this.affixed,i=h?e:f.top,j=h?g:b;return null!=c&&c>=e?"top":null!=d&&i+j>=a-d?"bottom":!1},c.prototype.getPinnedOffset=function(){if(this.pinnedOffset)return this.pinnedOffset;this.$element.removeClass(c.RESET).addClass("affix");var a=this.$target.scrollTop(),b=this.$element.offset();return this.pinnedOffset=b.top-a},c.prototype.checkPositionWithEventLoop=function(){setTimeout(a.proxy(this.checkPosition,this),1)},c.prototype.checkPosition=function(){if(this.$element.is(":visible")){var b=this.$element.height(),d=this.options.offset,e=d.top,f=d.bottom,g=Math.max(a(document).height(),a(document.body).height());"object"!=typeof d&&(f=e=d),"function"==typeof e&&(e=d.top(this.$element)),"function"==typeof f&&(f=d.bottom(this.$element));var h=this.getState(g,b,e,f);if(this.affixed!=h){null!=this.unpin&&this.$element.css("top","");var i="affix"+(h?"-"+h:""),j=a.Event(i+".bs.affix");if(this.$element.trigger(j),j.isDefaultPrevented())return;this.affixed=h,this.unpin="bottom"==h?this.getPinnedOffset():null,this.$element.removeClass(c.RESET).addClass(i).trigger(i.replace("affix","affixed")+".bs.affix")}"bottom"==h&&this.$element.offset({top:g-b-f})}};var d=a.fn.affix;a.fn.affix=b,a.fn.affix.Constructor=c,a.fn.affix.noConflict=function(){return a.fn.affix=d,this},a(window).on("load",function(){a('[data-spy="affix"]').each(function(){var c=a(this),d=c.data();d.offset=d.offset||{},null!=d.offsetBottom&&(d.offset.bottom=d.offsetBottom),null!=d.offsetTop&&(d.offset.top=d.offsetTop),b.call(c,d)})})}(jQuery); \ No newline at end of file diff --git a/lab-structure/src/themes/green-icon/js/custom.js b/lab-structure/src/themes/green-icon/js/custom.js deleted file mode 100755 index b1f77b36..00000000 --- a/lab-structure/src/themes/green-icon/js/custom.js +++ /dev/null @@ -1,37 +0,0 @@ -/*! - * Start Bootstrap - Freelancer Bootstrap Theme (http://startbootstrap.com) - * Code licensed under the Apache License v2.0. - * For details, see http://www.apache.org/licenses/LICENSE-2.0. - */ - -// jQuery for page scrolling feature - requires jQuery Easing plugin -$(function() { - $('body').on('click', '.page-scroll a', function(event) { - var $anchor = $(this); - $('html, body').stop().animate({ - scrollTop: $($anchor.attr('href')).offset().top - }, 1500, 'easeInOutExpo'); - event.preventDefault(); - }); -}); - -// Floating label headings for the contact form -$(function() { - $("body").on("input propertychange", ".floating-label-form-group", function(e) { - $(this).toggleClass("floating-label-form-group-with-value", !! $(e.target).val()); - }).on("focus", ".floating-label-form-group", function() { - $(this).addClass("floating-label-form-group-with-focus"); - }).on("blur", ".floating-label-form-group", function() { - $(this).removeClass("floating-label-form-group-with-focus"); - }); -}); - -// Highlight the top nav as scrolling occurs -$('body').scrollspy({ - target: '.navbar-fixed-top' -}) - -// Closes the Responsive Menu on Menu Item Click -$('.navbar-collapse ul li a').click(function() { - $('.navbar-toggle:visible').click(); -}); diff --git a/lab-structure/src/themes/green-icon/js/jquery.js b/lab-structure/src/themes/green-icon/js/jquery.js deleted file mode 100755 index d1608e37..00000000 --- a/lab-structure/src/themes/green-icon/js/jquery.js +++ /dev/null @@ -1,4 +0,0 @@ -/*! jQuery v1.11.1 | (c) 2005, 2014 jQuery Foundation, Inc. | jquery.org/license */ -!function(a,b){"object"==typeof module&&"object"==typeof module.exports?module.exports=a.document?b(a,!0):function(a){if(!a.document)throw new Error("jQuery requires a window with a document");return b(a)}:b(a)}("undefined"!=typeof window?window:this,function(a,b){var c=[],d=c.slice,e=c.concat,f=c.push,g=c.indexOf,h={},i=h.toString,j=h.hasOwnProperty,k={},l="1.11.1",m=function(a,b){return new m.fn.init(a,b)},n=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,o=/^-ms-/,p=/-([\da-z])/gi,q=function(a,b){return b.toUpperCase()};m.fn=m.prototype={jquery:l,constructor:m,selector:"",length:0,toArray:function(){return d.call(this)},get:function(a){return null!=a?0>a?this[a+this.length]:this[a]:d.call(this)},pushStack:function(a){var b=m.merge(this.constructor(),a);return b.prevObject=this,b.context=this.context,b},each:function(a,b){return m.each(this,a,b)},map:function(a){return this.pushStack(m.map(this,function(b,c){return a.call(b,c,b)}))},slice:function(){return this.pushStack(d.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(a){var b=this.length,c=+a+(0>a?b:0);return this.pushStack(c>=0&&b>c?[this[c]]:[])},end:function(){return this.prevObject||this.constructor(null)},push:f,sort:c.sort,splice:c.splice},m.extend=m.fn.extend=function(){var a,b,c,d,e,f,g=arguments[0]||{},h=1,i=arguments.length,j=!1;for("boolean"==typeof g&&(j=g,g=arguments[h]||{},h++),"object"==typeof g||m.isFunction(g)||(g={}),h===i&&(g=this,h--);i>h;h++)if(null!=(e=arguments[h]))for(d in e)a=g[d],c=e[d],g!==c&&(j&&c&&(m.isPlainObject(c)||(b=m.isArray(c)))?(b?(b=!1,f=a&&m.isArray(a)?a:[]):f=a&&m.isPlainObject(a)?a:{},g[d]=m.extend(j,f,c)):void 0!==c&&(g[d]=c));return g},m.extend({expando:"jQuery"+(l+Math.random()).replace(/\D/g,""),isReady:!0,error:function(a){throw new Error(a)},noop:function(){},isFunction:function(a){return"function"===m.type(a)},isArray:Array.isArray||function(a){return"array"===m.type(a)},isWindow:function(a){return null!=a&&a==a.window},isNumeric:function(a){return!m.isArray(a)&&a-parseFloat(a)>=0},isEmptyObject:function(a){var b;for(b in a)return!1;return!0},isPlainObject:function(a){var b;if(!a||"object"!==m.type(a)||a.nodeType||m.isWindow(a))return!1;try{if(a.constructor&&!j.call(a,"constructor")&&!j.call(a.constructor.prototype,"isPrototypeOf"))return!1}catch(c){return!1}if(k.ownLast)for(b in a)return j.call(a,b);for(b in a);return void 0===b||j.call(a,b)},type:function(a){return null==a?a+"":"object"==typeof a||"function"==typeof a?h[i.call(a)]||"object":typeof a},globalEval:function(b){b&&m.trim(b)&&(a.execScript||function(b){a.eval.call(a,b)})(b)},camelCase:function(a){return a.replace(o,"ms-").replace(p,q)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toLowerCase()===b.toLowerCase()},each:function(a,b,c){var d,e=0,f=a.length,g=r(a);if(c){if(g){for(;f>e;e++)if(d=b.apply(a[e],c),d===!1)break}else for(e in a)if(d=b.apply(a[e],c),d===!1)break}else if(g){for(;f>e;e++)if(d=b.call(a[e],e,a[e]),d===!1)break}else for(e in a)if(d=b.call(a[e],e,a[e]),d===!1)break;return a},trim:function(a){return null==a?"":(a+"").replace(n,"")},makeArray:function(a,b){var c=b||[];return null!=a&&(r(Object(a))?m.merge(c,"string"==typeof a?[a]:a):f.call(c,a)),c},inArray:function(a,b,c){var d;if(b){if(g)return g.call(b,a,c);for(d=b.length,c=c?0>c?Math.max(0,d+c):c:0;d>c;c++)if(c in b&&b[c]===a)return c}return-1},merge:function(a,b){var c=+b.length,d=0,e=a.length;while(c>d)a[e++]=b[d++];if(c!==c)while(void 0!==b[d])a[e++]=b[d++];return a.length=e,a},grep:function(a,b,c){for(var d,e=[],f=0,g=a.length,h=!c;g>f;f++)d=!b(a[f],f),d!==h&&e.push(a[f]);return e},map:function(a,b,c){var d,f=0,g=a.length,h=r(a),i=[];if(h)for(;g>f;f++)d=b(a[f],f,c),null!=d&&i.push(d);else for(f in a)d=b(a[f],f,c),null!=d&&i.push(d);return e.apply([],i)},guid:1,proxy:function(a,b){var c,e,f;return"string"==typeof b&&(f=a[b],b=a,a=f),m.isFunction(a)?(c=d.call(arguments,2),e=function(){return a.apply(b||this,c.concat(d.call(arguments)))},e.guid=a.guid=a.guid||m.guid++,e):void 0},now:function(){return+new Date},support:k}),m.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(a,b){h["[object "+b+"]"]=b.toLowerCase()});function r(a){var b=a.length,c=m.type(a);return"function"===c||m.isWindow(a)?!1:1===a.nodeType&&b?!0:"array"===c||0===b||"number"==typeof b&&b>0&&b-1 in a}var s=function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u="sizzle"+-new Date,v=a.document,w=0,x=0,y=gb(),z=gb(),A=gb(),B=function(a,b){return a===b&&(l=!0),0},C="undefined",D=1<<31,E={}.hasOwnProperty,F=[],G=F.pop,H=F.push,I=F.push,J=F.slice,K=F.indexOf||function(a){for(var b=0,c=this.length;c>b;b++)if(this[b]===a)return b;return-1},L="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",M="[\\x20\\t\\r\\n\\f]",N="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",O=N.replace("w","w#"),P="\\["+M+"*("+N+")(?:"+M+"*([*^$|!~]?=)"+M+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+O+"))|)"+M+"*\\]",Q=":("+N+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+P+")*)|.*)\\)|)",R=new RegExp("^"+M+"+|((?:^|[^\\\\])(?:\\\\.)*)"+M+"+$","g"),S=new RegExp("^"+M+"*,"+M+"*"),T=new RegExp("^"+M+"*([>+~]|"+M+")"+M+"*"),U=new RegExp("="+M+"*([^\\]'\"]*?)"+M+"*\\]","g"),V=new RegExp(Q),W=new RegExp("^"+O+"$"),X={ID:new RegExp("^#("+N+")"),CLASS:new RegExp("^\\.("+N+")"),TAG:new RegExp("^("+N.replace("w","w*")+")"),ATTR:new RegExp("^"+P),PSEUDO:new RegExp("^"+Q),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+L+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Y=/^(?:input|select|textarea|button)$/i,Z=/^h\d$/i,$=/^[^{]+\{\s*\[native \w/,_=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ab=/[+~]/,bb=/'|\\/g,cb=new RegExp("\\\\([\\da-f]{1,6}"+M+"?|("+M+")|.)","ig"),db=function(a,b,c){var d="0x"+b-65536;return d!==d||c?b:0>d?String.fromCharCode(d+65536):String.fromCharCode(d>>10|55296,1023&d|56320)};try{I.apply(F=J.call(v.childNodes),v.childNodes),F[v.childNodes.length].nodeType}catch(eb){I={apply:F.length?function(a,b){H.apply(a,J.call(b))}:function(a,b){var c=a.length,d=0;while(a[c++]=b[d++]);a.length=c-1}}}function fb(a,b,d,e){var f,h,j,k,l,o,r,s,w,x;if((b?b.ownerDocument||b:v)!==n&&m(b),b=b||n,d=d||[],!a||"string"!=typeof a)return d;if(1!==(k=b.nodeType)&&9!==k)return[];if(p&&!e){if(f=_.exec(a))if(j=f[1]){if(9===k){if(h=b.getElementById(j),!h||!h.parentNode)return d;if(h.id===j)return d.push(h),d}else if(b.ownerDocument&&(h=b.ownerDocument.getElementById(j))&&t(b,h)&&h.id===j)return d.push(h),d}else{if(f[2])return I.apply(d,b.getElementsByTagName(a)),d;if((j=f[3])&&c.getElementsByClassName&&b.getElementsByClassName)return I.apply(d,b.getElementsByClassName(j)),d}if(c.qsa&&(!q||!q.test(a))){if(s=r=u,w=b,x=9===k&&a,1===k&&"object"!==b.nodeName.toLowerCase()){o=g(a),(r=b.getAttribute("id"))?s=r.replace(bb,"\\$&"):b.setAttribute("id",s),s="[id='"+s+"'] ",l=o.length;while(l--)o[l]=s+qb(o[l]);w=ab.test(a)&&ob(b.parentNode)||b,x=o.join(",")}if(x)try{return I.apply(d,w.querySelectorAll(x)),d}catch(y){}finally{r||b.removeAttribute("id")}}}return i(a.replace(R,"$1"),b,d,e)}function gb(){var a=[];function b(c,e){return a.push(c+" ")>d.cacheLength&&delete b[a.shift()],b[c+" "]=e}return b}function hb(a){return a[u]=!0,a}function ib(a){var b=n.createElement("div");try{return!!a(b)}catch(c){return!1}finally{b.parentNode&&b.parentNode.removeChild(b),b=null}}function jb(a,b){var c=a.split("|"),e=a.length;while(e--)d.attrHandle[c[e]]=b}function kb(a,b){var c=b&&a,d=c&&1===a.nodeType&&1===b.nodeType&&(~b.sourceIndex||D)-(~a.sourceIndex||D);if(d)return d;if(c)while(c=c.nextSibling)if(c===b)return-1;return a?1:-1}function lb(a){return function(b){var c=b.nodeName.toLowerCase();return"input"===c&&b.type===a}}function mb(a){return function(b){var c=b.nodeName.toLowerCase();return("input"===c||"button"===c)&&b.type===a}}function nb(a){return hb(function(b){return b=+b,hb(function(c,d){var e,f=a([],c.length,b),g=f.length;while(g--)c[e=f[g]]&&(c[e]=!(d[e]=c[e]))})})}function ob(a){return a&&typeof a.getElementsByTagName!==C&&a}c=fb.support={},f=fb.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return b?"HTML"!==b.nodeName:!1},m=fb.setDocument=function(a){var b,e=a?a.ownerDocument||a:v,g=e.defaultView;return e!==n&&9===e.nodeType&&e.documentElement?(n=e,o=e.documentElement,p=!f(e),g&&g!==g.top&&(g.addEventListener?g.addEventListener("unload",function(){m()},!1):g.attachEvent&&g.attachEvent("onunload",function(){m()})),c.attributes=ib(function(a){return a.className="i",!a.getAttribute("className")}),c.getElementsByTagName=ib(function(a){return a.appendChild(e.createComment("")),!a.getElementsByTagName("*").length}),c.getElementsByClassName=$.test(e.getElementsByClassName)&&ib(function(a){return a.innerHTML="
",a.firstChild.className="i",2===a.getElementsByClassName("i").length}),c.getById=ib(function(a){return o.appendChild(a).id=u,!e.getElementsByName||!e.getElementsByName(u).length}),c.getById?(d.find.ID=function(a,b){if(typeof b.getElementById!==C&&p){var c=b.getElementById(a);return c&&c.parentNode?[c]:[]}},d.filter.ID=function(a){var b=a.replace(cb,db);return function(a){return a.getAttribute("id")===b}}):(delete d.find.ID,d.filter.ID=function(a){var b=a.replace(cb,db);return function(a){var c=typeof a.getAttributeNode!==C&&a.getAttributeNode("id");return c&&c.value===b}}),d.find.TAG=c.getElementsByTagName?function(a,b){return typeof b.getElementsByTagName!==C?b.getElementsByTagName(a):void 0}:function(a,b){var c,d=[],e=0,f=b.getElementsByTagName(a);if("*"===a){while(c=f[e++])1===c.nodeType&&d.push(c);return d}return f},d.find.CLASS=c.getElementsByClassName&&function(a,b){return typeof b.getElementsByClassName!==C&&p?b.getElementsByClassName(a):void 0},r=[],q=[],(c.qsa=$.test(e.querySelectorAll))&&(ib(function(a){a.innerHTML="",a.querySelectorAll("[msallowclip^='']").length&&q.push("[*^$]="+M+"*(?:''|\"\")"),a.querySelectorAll("[selected]").length||q.push("\\["+M+"*(?:value|"+L+")"),a.querySelectorAll(":checked").length||q.push(":checked")}),ib(function(a){var b=e.createElement("input");b.setAttribute("type","hidden"),a.appendChild(b).setAttribute("name","D"),a.querySelectorAll("[name=d]").length&&q.push("name"+M+"*[*^$|!~]?="),a.querySelectorAll(":enabled").length||q.push(":enabled",":disabled"),a.querySelectorAll("*,:x"),q.push(",.*:")})),(c.matchesSelector=$.test(s=o.matches||o.webkitMatchesSelector||o.mozMatchesSelector||o.oMatchesSelector||o.msMatchesSelector))&&ib(function(a){c.disconnectedMatch=s.call(a,"div"),s.call(a,"[s!='']:x"),r.push("!=",Q)}),q=q.length&&new RegExp(q.join("|")),r=r.length&&new RegExp(r.join("|")),b=$.test(o.compareDocumentPosition),t=b||$.test(o.contains)?function(a,b){var c=9===a.nodeType?a.documentElement:a,d=b&&b.parentNode;return a===d||!(!d||1!==d.nodeType||!(c.contains?c.contains(d):a.compareDocumentPosition&&16&a.compareDocumentPosition(d)))}:function(a,b){if(b)while(b=b.parentNode)if(b===a)return!0;return!1},B=b?function(a,b){if(a===b)return l=!0,0;var d=!a.compareDocumentPosition-!b.compareDocumentPosition;return d?d:(d=(a.ownerDocument||a)===(b.ownerDocument||b)?a.compareDocumentPosition(b):1,1&d||!c.sortDetached&&b.compareDocumentPosition(a)===d?a===e||a.ownerDocument===v&&t(v,a)?-1:b===e||b.ownerDocument===v&&t(v,b)?1:k?K.call(k,a)-K.call(k,b):0:4&d?-1:1)}:function(a,b){if(a===b)return l=!0,0;var c,d=0,f=a.parentNode,g=b.parentNode,h=[a],i=[b];if(!f||!g)return a===e?-1:b===e?1:f?-1:g?1:k?K.call(k,a)-K.call(k,b):0;if(f===g)return kb(a,b);c=a;while(c=c.parentNode)h.unshift(c);c=b;while(c=c.parentNode)i.unshift(c);while(h[d]===i[d])d++;return d?kb(h[d],i[d]):h[d]===v?-1:i[d]===v?1:0},e):n},fb.matches=function(a,b){return fb(a,null,null,b)},fb.matchesSelector=function(a,b){if((a.ownerDocument||a)!==n&&m(a),b=b.replace(U,"='$1']"),!(!c.matchesSelector||!p||r&&r.test(b)||q&&q.test(b)))try{var d=s.call(a,b);if(d||c.disconnectedMatch||a.document&&11!==a.document.nodeType)return d}catch(e){}return fb(b,n,null,[a]).length>0},fb.contains=function(a,b){return(a.ownerDocument||a)!==n&&m(a),t(a,b)},fb.attr=function(a,b){(a.ownerDocument||a)!==n&&m(a);var e=d.attrHandle[b.toLowerCase()],f=e&&E.call(d.attrHandle,b.toLowerCase())?e(a,b,!p):void 0;return void 0!==f?f:c.attributes||!p?a.getAttribute(b):(f=a.getAttributeNode(b))&&f.specified?f.value:null},fb.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)},fb.uniqueSort=function(a){var b,d=[],e=0,f=0;if(l=!c.detectDuplicates,k=!c.sortStable&&a.slice(0),a.sort(B),l){while(b=a[f++])b===a[f]&&(e=d.push(f));while(e--)a.splice(d[e],1)}return k=null,a},e=fb.getText=function(a){var b,c="",d=0,f=a.nodeType;if(f){if(1===f||9===f||11===f){if("string"==typeof a.textContent)return a.textContent;for(a=a.firstChild;a;a=a.nextSibling)c+=e(a)}else if(3===f||4===f)return a.nodeValue}else while(b=a[d++])c+=e(b);return c},d=fb.selectors={cacheLength:50,createPseudo:hb,match:X,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(a){return a[1]=a[1].replace(cb,db),a[3]=(a[3]||a[4]||a[5]||"").replace(cb,db),"~="===a[2]&&(a[3]=" "+a[3]+" "),a.slice(0,4)},CHILD:function(a){return a[1]=a[1].toLowerCase(),"nth"===a[1].slice(0,3)?(a[3]||fb.error(a[0]),a[4]=+(a[4]?a[5]+(a[6]||1):2*("even"===a[3]||"odd"===a[3])),a[5]=+(a[7]+a[8]||"odd"===a[3])):a[3]&&fb.error(a[0]),a},PSEUDO:function(a){var b,c=!a[6]&&a[2];return X.CHILD.test(a[0])?null:(a[3]?a[2]=a[4]||a[5]||"":c&&V.test(c)&&(b=g(c,!0))&&(b=c.indexOf(")",c.length-b)-c.length)&&(a[0]=a[0].slice(0,b),a[2]=c.slice(0,b)),a.slice(0,3))}},filter:{TAG:function(a){var b=a.replace(cb,db).toLowerCase();return"*"===a?function(){return!0}:function(a){return a.nodeName&&a.nodeName.toLowerCase()===b}},CLASS:function(a){var b=y[a+" "];return b||(b=new RegExp("(^|"+M+")"+a+"("+M+"|$)"))&&y(a,function(a){return b.test("string"==typeof a.className&&a.className||typeof a.getAttribute!==C&&a.getAttribute("class")||"")})},ATTR:function(a,b,c){return function(d){var e=fb.attr(d,a);return null==e?"!="===b:b?(e+="","="===b?e===c:"!="===b?e!==c:"^="===b?c&&0===e.indexOf(c):"*="===b?c&&e.indexOf(c)>-1:"$="===b?c&&e.slice(-c.length)===c:"~="===b?(" "+e+" ").indexOf(c)>-1:"|="===b?e===c||e.slice(0,c.length+1)===c+"-":!1):!0}},CHILD:function(a,b,c,d,e){var f="nth"!==a.slice(0,3),g="last"!==a.slice(-4),h="of-type"===b;return 1===d&&0===e?function(a){return!!a.parentNode}:function(b,c,i){var j,k,l,m,n,o,p=f!==g?"nextSibling":"previousSibling",q=b.parentNode,r=h&&b.nodeName.toLowerCase(),s=!i&&!h;if(q){if(f){while(p){l=b;while(l=l[p])if(h?l.nodeName.toLowerCase()===r:1===l.nodeType)return!1;o=p="only"===a&&!o&&"nextSibling"}return!0}if(o=[g?q.firstChild:q.lastChild],g&&s){k=q[u]||(q[u]={}),j=k[a]||[],n=j[0]===w&&j[1],m=j[0]===w&&j[2],l=n&&q.childNodes[n];while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if(1===l.nodeType&&++m&&l===b){k[a]=[w,n,m];break}}else if(s&&(j=(b[u]||(b[u]={}))[a])&&j[0]===w)m=j[1];else while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if((h?l.nodeName.toLowerCase()===r:1===l.nodeType)&&++m&&(s&&((l[u]||(l[u]={}))[a]=[w,m]),l===b))break;return m-=e,m===d||m%d===0&&m/d>=0}}},PSEUDO:function(a,b){var c,e=d.pseudos[a]||d.setFilters[a.toLowerCase()]||fb.error("unsupported pseudo: "+a);return e[u]?e(b):e.length>1?(c=[a,a,"",b],d.setFilters.hasOwnProperty(a.toLowerCase())?hb(function(a,c){var d,f=e(a,b),g=f.length;while(g--)d=K.call(a,f[g]),a[d]=!(c[d]=f[g])}):function(a){return e(a,0,c)}):e}},pseudos:{not:hb(function(a){var b=[],c=[],d=h(a.replace(R,"$1"));return d[u]?hb(function(a,b,c,e){var f,g=d(a,null,e,[]),h=a.length;while(h--)(f=g[h])&&(a[h]=!(b[h]=f))}):function(a,e,f){return b[0]=a,d(b,null,f,c),!c.pop()}}),has:hb(function(a){return function(b){return fb(a,b).length>0}}),contains:hb(function(a){return function(b){return(b.textContent||b.innerText||e(b)).indexOf(a)>-1}}),lang:hb(function(a){return W.test(a||"")||fb.error("unsupported lang: "+a),a=a.replace(cb,db).toLowerCase(),function(b){var c;do if(c=p?b.lang:b.getAttribute("xml:lang")||b.getAttribute("lang"))return c=c.toLowerCase(),c===a||0===c.indexOf(a+"-");while((b=b.parentNode)&&1===b.nodeType);return!1}}),target:function(b){var c=a.location&&a.location.hash;return c&&c.slice(1)===b.id},root:function(a){return a===o},focus:function(a){return a===n.activeElement&&(!n.hasFocus||n.hasFocus())&&!!(a.type||a.href||~a.tabIndex)},enabled:function(a){return a.disabled===!1},disabled:function(a){return a.disabled===!0},checked:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&!!a.checked||"option"===b&&!!a.selected},selected:function(a){return a.parentNode&&a.parentNode.selectedIndex,a.selected===!0},empty:function(a){for(a=a.firstChild;a;a=a.nextSibling)if(a.nodeType<6)return!1;return!0},parent:function(a){return!d.pseudos.empty(a)},header:function(a){return Z.test(a.nodeName)},input:function(a){return Y.test(a.nodeName)},button:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&"button"===a.type||"button"===b},text:function(a){var b;return"input"===a.nodeName.toLowerCase()&&"text"===a.type&&(null==(b=a.getAttribute("type"))||"text"===b.toLowerCase())},first:nb(function(){return[0]}),last:nb(function(a,b){return[b-1]}),eq:nb(function(a,b,c){return[0>c?c+b:c]}),even:nb(function(a,b){for(var c=0;b>c;c+=2)a.push(c);return a}),odd:nb(function(a,b){for(var c=1;b>c;c+=2)a.push(c);return a}),lt:nb(function(a,b,c){for(var d=0>c?c+b:c;--d>=0;)a.push(d);return a}),gt:nb(function(a,b,c){for(var d=0>c?c+b:c;++db;b++)d+=a[b].value;return d}function rb(a,b,c){var d=b.dir,e=c&&"parentNode"===d,f=x++;return b.first?function(b,c,f){while(b=b[d])if(1===b.nodeType||e)return a(b,c,f)}:function(b,c,g){var h,i,j=[w,f];if(g){while(b=b[d])if((1===b.nodeType||e)&&a(b,c,g))return!0}else while(b=b[d])if(1===b.nodeType||e){if(i=b[u]||(b[u]={}),(h=i[d])&&h[0]===w&&h[1]===f)return j[2]=h[2];if(i[d]=j,j[2]=a(b,c,g))return!0}}}function sb(a){return a.length>1?function(b,c,d){var e=a.length;while(e--)if(!a[e](b,c,d))return!1;return!0}:a[0]}function tb(a,b,c){for(var d=0,e=b.length;e>d;d++)fb(a,b[d],c);return c}function ub(a,b,c,d,e){for(var f,g=[],h=0,i=a.length,j=null!=b;i>h;h++)(f=a[h])&&(!c||c(f,d,e))&&(g.push(f),j&&b.push(h));return g}function vb(a,b,c,d,e,f){return d&&!d[u]&&(d=vb(d)),e&&!e[u]&&(e=vb(e,f)),hb(function(f,g,h,i){var j,k,l,m=[],n=[],o=g.length,p=f||tb(b||"*",h.nodeType?[h]:h,[]),q=!a||!f&&b?p:ub(p,m,a,h,i),r=c?e||(f?a:o||d)?[]:g:q;if(c&&c(q,r,h,i),d){j=ub(r,n),d(j,[],h,i),k=j.length;while(k--)(l=j[k])&&(r[n[k]]=!(q[n[k]]=l))}if(f){if(e||a){if(e){j=[],k=r.length;while(k--)(l=r[k])&&j.push(q[k]=l);e(null,r=[],j,i)}k=r.length;while(k--)(l=r[k])&&(j=e?K.call(f,l):m[k])>-1&&(f[j]=!(g[j]=l))}}else r=ub(r===g?r.splice(o,r.length):r),e?e(null,g,r,i):I.apply(g,r)})}function wb(a){for(var b,c,e,f=a.length,g=d.relative[a[0].type],h=g||d.relative[" "],i=g?1:0,k=rb(function(a){return a===b},h,!0),l=rb(function(a){return K.call(b,a)>-1},h,!0),m=[function(a,c,d){return!g&&(d||c!==j)||((b=c).nodeType?k(a,c,d):l(a,c,d))}];f>i;i++)if(c=d.relative[a[i].type])m=[rb(sb(m),c)];else{if(c=d.filter[a[i].type].apply(null,a[i].matches),c[u]){for(e=++i;f>e;e++)if(d.relative[a[e].type])break;return vb(i>1&&sb(m),i>1&&qb(a.slice(0,i-1).concat({value:" "===a[i-2].type?"*":""})).replace(R,"$1"),c,e>i&&wb(a.slice(i,e)),f>e&&wb(a=a.slice(e)),f>e&&qb(a))}m.push(c)}return sb(m)}function xb(a,b){var c=b.length>0,e=a.length>0,f=function(f,g,h,i,k){var l,m,o,p=0,q="0",r=f&&[],s=[],t=j,u=f||e&&d.find.TAG("*",k),v=w+=null==t?1:Math.random()||.1,x=u.length;for(k&&(j=g!==n&&g);q!==x&&null!=(l=u[q]);q++){if(e&&l){m=0;while(o=a[m++])if(o(l,g,h)){i.push(l);break}k&&(w=v)}c&&((l=!o&&l)&&p--,f&&r.push(l))}if(p+=q,c&&q!==p){m=0;while(o=b[m++])o(r,s,g,h);if(f){if(p>0)while(q--)r[q]||s[q]||(s[q]=G.call(i));s=ub(s)}I.apply(i,s),k&&!f&&s.length>0&&p+b.length>1&&fb.uniqueSort(i)}return k&&(w=v,j=t),r};return c?hb(f):f}return h=fb.compile=function(a,b){var c,d=[],e=[],f=A[a+" "];if(!f){b||(b=g(a)),c=b.length;while(c--)f=wb(b[c]),f[u]?d.push(f):e.push(f);f=A(a,xb(e,d)),f.selector=a}return f},i=fb.select=function(a,b,e,f){var i,j,k,l,m,n="function"==typeof a&&a,o=!f&&g(a=n.selector||a);if(e=e||[],1===o.length){if(j=o[0]=o[0].slice(0),j.length>2&&"ID"===(k=j[0]).type&&c.getById&&9===b.nodeType&&p&&d.relative[j[1].type]){if(b=(d.find.ID(k.matches[0].replace(cb,db),b)||[])[0],!b)return e;n&&(b=b.parentNode),a=a.slice(j.shift().value.length)}i=X.needsContext.test(a)?0:j.length;while(i--){if(k=j[i],d.relative[l=k.type])break;if((m=d.find[l])&&(f=m(k.matches[0].replace(cb,db),ab.test(j[0].type)&&ob(b.parentNode)||b))){if(j.splice(i,1),a=f.length&&qb(j),!a)return I.apply(e,f),e;break}}}return(n||h(a,o))(f,b,!p,e,ab.test(a)&&ob(b.parentNode)||b),e},c.sortStable=u.split("").sort(B).join("")===u,c.detectDuplicates=!!l,m(),c.sortDetached=ib(function(a){return 1&a.compareDocumentPosition(n.createElement("div"))}),ib(function(a){return a.innerHTML="","#"===a.firstChild.getAttribute("href")})||jb("type|href|height|width",function(a,b,c){return c?void 0:a.getAttribute(b,"type"===b.toLowerCase()?1:2)}),c.attributes&&ib(function(a){return a.innerHTML="",a.firstChild.setAttribute("value",""),""===a.firstChild.getAttribute("value")})||jb("value",function(a,b,c){return c||"input"!==a.nodeName.toLowerCase()?void 0:a.defaultValue}),ib(function(a){return null==a.getAttribute("disabled")})||jb(L,function(a,b,c){var d;return c?void 0:a[b]===!0?b.toLowerCase():(d=a.getAttributeNode(b))&&d.specified?d.value:null}),fb}(a);m.find=s,m.expr=s.selectors,m.expr[":"]=m.expr.pseudos,m.unique=s.uniqueSort,m.text=s.getText,m.isXMLDoc=s.isXML,m.contains=s.contains;var t=m.expr.match.needsContext,u=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,v=/^.[^:#\[\.,]*$/;function w(a,b,c){if(m.isFunction(b))return m.grep(a,function(a,d){return!!b.call(a,d,a)!==c});if(b.nodeType)return m.grep(a,function(a){return a===b!==c});if("string"==typeof b){if(v.test(b))return m.filter(b,a,c);b=m.filter(b,a)}return m.grep(a,function(a){return m.inArray(a,b)>=0!==c})}m.filter=function(a,b,c){var d=b[0];return c&&(a=":not("+a+")"),1===b.length&&1===d.nodeType?m.find.matchesSelector(d,a)?[d]:[]:m.find.matches(a,m.grep(b,function(a){return 1===a.nodeType}))},m.fn.extend({find:function(a){var b,c=[],d=this,e=d.length;if("string"!=typeof a)return this.pushStack(m(a).filter(function(){for(b=0;e>b;b++)if(m.contains(d[b],this))return!0}));for(b=0;e>b;b++)m.find(a,d[b],c);return c=this.pushStack(e>1?m.unique(c):c),c.selector=this.selector?this.selector+" "+a:a,c},filter:function(a){return this.pushStack(w(this,a||[],!1))},not:function(a){return this.pushStack(w(this,a||[],!0))},is:function(a){return!!w(this,"string"==typeof a&&t.test(a)?m(a):a||[],!1).length}});var x,y=a.document,z=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,A=m.fn.init=function(a,b){var c,d;if(!a)return this;if("string"==typeof a){if(c="<"===a.charAt(0)&&">"===a.charAt(a.length-1)&&a.length>=3?[null,a,null]:z.exec(a),!c||!c[1]&&b)return!b||b.jquery?(b||x).find(a):this.constructor(b).find(a);if(c[1]){if(b=b instanceof m?b[0]:b,m.merge(this,m.parseHTML(c[1],b&&b.nodeType?b.ownerDocument||b:y,!0)),u.test(c[1])&&m.isPlainObject(b))for(c in b)m.isFunction(this[c])?this[c](b[c]):this.attr(c,b[c]);return this}if(d=y.getElementById(c[2]),d&&d.parentNode){if(d.id!==c[2])return x.find(a);this.length=1,this[0]=d}return this.context=y,this.selector=a,this}return a.nodeType?(this.context=this[0]=a,this.length=1,this):m.isFunction(a)?"undefined"!=typeof x.ready?x.ready(a):a(m):(void 0!==a.selector&&(this.selector=a.selector,this.context=a.context),m.makeArray(a,this))};A.prototype=m.fn,x=m(y);var B=/^(?:parents|prev(?:Until|All))/,C={children:!0,contents:!0,next:!0,prev:!0};m.extend({dir:function(a,b,c){var d=[],e=a[b];while(e&&9!==e.nodeType&&(void 0===c||1!==e.nodeType||!m(e).is(c)))1===e.nodeType&&d.push(e),e=e[b];return d},sibling:function(a,b){for(var c=[];a;a=a.nextSibling)1===a.nodeType&&a!==b&&c.push(a);return c}}),m.fn.extend({has:function(a){var b,c=m(a,this),d=c.length;return this.filter(function(){for(b=0;d>b;b++)if(m.contains(this,c[b]))return!0})},closest:function(a,b){for(var c,d=0,e=this.length,f=[],g=t.test(a)||"string"!=typeof a?m(a,b||this.context):0;e>d;d++)for(c=this[d];c&&c!==b;c=c.parentNode)if(c.nodeType<11&&(g?g.index(c)>-1:1===c.nodeType&&m.find.matchesSelector(c,a))){f.push(c);break}return this.pushStack(f.length>1?m.unique(f):f)},index:function(a){return a?"string"==typeof a?m.inArray(this[0],m(a)):m.inArray(a.jquery?a[0]:a,this):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(a,b){return this.pushStack(m.unique(m.merge(this.get(),m(a,b))))},addBack:function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}});function D(a,b){do a=a[b];while(a&&1!==a.nodeType);return a}m.each({parent:function(a){var b=a.parentNode;return b&&11!==b.nodeType?b:null},parents:function(a){return m.dir(a,"parentNode")},parentsUntil:function(a,b,c){return m.dir(a,"parentNode",c)},next:function(a){return D(a,"nextSibling")},prev:function(a){return D(a,"previousSibling")},nextAll:function(a){return m.dir(a,"nextSibling")},prevAll:function(a){return m.dir(a,"previousSibling")},nextUntil:function(a,b,c){return m.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return m.dir(a,"previousSibling",c)},siblings:function(a){return m.sibling((a.parentNode||{}).firstChild,a)},children:function(a){return m.sibling(a.firstChild)},contents:function(a){return m.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:m.merge([],a.childNodes)}},function(a,b){m.fn[a]=function(c,d){var e=m.map(this,b,c);return"Until"!==a.slice(-5)&&(d=c),d&&"string"==typeof d&&(e=m.filter(d,e)),this.length>1&&(C[a]||(e=m.unique(e)),B.test(a)&&(e=e.reverse())),this.pushStack(e)}});var E=/\S+/g,F={};function G(a){var b=F[a]={};return m.each(a.match(E)||[],function(a,c){b[c]=!0}),b}m.Callbacks=function(a){a="string"==typeof a?F[a]||G(a):m.extend({},a);var b,c,d,e,f,g,h=[],i=!a.once&&[],j=function(l){for(c=a.memory&&l,d=!0,f=g||0,g=0,e=h.length,b=!0;h&&e>f;f++)if(h[f].apply(l[0],l[1])===!1&&a.stopOnFalse){c=!1;break}b=!1,h&&(i?i.length&&j(i.shift()):c?h=[]:k.disable())},k={add:function(){if(h){var d=h.length;!function f(b){m.each(b,function(b,c){var d=m.type(c);"function"===d?a.unique&&k.has(c)||h.push(c):c&&c.length&&"string"!==d&&f(c)})}(arguments),b?e=h.length:c&&(g=d,j(c))}return this},remove:function(){return h&&m.each(arguments,function(a,c){var d;while((d=m.inArray(c,h,d))>-1)h.splice(d,1),b&&(e>=d&&e--,f>=d&&f--)}),this},has:function(a){return a?m.inArray(a,h)>-1:!(!h||!h.length)},empty:function(){return h=[],e=0,this},disable:function(){return h=i=c=void 0,this},disabled:function(){return!h},lock:function(){return i=void 0,c||k.disable(),this},locked:function(){return!i},fireWith:function(a,c){return!h||d&&!i||(c=c||[],c=[a,c.slice?c.slice():c],b?i.push(c):j(c)),this},fire:function(){return k.fireWith(this,arguments),this},fired:function(){return!!d}};return k},m.extend({Deferred:function(a){var b=[["resolve","done",m.Callbacks("once memory"),"resolved"],["reject","fail",m.Callbacks("once memory"),"rejected"],["notify","progress",m.Callbacks("memory")]],c="pending",d={state:function(){return c},always:function(){return e.done(arguments).fail(arguments),this},then:function(){var a=arguments;return m.Deferred(function(c){m.each(b,function(b,f){var g=m.isFunction(a[b])&&a[b];e[f[1]](function(){var a=g&&g.apply(this,arguments);a&&m.isFunction(a.promise)?a.promise().done(c.resolve).fail(c.reject).progress(c.notify):c[f[0]+"With"](this===d?c.promise():this,g?[a]:arguments)})}),a=null}).promise()},promise:function(a){return null!=a?m.extend(a,d):d}},e={};return d.pipe=d.then,m.each(b,function(a,f){var g=f[2],h=f[3];d[f[1]]=g.add,h&&g.add(function(){c=h},b[1^a][2].disable,b[2][2].lock),e[f[0]]=function(){return e[f[0]+"With"](this===e?d:this,arguments),this},e[f[0]+"With"]=g.fireWith}),d.promise(e),a&&a.call(e,e),e},when:function(a){var b=0,c=d.call(arguments),e=c.length,f=1!==e||a&&m.isFunction(a.promise)?e:0,g=1===f?a:m.Deferred(),h=function(a,b,c){return function(e){b[a]=this,c[a]=arguments.length>1?d.call(arguments):e,c===i?g.notifyWith(b,c):--f||g.resolveWith(b,c)}},i,j,k;if(e>1)for(i=new Array(e),j=new Array(e),k=new Array(e);e>b;b++)c[b]&&m.isFunction(c[b].promise)?c[b].promise().done(h(b,k,c)).fail(g.reject).progress(h(b,j,i)):--f;return f||g.resolveWith(k,c),g.promise()}});var H;m.fn.ready=function(a){return m.ready.promise().done(a),this},m.extend({isReady:!1,readyWait:1,holdReady:function(a){a?m.readyWait++:m.ready(!0)},ready:function(a){if(a===!0?!--m.readyWait:!m.isReady){if(!y.body)return setTimeout(m.ready);m.isReady=!0,a!==!0&&--m.readyWait>0||(H.resolveWith(y,[m]),m.fn.triggerHandler&&(m(y).triggerHandler("ready"),m(y).off("ready")))}}});function I(){y.addEventListener?(y.removeEventListener("DOMContentLoaded",J,!1),a.removeEventListener("load",J,!1)):(y.detachEvent("onreadystatechange",J),a.detachEvent("onload",J))}function J(){(y.addEventListener||"load"===event.type||"complete"===y.readyState)&&(I(),m.ready())}m.ready.promise=function(b){if(!H)if(H=m.Deferred(),"complete"===y.readyState)setTimeout(m.ready);else if(y.addEventListener)y.addEventListener("DOMContentLoaded",J,!1),a.addEventListener("load",J,!1);else{y.attachEvent("onreadystatechange",J),a.attachEvent("onload",J);var c=!1;try{c=null==a.frameElement&&y.documentElement}catch(d){}c&&c.doScroll&&!function e(){if(!m.isReady){try{c.doScroll("left")}catch(a){return setTimeout(e,50)}I(),m.ready()}}()}return H.promise(b)};var K="undefined",L;for(L in m(k))break;k.ownLast="0"!==L,k.inlineBlockNeedsLayout=!1,m(function(){var a,b,c,d;c=y.getElementsByTagName("body")[0],c&&c.style&&(b=y.createElement("div"),d=y.createElement("div"),d.style.cssText="position:absolute;border:0;width:0;height:0;top:0;left:-9999px",c.appendChild(d).appendChild(b),typeof b.style.zoom!==K&&(b.style.cssText="display:inline;margin:0;border:0;padding:1px;width:1px;zoom:1",k.inlineBlockNeedsLayout=a=3===b.offsetWidth,a&&(c.style.zoom=1)),c.removeChild(d))}),function(){var a=y.createElement("div");if(null==k.deleteExpando){k.deleteExpando=!0;try{delete a.test}catch(b){k.deleteExpando=!1}}a=null}(),m.acceptData=function(a){var b=m.noData[(a.nodeName+" ").toLowerCase()],c=+a.nodeType||1;return 1!==c&&9!==c?!1:!b||b!==!0&&a.getAttribute("classid")===b};var M=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,N=/([A-Z])/g;function O(a,b,c){if(void 0===c&&1===a.nodeType){var d="data-"+b.replace(N,"-$1").toLowerCase();if(c=a.getAttribute(d),"string"==typeof c){try{c="true"===c?!0:"false"===c?!1:"null"===c?null:+c+""===c?+c:M.test(c)?m.parseJSON(c):c}catch(e){}m.data(a,b,c)}else c=void 0}return c}function P(a){var b;for(b in a)if(("data"!==b||!m.isEmptyObject(a[b]))&&"toJSON"!==b)return!1;return!0}function Q(a,b,d,e){if(m.acceptData(a)){var f,g,h=m.expando,i=a.nodeType,j=i?m.cache:a,k=i?a[h]:a[h]&&h; -if(k&&j[k]&&(e||j[k].data)||void 0!==d||"string"!=typeof b)return k||(k=i?a[h]=c.pop()||m.guid++:h),j[k]||(j[k]=i?{}:{toJSON:m.noop}),("object"==typeof b||"function"==typeof b)&&(e?j[k]=m.extend(j[k],b):j[k].data=m.extend(j[k].data,b)),g=j[k],e||(g.data||(g.data={}),g=g.data),void 0!==d&&(g[m.camelCase(b)]=d),"string"==typeof b?(f=g[b],null==f&&(f=g[m.camelCase(b)])):f=g,f}}function R(a,b,c){if(m.acceptData(a)){var d,e,f=a.nodeType,g=f?m.cache:a,h=f?a[m.expando]:m.expando;if(g[h]){if(b&&(d=c?g[h]:g[h].data)){m.isArray(b)?b=b.concat(m.map(b,m.camelCase)):b in d?b=[b]:(b=m.camelCase(b),b=b in d?[b]:b.split(" ")),e=b.length;while(e--)delete d[b[e]];if(c?!P(d):!m.isEmptyObject(d))return}(c||(delete g[h].data,P(g[h])))&&(f?m.cleanData([a],!0):k.deleteExpando||g!=g.window?delete g[h]:g[h]=null)}}}m.extend({cache:{},noData:{"applet ":!0,"embed ":!0,"object ":"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"},hasData:function(a){return a=a.nodeType?m.cache[a[m.expando]]:a[m.expando],!!a&&!P(a)},data:function(a,b,c){return Q(a,b,c)},removeData:function(a,b){return R(a,b)},_data:function(a,b,c){return Q(a,b,c,!0)},_removeData:function(a,b){return R(a,b,!0)}}),m.fn.extend({data:function(a,b){var c,d,e,f=this[0],g=f&&f.attributes;if(void 0===a){if(this.length&&(e=m.data(f),1===f.nodeType&&!m._data(f,"parsedAttrs"))){c=g.length;while(c--)g[c]&&(d=g[c].name,0===d.indexOf("data-")&&(d=m.camelCase(d.slice(5)),O(f,d,e[d])));m._data(f,"parsedAttrs",!0)}return e}return"object"==typeof a?this.each(function(){m.data(this,a)}):arguments.length>1?this.each(function(){m.data(this,a,b)}):f?O(f,a,m.data(f,a)):void 0},removeData:function(a){return this.each(function(){m.removeData(this,a)})}}),m.extend({queue:function(a,b,c){var d;return a?(b=(b||"fx")+"queue",d=m._data(a,b),c&&(!d||m.isArray(c)?d=m._data(a,b,m.makeArray(c)):d.push(c)),d||[]):void 0},dequeue:function(a,b){b=b||"fx";var c=m.queue(a,b),d=c.length,e=c.shift(),f=m._queueHooks(a,b),g=function(){m.dequeue(a,b)};"inprogress"===e&&(e=c.shift(),d--),e&&("fx"===b&&c.unshift("inprogress"),delete f.stop,e.call(a,g,f)),!d&&f&&f.empty.fire()},_queueHooks:function(a,b){var c=b+"queueHooks";return m._data(a,c)||m._data(a,c,{empty:m.Callbacks("once memory").add(function(){m._removeData(a,b+"queue"),m._removeData(a,c)})})}}),m.fn.extend({queue:function(a,b){var c=2;return"string"!=typeof a&&(b=a,a="fx",c--),arguments.lengthh;h++)b(a[h],c,g?d:d.call(a[h],h,b(a[h],c)));return e?a:j?b.call(a):i?b(a[0],c):f},W=/^(?:checkbox|radio)$/i;!function(){var a=y.createElement("input"),b=y.createElement("div"),c=y.createDocumentFragment();if(b.innerHTML="
a",k.leadingWhitespace=3===b.firstChild.nodeType,k.tbody=!b.getElementsByTagName("tbody").length,k.htmlSerialize=!!b.getElementsByTagName("link").length,k.html5Clone="<:nav>"!==y.createElement("nav").cloneNode(!0).outerHTML,a.type="checkbox",a.checked=!0,c.appendChild(a),k.appendChecked=a.checked,b.innerHTML="",k.noCloneChecked=!!b.cloneNode(!0).lastChild.defaultValue,c.appendChild(b),b.innerHTML="",k.checkClone=b.cloneNode(!0).cloneNode(!0).lastChild.checked,k.noCloneEvent=!0,b.attachEvent&&(b.attachEvent("onclick",function(){k.noCloneEvent=!1}),b.cloneNode(!0).click()),null==k.deleteExpando){k.deleteExpando=!0;try{delete b.test}catch(d){k.deleteExpando=!1}}}(),function(){var b,c,d=y.createElement("div");for(b in{submit:!0,change:!0,focusin:!0})c="on"+b,(k[b+"Bubbles"]=c in a)||(d.setAttribute(c,"t"),k[b+"Bubbles"]=d.attributes[c].expando===!1);d=null}();var X=/^(?:input|select|textarea)$/i,Y=/^key/,Z=/^(?:mouse|pointer|contextmenu)|click/,$=/^(?:focusinfocus|focusoutblur)$/,_=/^([^.]*)(?:\.(.+)|)$/;function ab(){return!0}function bb(){return!1}function cb(){try{return y.activeElement}catch(a){}}m.event={global:{},add:function(a,b,c,d,e){var f,g,h,i,j,k,l,n,o,p,q,r=m._data(a);if(r){c.handler&&(i=c,c=i.handler,e=i.selector),c.guid||(c.guid=m.guid++),(g=r.events)||(g=r.events={}),(k=r.handle)||(k=r.handle=function(a){return typeof m===K||a&&m.event.triggered===a.type?void 0:m.event.dispatch.apply(k.elem,arguments)},k.elem=a),b=(b||"").match(E)||[""],h=b.length;while(h--)f=_.exec(b[h])||[],o=q=f[1],p=(f[2]||"").split(".").sort(),o&&(j=m.event.special[o]||{},o=(e?j.delegateType:j.bindType)||o,j=m.event.special[o]||{},l=m.extend({type:o,origType:q,data:d,handler:c,guid:c.guid,selector:e,needsContext:e&&m.expr.match.needsContext.test(e),namespace:p.join(".")},i),(n=g[o])||(n=g[o]=[],n.delegateCount=0,j.setup&&j.setup.call(a,d,p,k)!==!1||(a.addEventListener?a.addEventListener(o,k,!1):a.attachEvent&&a.attachEvent("on"+o,k))),j.add&&(j.add.call(a,l),l.handler.guid||(l.handler.guid=c.guid)),e?n.splice(n.delegateCount++,0,l):n.push(l),m.event.global[o]=!0);a=null}},remove:function(a,b,c,d,e){var f,g,h,i,j,k,l,n,o,p,q,r=m.hasData(a)&&m._data(a);if(r&&(k=r.events)){b=(b||"").match(E)||[""],j=b.length;while(j--)if(h=_.exec(b[j])||[],o=q=h[1],p=(h[2]||"").split(".").sort(),o){l=m.event.special[o]||{},o=(d?l.delegateType:l.bindType)||o,n=k[o]||[],h=h[2]&&new RegExp("(^|\\.)"+p.join("\\.(?:.*\\.|)")+"(\\.|$)"),i=f=n.length;while(f--)g=n[f],!e&&q!==g.origType||c&&c.guid!==g.guid||h&&!h.test(g.namespace)||d&&d!==g.selector&&("**"!==d||!g.selector)||(n.splice(f,1),g.selector&&n.delegateCount--,l.remove&&l.remove.call(a,g));i&&!n.length&&(l.teardown&&l.teardown.call(a,p,r.handle)!==!1||m.removeEvent(a,o,r.handle),delete k[o])}else for(o in k)m.event.remove(a,o+b[j],c,d,!0);m.isEmptyObject(k)&&(delete r.handle,m._removeData(a,"events"))}},trigger:function(b,c,d,e){var f,g,h,i,k,l,n,o=[d||y],p=j.call(b,"type")?b.type:b,q=j.call(b,"namespace")?b.namespace.split("."):[];if(h=l=d=d||y,3!==d.nodeType&&8!==d.nodeType&&!$.test(p+m.event.triggered)&&(p.indexOf(".")>=0&&(q=p.split("."),p=q.shift(),q.sort()),g=p.indexOf(":")<0&&"on"+p,b=b[m.expando]?b:new m.Event(p,"object"==typeof b&&b),b.isTrigger=e?2:3,b.namespace=q.join("."),b.namespace_re=b.namespace?new RegExp("(^|\\.)"+q.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,b.result=void 0,b.target||(b.target=d),c=null==c?[b]:m.makeArray(c,[b]),k=m.event.special[p]||{},e||!k.trigger||k.trigger.apply(d,c)!==!1)){if(!e&&!k.noBubble&&!m.isWindow(d)){for(i=k.delegateType||p,$.test(i+p)||(h=h.parentNode);h;h=h.parentNode)o.push(h),l=h;l===(d.ownerDocument||y)&&o.push(l.defaultView||l.parentWindow||a)}n=0;while((h=o[n++])&&!b.isPropagationStopped())b.type=n>1?i:k.bindType||p,f=(m._data(h,"events")||{})[b.type]&&m._data(h,"handle"),f&&f.apply(h,c),f=g&&h[g],f&&f.apply&&m.acceptData(h)&&(b.result=f.apply(h,c),b.result===!1&&b.preventDefault());if(b.type=p,!e&&!b.isDefaultPrevented()&&(!k._default||k._default.apply(o.pop(),c)===!1)&&m.acceptData(d)&&g&&d[p]&&!m.isWindow(d)){l=d[g],l&&(d[g]=null),m.event.triggered=p;try{d[p]()}catch(r){}m.event.triggered=void 0,l&&(d[g]=l)}return b.result}},dispatch:function(a){a=m.event.fix(a);var b,c,e,f,g,h=[],i=d.call(arguments),j=(m._data(this,"events")||{})[a.type]||[],k=m.event.special[a.type]||{};if(i[0]=a,a.delegateTarget=this,!k.preDispatch||k.preDispatch.call(this,a)!==!1){h=m.event.handlers.call(this,a,j),b=0;while((f=h[b++])&&!a.isPropagationStopped()){a.currentTarget=f.elem,g=0;while((e=f.handlers[g++])&&!a.isImmediatePropagationStopped())(!a.namespace_re||a.namespace_re.test(e.namespace))&&(a.handleObj=e,a.data=e.data,c=((m.event.special[e.origType]||{}).handle||e.handler).apply(f.elem,i),void 0!==c&&(a.result=c)===!1&&(a.preventDefault(),a.stopPropagation()))}return k.postDispatch&&k.postDispatch.call(this,a),a.result}},handlers:function(a,b){var c,d,e,f,g=[],h=b.delegateCount,i=a.target;if(h&&i.nodeType&&(!a.button||"click"!==a.type))for(;i!=this;i=i.parentNode||this)if(1===i.nodeType&&(i.disabled!==!0||"click"!==a.type)){for(e=[],f=0;h>f;f++)d=b[f],c=d.selector+" ",void 0===e[c]&&(e[c]=d.needsContext?m(c,this).index(i)>=0:m.find(c,this,null,[i]).length),e[c]&&e.push(d);e.length&&g.push({elem:i,handlers:e})}return h]","i"),hb=/^\s+/,ib=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,jb=/<([\w:]+)/,kb=/\s*$/g,rb={option:[1,""],legend:[1,"
","
"],area:[1,"",""],param:[1,"",""],thead:[1,"","
"],tr:[2,"","
"],col:[2,"","
"],td:[3,"","
"],_default:k.htmlSerialize?[0,"",""]:[1,"X
","
"]},sb=db(y),tb=sb.appendChild(y.createElement("div"));rb.optgroup=rb.option,rb.tbody=rb.tfoot=rb.colgroup=rb.caption=rb.thead,rb.th=rb.td;function ub(a,b){var c,d,e=0,f=typeof a.getElementsByTagName!==K?a.getElementsByTagName(b||"*"):typeof a.querySelectorAll!==K?a.querySelectorAll(b||"*"):void 0;if(!f)for(f=[],c=a.childNodes||a;null!=(d=c[e]);e++)!b||m.nodeName(d,b)?f.push(d):m.merge(f,ub(d,b));return void 0===b||b&&m.nodeName(a,b)?m.merge([a],f):f}function vb(a){W.test(a.type)&&(a.defaultChecked=a.checked)}function wb(a,b){return m.nodeName(a,"table")&&m.nodeName(11!==b.nodeType?b:b.firstChild,"tr")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function xb(a){return a.type=(null!==m.find.attr(a,"type"))+"/"+a.type,a}function yb(a){var b=pb.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type"),a}function zb(a,b){for(var c,d=0;null!=(c=a[d]);d++)m._data(c,"globalEval",!b||m._data(b[d],"globalEval"))}function Ab(a,b){if(1===b.nodeType&&m.hasData(a)){var c,d,e,f=m._data(a),g=m._data(b,f),h=f.events;if(h){delete g.handle,g.events={};for(c in h)for(d=0,e=h[c].length;e>d;d++)m.event.add(b,c,h[c][d])}g.data&&(g.data=m.extend({},g.data))}}function Bb(a,b){var c,d,e;if(1===b.nodeType){if(c=b.nodeName.toLowerCase(),!k.noCloneEvent&&b[m.expando]){e=m._data(b);for(d in e.events)m.removeEvent(b,d,e.handle);b.removeAttribute(m.expando)}"script"===c&&b.text!==a.text?(xb(b).text=a.text,yb(b)):"object"===c?(b.parentNode&&(b.outerHTML=a.outerHTML),k.html5Clone&&a.innerHTML&&!m.trim(b.innerHTML)&&(b.innerHTML=a.innerHTML)):"input"===c&&W.test(a.type)?(b.defaultChecked=b.checked=a.checked,b.value!==a.value&&(b.value=a.value)):"option"===c?b.defaultSelected=b.selected=a.defaultSelected:("input"===c||"textarea"===c)&&(b.defaultValue=a.defaultValue)}}m.extend({clone:function(a,b,c){var d,e,f,g,h,i=m.contains(a.ownerDocument,a);if(k.html5Clone||m.isXMLDoc(a)||!gb.test("<"+a.nodeName+">")?f=a.cloneNode(!0):(tb.innerHTML=a.outerHTML,tb.removeChild(f=tb.firstChild)),!(k.noCloneEvent&&k.noCloneChecked||1!==a.nodeType&&11!==a.nodeType||m.isXMLDoc(a)))for(d=ub(f),h=ub(a),g=0;null!=(e=h[g]);++g)d[g]&&Bb(e,d[g]);if(b)if(c)for(h=h||ub(a),d=d||ub(f),g=0;null!=(e=h[g]);g++)Ab(e,d[g]);else Ab(a,f);return d=ub(f,"script"),d.length>0&&zb(d,!i&&ub(a,"script")),d=h=e=null,f},buildFragment:function(a,b,c,d){for(var e,f,g,h,i,j,l,n=a.length,o=db(b),p=[],q=0;n>q;q++)if(f=a[q],f||0===f)if("object"===m.type(f))m.merge(p,f.nodeType?[f]:f);else if(lb.test(f)){h=h||o.appendChild(b.createElement("div")),i=(jb.exec(f)||["",""])[1].toLowerCase(),l=rb[i]||rb._default,h.innerHTML=l[1]+f.replace(ib,"<$1>")+l[2],e=l[0];while(e--)h=h.lastChild;if(!k.leadingWhitespace&&hb.test(f)&&p.push(b.createTextNode(hb.exec(f)[0])),!k.tbody){f="table"!==i||kb.test(f)?""!==l[1]||kb.test(f)?0:h:h.firstChild,e=f&&f.childNodes.length;while(e--)m.nodeName(j=f.childNodes[e],"tbody")&&!j.childNodes.length&&f.removeChild(j)}m.merge(p,h.childNodes),h.textContent="";while(h.firstChild)h.removeChild(h.firstChild);h=o.lastChild}else p.push(b.createTextNode(f));h&&o.removeChild(h),k.appendChecked||m.grep(ub(p,"input"),vb),q=0;while(f=p[q++])if((!d||-1===m.inArray(f,d))&&(g=m.contains(f.ownerDocument,f),h=ub(o.appendChild(f),"script"),g&&zb(h),c)){e=0;while(f=h[e++])ob.test(f.type||"")&&c.push(f)}return h=null,o},cleanData:function(a,b){for(var d,e,f,g,h=0,i=m.expando,j=m.cache,l=k.deleteExpando,n=m.event.special;null!=(d=a[h]);h++)if((b||m.acceptData(d))&&(f=d[i],g=f&&j[f])){if(g.events)for(e in g.events)n[e]?m.event.remove(d,e):m.removeEvent(d,e,g.handle);j[f]&&(delete j[f],l?delete d[i]:typeof d.removeAttribute!==K?d.removeAttribute(i):d[i]=null,c.push(f))}}}),m.fn.extend({text:function(a){return V(this,function(a){return void 0===a?m.text(this):this.empty().append((this[0]&&this[0].ownerDocument||y).createTextNode(a))},null,a,arguments.length)},append:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=wb(this,a);b.appendChild(a)}})},prepend:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=wb(this,a);b.insertBefore(a,b.firstChild)}})},before:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this)})},after:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this.nextSibling)})},remove:function(a,b){for(var c,d=a?m.filter(a,this):this,e=0;null!=(c=d[e]);e++)b||1!==c.nodeType||m.cleanData(ub(c)),c.parentNode&&(b&&m.contains(c.ownerDocument,c)&&zb(ub(c,"script")),c.parentNode.removeChild(c));return this},empty:function(){for(var a,b=0;null!=(a=this[b]);b++){1===a.nodeType&&m.cleanData(ub(a,!1));while(a.firstChild)a.removeChild(a.firstChild);a.options&&m.nodeName(a,"select")&&(a.options.length=0)}return this},clone:function(a,b){return a=null==a?!1:a,b=null==b?a:b,this.map(function(){return m.clone(this,a,b)})},html:function(a){return V(this,function(a){var b=this[0]||{},c=0,d=this.length;if(void 0===a)return 1===b.nodeType?b.innerHTML.replace(fb,""):void 0;if(!("string"!=typeof a||mb.test(a)||!k.htmlSerialize&&gb.test(a)||!k.leadingWhitespace&&hb.test(a)||rb[(jb.exec(a)||["",""])[1].toLowerCase()])){a=a.replace(ib,"<$1>");try{for(;d>c;c++)b=this[c]||{},1===b.nodeType&&(m.cleanData(ub(b,!1)),b.innerHTML=a);b=0}catch(e){}}b&&this.empty().append(a)},null,a,arguments.length)},replaceWith:function(){var a=arguments[0];return this.domManip(arguments,function(b){a=this.parentNode,m.cleanData(ub(this)),a&&a.replaceChild(b,this)}),a&&(a.length||a.nodeType)?this:this.remove()},detach:function(a){return this.remove(a,!0)},domManip:function(a,b){a=e.apply([],a);var c,d,f,g,h,i,j=0,l=this.length,n=this,o=l-1,p=a[0],q=m.isFunction(p);if(q||l>1&&"string"==typeof p&&!k.checkClone&&nb.test(p))return this.each(function(c){var d=n.eq(c);q&&(a[0]=p.call(this,c,d.html())),d.domManip(a,b)});if(l&&(i=m.buildFragment(a,this[0].ownerDocument,!1,this),c=i.firstChild,1===i.childNodes.length&&(i=c),c)){for(g=m.map(ub(i,"script"),xb),f=g.length;l>j;j++)d=i,j!==o&&(d=m.clone(d,!0,!0),f&&m.merge(g,ub(d,"script"))),b.call(this[j],d,j);if(f)for(h=g[g.length-1].ownerDocument,m.map(g,yb),j=0;f>j;j++)d=g[j],ob.test(d.type||"")&&!m._data(d,"globalEval")&&m.contains(h,d)&&(d.src?m._evalUrl&&m._evalUrl(d.src):m.globalEval((d.text||d.textContent||d.innerHTML||"").replace(qb,"")));i=c=null}return this}}),m.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){m.fn[a]=function(a){for(var c,d=0,e=[],g=m(a),h=g.length-1;h>=d;d++)c=d===h?this:this.clone(!0),m(g[d])[b](c),f.apply(e,c.get());return this.pushStack(e)}});var Cb,Db={};function Eb(b,c){var d,e=m(c.createElement(b)).appendTo(c.body),f=a.getDefaultComputedStyle&&(d=a.getDefaultComputedStyle(e[0]))?d.display:m.css(e[0],"display");return e.detach(),f}function Fb(a){var b=y,c=Db[a];return c||(c=Eb(a,b),"none"!==c&&c||(Cb=(Cb||m(" +{{else if options.testing}} + +{{/if}} +{{/if}} diff --git a/page-templates/broad-area.handlebars b/lab_build/page-templates/broad-area.handlebars similarity index 100% rename from page-templates/broad-area.handlebars rename to lab_build/page-templates/broad-area.handlebars diff --git a/lab_build/page-templates/course-alignment-ctnt.handlebars b/lab_build/page-templates/course-alignment-ctnt.handlebars new file mode 100644 index 00000000..43b2e0af --- /dev/null +++ b/lab_build/page-templates/course-alignment-ctnt.handlebars @@ -0,0 +1,8 @@ +
+

{{ courseAlignment.description }}

+
    + {{#each courseAlignment.universities }} +
  1. {{ this }}
  2. + {{/each}} +
+
\ No newline at end of file diff --git a/lab_build/page-templates/head.handlebars b/lab_build/page-templates/head.handlebars new file mode 100644 index 00000000..2012cdcd --- /dev/null +++ b/lab_build/page-templates/head.handlebars @@ -0,0 +1,41 @@ +{{#if options.addAnalytics}} + +{{#if options.production}} + + var dataLayer = [{ + {{#if escapeCharOnFlag }} + 'labName': '{{lab}}', + {{else}} + 'labName': '{{{lab}}}', + {{/if}} + 'discipline': '{{broadArea.name}}', + 'college': '{{collegeName}}', + 'phase': '{{phase}}', + }]; + + (function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': + new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], + j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= + 'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); + })(window,document,'script','dataLayer','GTM-W59SWTR'); + +{{else if options.testing}} + var dataLayer = [{ + {{#if escapeCharOnFlag }} + 'labName': '{{lab}}', + {{else}} + 'labName': '{{{lab}}}', + {{/if}} + 'discipline': '{{broadArea.name}}', + 'college': '{{collegeName}}', + 'phase': '{{phase}}', + }]; + + (function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': + new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], + j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= + 'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); + })(window,document,'script','dataLayer','GTM-5NMQ9NQ'); +{{/if}} + +{{/if}} diff --git a/lab_build/page-templates/introduction-ctnt.handlebars b/lab_build/page-templates/introduction-ctnt.handlebars new file mode 100644 index 00000000..ac1391b5 --- /dev/null +++ b/lab_build/page-templates/introduction-ctnt.handlebars @@ -0,0 +1,3 @@ +
+

{{{ introduction }}}

+
\ No newline at end of file diff --git a/lab_build/page-templates/lab-name.handlebars b/lab_build/page-templates/lab-name.handlebars new file mode 100644 index 00000000..83c9bc5e --- /dev/null +++ b/lab_build/page-templates/lab-name.handlebars @@ -0,0 +1 @@ +

{{ lab_display_name }}

\ No newline at end of file diff --git a/lab_build/page-templates/list-of-experiments-ctnt.handlebars b/lab_build/page-templates/list-of-experiments-ctnt.handlebars new file mode 100644 index 00000000..226d33cb --- /dev/null +++ b/lab_build/page-templates/list-of-experiments-ctnt.handlebars @@ -0,0 +1,24 @@ +
+
    + {{#each experiments }} +
  1. +
    + + + {{ this.name }} + + +
    + +
    +
    +
  2. + {{/each}} +
+
\ No newline at end of file diff --git a/lab_build/page-templates/navbar.handlebars b/lab_build/page-templates/navbar.handlebars new file mode 100644 index 00000000..bf0c2d1a --- /dev/null +++ b/lab_build/page-templates/navbar.handlebars @@ -0,0 +1,16 @@ + \ No newline at end of file diff --git a/lab_build/page-templates/nested-list-of-experiments-ctnt.handlebars b/lab_build/page-templates/nested-list-of-experiments-ctnt.handlebars new file mode 100644 index 00000000..5b552f5e --- /dev/null +++ b/lab_build/page-templates/nested-list-of-experiments-ctnt.handlebars @@ -0,0 +1,23 @@ +
+ {{#each experiment-sections }} +
  • + {{sect-name}} +
      + {{#each experiments }} +
    1. + +
    2. + {{/each}} +
    +
  • + {{/each}} +
    diff --git a/lab_build/page-templates/objective-ctnt.handlebars b/lab_build/page-templates/objective-ctnt.handlebars new file mode 100644 index 00000000..8fa2b0b7 --- /dev/null +++ b/lab_build/page-templates/objective-ctnt.handlebars @@ -0,0 +1,3 @@ +
    + {{{objective}}} +
    \ No newline at end of file diff --git a/lab_build/page-templates/sidebar.handlebars b/lab_build/page-templates/sidebar.handlebars new file mode 100644 index 00000000..f2de2174 --- /dev/null +++ b/lab_build/page-templates/sidebar.handlebars @@ -0,0 +1,8 @@ +{{#each menu}} + +{{/each}} diff --git a/lab_build/page-templates/target-audience-ctnt.handlebars b/lab_build/page-templates/target-audience-ctnt.handlebars new file mode 100644 index 00000000..a2129cae --- /dev/null +++ b/lab_build/page-templates/target-audience-ctnt.handlebars @@ -0,0 +1,19 @@ +
      +
    • + UG +
        + {{#each targetAudience.UG }} +
      • {{ this }}
      • + {{/each}} +
      +
    • + +
    • + PG +
        + {{#each targetAudience.PG }} +
      • {{ this }}
      • + {{/each}} +
      +
    • +
    \ No newline at end of file diff --git a/lab_build/skeleton.html b/lab_build/skeleton.html new file mode 100644 index 00000000..bb4bf0f8 --- /dev/null +++ b/lab_build/skeleton.html @@ -0,0 +1,174 @@ + + + + + + + + + + + + Welcome to Virtual Labs + + + + + + + + + + + + + + + + + +
    + +
    + +
    + +
    + + + +
    + +
    + +
    +
    +
    +
    + + + + `; + fs.writeFileSync(contentPath, dom.serialize(), "utf-8"); + content = fs.readFileSync(contentPath, "utf-8"); + const res_html = populateTemplate(main_template, components, content); + return res_html; +} + +function renderTemplate(fn, data) { + log.debug(`Rendering template ${fn}`); + const template = fs.readFileSync(fn, "utf-8"); + const base = path.parse(fn).name; + + html = Handlebars.compile(template)(data); + const basePath = path.resolve(__dirname, "page-components", `${base}.html`); + fs.writeFileSync(basePath, html, "utf-8"); +} + +module.exports = { + buildPage, + renderTemplate, +}; diff --git a/license.org b/license.org new file mode 100644 index 00000000..4d1d0172 --- /dev/null +++ b/license.org @@ -0,0 +1,862 @@ +#+TITLE: Licensing policy at VLEAD +#+AUTHOR: VLEAD +#+DATE: [2018-04-11 Wed] +#+SETUPFILE: ./org-templates/level-0.org +#+TAGS: boilerplate(b) lu tsk txt sup +#+EXCLUDE_TAGS: boilerplate +#+OPTIONS: ^:nil' prop:t + + +* Introduction + This document provides information on the licenses used at + Virtual Labs. + +* Content Licensing + All content of Virtual Labs is licensed under + [[https://creativecommons.org/licenses/by-nc-sa/4.0/][Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0)]]. + +** License content + Attribution-NonCommercial-ShareAlike 4.0 International + (CC BY-NC-SA 4.0) This is a human-readable summary of + (and not a substitute for) the license. Disclaimer. You + are free to: + + Share - copy and redistribute the material in any medium + or format + + Adapt - remix, transform, and build upon the material + + The licensor cannot revoke these freedoms as long as you + follow the license terms. + + + Under the following terms: + + Attribution - You must give appropriate credit, provide a + link to the license, and indicate if changes were + made. You may do so in any reasonable manner, but not in + any way that suggests the licensor endorses you or your + use. + + NonCommercial - You may not use the material for + commercial purposes. + + ShareAlike - If you remix, transform, or build upon the + material, you must distribute your contributions under + the same license as the original. + + No additional restrictions - You may not apply legal + terms or technological measures that legally restrict + others from doing anything the license permits. + + Notices: + + You do not have to comply with the license for elements + of the material in the public domain or where your use + is permitted by an applicable exception or limitation. + No warranties are given. The license may not give you + all of the permissions necessary for your intended + use. For example, other rights such as publicity, + privacy, or moral rights may limit how you use the + material. + +* Software Licensing + Virtual Labs software - experiments, platform and + services - is licensed under [[https://www.gnu.org/licenses/agpl-3.0.en.html][GNU AFFERO GENERAL PUBLIC LICENSE, Version 3(AGPL-3.0))]] + +** License Content + GNU AFFERO GENERAL PUBLIC LICENSE + + Version 3, 19 November 2007 + + Copyright 2007 Free Software Foundation, + Inc. Everyone is permitted to copy and + distribute verbatim copies of this license document, but + changing it is not allowed. + + *Preamble* + + The GNU Affero General Public License is a free, copyleft + license for software and other kinds of works, + specifically designed to ensure cooperation with the + community in the case of network server software. + + The licenses for most software and other practical works + are designed to take away your freedom to share and + change the works. By contrast, our General Public + Licenses are intended to guarantee your freedom to share + and change all versions of a program--to make sure it + remains free software for all its users. + + When we speak of free software, we are referring to + freedom, not price. Our General Public Licenses are + designed to make sure that you have the freedom to + distribute copies of free software (and charge for them + if you wish), that you receive source code or can get it + if you want it, that you can change the software or use + pieces of it in new free programs, and that you know you + can do these things. + + Developers that use our General Public Licenses protect + your rights with two steps: (1) assert copyright on the + software, and (2) offer you this License which gives you + legal permission to copy, distribute and/or modify the + software. + + A secondary benefit of defending all users' freedom is + that improvements made in alternate versions of the + program, if they receive widespread use, become available + for other developers to incorporate. Many developers of + free software are heartened and encouraged by the + resulting cooperation. However, in the case of software + used on network servers, this result may fail to come + about. The GNU General Public License permits making a + modified version and letting the public access it on a + server without ever releasing its source code to the + public. + + The GNU Affero General Public License is designed + specifically to ensure that, in such cases, the modified + source code becomes available to the community. It + requires the operator of a network server to provide the + source code of the modified version running there to the + users of that server. Therefore, public use of a modified + version, on a publicly accessible server, gives the + public access to the source code of the modified version. + + An older license, called the Affero General Public + License and published by Affero, was designed to + accomplish similar goals. This is a different license, + not a version of the Affero GPL, but Affero has released + a new version of the Affero GPL which permits relicensing + under this license. + + The precise terms and conditions for copying, + distribution and modification follow. + + + *TERMS AND CONDITIONS* + + +*** 0. Definitions. + + "This License" refers to version 3 of the GNU Affero + General Public License. + + "Copyright" also means copyright-like laws that apply to + other kinds of works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed + under this License. Each licensee is addressed as + "you". "Licensees" and "recipients" may be individuals or + organizations. + + To "modify" a work means to copy from or adapt all or + part of the work in a fashion requiring copyright + permission, other than the making of an exact copy. The + resulting work is called a "modified version" of the + earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a + work based on the Program. + + To "propagate" a work means to do anything with it that, + without permission, would make you directly or + secondarily liable for infringement under applicable + copyright law, except executing it on a computer or + modifying a private copy. Propagation includes copying, + distribution (with or without modification), making + available to the public, and in some countries other + activities as well. + + To "convey" a work means any kind of propagation that + enables other parties to make or receive copies. Mere + interaction with a user through a computer network, with + no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal + Notices" to the extent that it includes a convenient and + prominently visible feature that (1) displays an + appropriate copyright notice, and (2) tells the user that + there is no warranty for the work (except to the extent + that warranties are provided), that licensees may convey + the work under this License, and how to view a copy of + this License. If the interface presents a list of user + commands or options, such as a menu, a prominent item in + the list meets this criterion. + +*** 1. Source Code. + + The "source code" for a work means the preferred form of + the work for making modifications to it. "Object code" + means any non-source form of a work. + + A "Standard Interface" means an interface that either is + an official standard defined by a recognized standards + body, or, in the case of interfaces specified for a + particular programming language, one that is widely used + among developers working in that language. + + The "System Libraries" of an executable work include + anything, other than the work as a whole, that (a) is + included in the normal form of packaging a Major + Component, but which is not part of that Major Component, + and (b) serves only to enable use of the work with that + Major Component, or to implement a Standard Interface for + which an implementation is available to the public in + source code form. A "Major Component", in this context, + means a major essential component (kernel, window system, + and so on) of the specific operating system (if any) on + which the executable work runs, or a compiler used to + produce the work, or an object code interpreter used to + run it. + + The "Corresponding Source" for a work in object code form + means all the source code needed to generate, install, + and (for an executable work) run the object code and to + modify the work, including scripts to control those + activities. However, it does not include the work's + System Libraries, or general-purpose tools or generally + available free programs which are used unmodified in + performing those activities but which are not part of the + work. For example, Corresponding Source includes + interface definition files associated with source files + for the work, and the source code for shared libraries + and dynamically linked subprograms that the work is + specifically designed to require, such as by intimate + data communication or control flow between those + subprograms and other parts of the work. + + The Corresponding Source need not include anything that + users can regenerate automatically from other parts of + the Corresponding Source. + + The Corresponding Source for a work in source code form + is that same work. + + +*** 2. Basic Permissions. + + All rights granted under this License are granted for the + term of copyright on the Program, and are irrevocable + provided the stated conditions are met. This License + explicitly affirms your unlimited permission to run the + unmodified Program. The output from running a covered + work is covered by this License only if the output, given + its content, constitutes a covered work. This License + acknowledges your rights of fair use or other equivalent, + as provided by copyright law. + + You may make, run and propagate covered works that you do + not convey, without conditions so long as your license + otherwise remains in force. You may convey covered works + to others for the sole purpose of having them make + modifications exclusively for you, or provide you with + facilities for running those works, provided that you + comply with the terms of this License in conveying all + material for which you do not control copyright. Those + thus making or running the covered works for you must do + so exclusively on your behalf, under your direction and + control, on terms that prohibit them from making any + copies of your copyrighted material outside their + relationship with you. + + Conveying under any other circumstances is permitted + solely under the conditions stated below. Sublicensing is + not allowed; section 10 makes it unnecessary. + +*** 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective + technological measure under any applicable law fulfilling + obligations under article 11 of the WIPO copyright treaty + adopted on 20 December 1996, or similar laws prohibiting + or restricting circumvention of such measures. + + When you convey a covered work, you waive any legal power + to forbid circumvention of technological measures to the + extent such circumvention is effected by exercising + rights under this License with respect to the covered + work, and you disclaim any intention to limit operation + or modification of the work as a means of enforcing, + against the work's users, your or third parties' legal + rights to forbid circumvention of technological measures. + +*** 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source + code as you receive it, in any medium, provided that you + conspicuously and appropriately publish on each copy an + appropriate copyright notice; keep intact all notices + stating that this License and any non-permissive terms + added in accord with section 7 apply to the code; keep + intact all notices of the absence of any warranty; and + give all recipients a copy of this License along with the + Program. + + You may charge any price or no price for each copy that + you convey, and you may offer support or warranty + protection for a fee. + +*** 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the + modifications to produce it from the Program, in the form + of source code under the terms of section 4, provided + that you also meet all of these conditions: + + - a) The work must carry prominent notices stating that + you modified it, and giving a relevant date. + + - b) The work must carry prominent notices stating that it + is released under this License and any conditions added + under section 7. This requirement modifies the + requirement in section 4 to "keep intact all notices". + + - c) You must license the entire work, as a whole, under + this License to anyone who comes into possession of a + copy. This License will therefore apply, along with any + applicable section 7 additional terms, to the whole of + the work, and all its parts, regardless of how they are + packaged. This License gives no permission to license + the work in any other way, but it does not invalidate + such permission if you have separately received it. + + - d) If the work has interactive user interfaces, each + must display Appropriate Legal Notices; however, if the + Program has interactive interfaces that do not display + Appropriate Legal Notices, your work need not make them + do so. + + A compilation of a covered work with other separate and + independent works, which are not by their nature + extensions of the covered work, and which are not + combined with it such as to form a larger program, in or + on a volume of a storage or distribution medium, is + called an "aggregate" if the compilation and its + resulting copyright are not used to limit the access or + legal rights of the compilation's users beyond what the + individual works permit. Inclusion of a covered work in + an aggregate does not cause this License to apply to the + other parts of the aggregate. + +*** 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under + the terms of sections 4 and 5, provided that you also + convey the machine-readable Corresponding Source under + the terms of this License, in one of these ways: + + - a) Convey the object code in, or embodied in, a + physical product (including a physical distribution + medium), accompanied by the Corresponding Source fixed + on a durable physical medium customarily used for + software interchange. + + - b) Convey the object code in, or embodied in, a + physical product (including a physical distribution + medium), accompanied by a written offer, valid for at + least three years and valid for as long as you offer + spare parts or customer support for that product model, + to give anyone who possesses the object code either (1) + a copy of the Corresponding Source for all the software + in the product that is covered by this License, on a + durable physical medium customarily used for software + interchange, for a price no more than your reasonable + cost of physically performing this conveying of source, + or (2) access to copy the Corresponding Source from a + network server at no charge. + + - c) Convey individual copies of the object code with a + copy of the written offer to provide the Corresponding + Source. This alternative is allowed only occasionally + and noncommercially, and only if you received the + object code with such an offer, in accord with + subsection 6b. + + - d) Convey the object code by offering access from a + designated place (gratis or for a charge), and offer + equivalent access to the Corresponding Source in the + same way through the same place at no further + charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the + place to copy the object code is a network server, the + Corresponding Source may be on a different server + (operated by you or a third party) that supports + equivalent copying facilities, provided you maintain + clear directions next to the object code saying where + to find the Corresponding Source. Regardless of what + server hosts the Corresponding Source, you remain + obligated to ensure that it is available for as long as + needed to satisfy these requirements. + + - e) Convey the object code using peer-to-peer + transmission, provided you inform other peers where the + object code and Corresponding Source of the work are + being offered to the general public at no charge under + subsection 6d. + + A separable portion of the object code, whose source code + is excluded from the Corresponding Source as a System + Library, need not be included in conveying the object + code work. + + A "User Product" is either (1) a "consumer product", + which means any tangible personal property which is + normally used for personal, family, or household + purposes, or (2) anything designed or sold for + incorporation into a dwelling. In determining whether a + product is a consumer product, doubtful cases shall be + resolved in favor of coverage. For a particular product + received by a particular user, "normally used" refers to + a typical or common use of that class of product, + regardless of the status of the particular user or of the + way in which the particular user actually uses, or + expects or is expected to use, the product. A product is + a consumer product regardless of whether the product has + substantial commercial, industrial or non-consumer uses, + unless such uses represent the only significant mode of + use of the product. + + "Installation Information" for a User Product means any + methods, procedures, authorization keys, or other + information required to install and execute modified + versions of a covered work in that User Product from a + modified version of its Corresponding Source. The + information must suffice to ensure that the continued + functioning of the modified object code is in no case + prevented or interfered with solely because modification + has been made. + + If you convey an object code work under this section in, + or with, or specifically for use in, a User Product, and + the conveying occurs as part of a transaction in which + the right of possession and use of the User Product is + transferred to the recipient in perpetuity or for a fixed + term (regardless of how the transaction is + characterized), the Corresponding Source conveyed under + this section must be accompanied by the Installation + Information. But this requirement does not apply if + neither you nor any third party retains the ability to + install modified object code on the User Product (for + example, the work has been installed in ROM). + + The requirement to provide Installation Information does + not include a requirement to continue to provide support + service, warranty, or updates for a work that has been + modified or installed by the recipient, or for the User + Product in which it has been modified or + installed. Access to a network may be denied when the + modification itself materially and adversely affects the + operation of the network or violates the rules and + protocols for communication across the network. + + Corresponding Source conveyed, and Installation + Information provided, in accord with this section must be + in a format that is publicly documented (and with an + implementation available to the public in source code + form), and must require no special password or key for + unpacking, reading or copying. + +*** 7. Additional Terms. + + "Additional permissions" are terms that supplement the + terms of this License by making exceptions from one or + more of its conditions. Additional permissions that are + applicable to the entire Program shall be treated as + though they were included in this License, to the extent + that they are valid under applicable law. If additional + permissions apply only to part of the Program, that part + may be used separately under those permissions, but the + entire Program remains governed by this License without + regard to the additional permissions. + + When you convey a copy of a covered work, you may at your + option remove any additional permissions from that copy, + or from any part of it. (Additional permissions may be + written to require their own removal in certain cases + when you modify the work.) You may place additional + permissions on material, added by you to a covered work, + for which you have or can give appropriate copyright + permission. + + Notwithstanding any other provision of this License, for + material you add to a covered work, you may (if + authorized by the copyright holders of that material) + supplement the terms of this License with terms: + + - a) Disclaiming warranty or limiting liability + differently from the terms of sections 15 and 16 of + this License; or + + - b) Requiring preservation of specified reasonable legal + notices or author attributions in that material or in + the Appropriate Legal Notices displayed by works + containing it; or + + - c) Prohibiting misrepresentation of the origin of that + material, or requiring that modified versions of such + material be marked in reasonable ways as different from + the original version; or + + - d) Limiting the use for publicity purposes of names of + licensors or authors of the material; or + + - e) Declining to grant rights under trademark law for + use of some trade names, trademarks, or service marks; + or + + - f) Requiring indemnification of licensors and authors + of that material by anyone who conveys the material (or + modified versions of it) with contractual assumptions + of liability to the recipient, for any liability that + these contractual assumptions directly impose on those + licensors and authors. + + All other non-permissive additional terms are considered + "further restrictions" within the meaning of + section 10. If the Program as you received it, or any + part of it, contains a notice stating that it is governed + by this License along with a term that is a further + restriction, you may remove that term. If a license + document contains a further restriction but permits + relicensing or conveying under this License, you may add + to a covered work material governed by the terms of that + license document, provided that the further restriction + does not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this + section, you must place, in the relevant source files, a + statement of the additional terms that apply to those + files, or a notice indicating where to find the + applicable terms. + + Additional terms, permissive or non-permissive, may be + stated in the form of a separately written license, or + stated as exceptions; the above requirements apply either + way. + + +*** 8. Termination. + + You may not propagate or modify a covered work except as + expressly provided under this License. Any attempt + otherwise to propagate or modify it is void, and will + automatically terminate your rights under this License + (including any patent licenses granted under the third + paragraph of section 11). + + However, if you cease all violation of this License, then + your license from a particular copyright holder is + reinstated (a) provisionally, unless and until the + copyright holder explicitly and finally terminates your + license, and (b) permanently, if the copyright holder + fails to notify you of the violation by some reasonable + means prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder + is reinstated permanently if the copyright holder + notifies you of the violation by some reasonable means, + this is the first time you have received notice of + violation of this License (for any work) from that + copyright holder, and you cure the violation prior to 30 + days after your receipt of the notice. + + Termination of your rights under this section does not + terminate the licenses of parties who have received + copies or rights from you under this License. If your + rights have been terminated and not permanently + reinstated, you do not qualify to receive new licenses + for the same material under section 10. + + +*** 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to + receive or run a copy of the Program. Ancillary + propagation of a covered work occurring solely as a + consequence of using peer-to-peer transmission to receive + a copy likewise does not require acceptance. However, + nothing other than this License grants you permission to + propagate or modify any covered work. These actions + infringe copyright if you do not accept this + License. Therefore, by modifying or propagating a covered + work, you indicate your acceptance of this License to do + so. + +*** 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient + automatically receives a license from the original + licensors, to run, modify and propagate that work, + subject to this License. You are not responsible for + enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring + control of an organization, or substantially all assets + of one, or subdividing an organization, or merging + organizations. If propagation of a covered work results + from an entity transaction, each party to that + transaction who receives a copy of the work also receives + whatever licenses to the work the party's predecessor in + interest had or could give under the previous paragraph, + plus a right to possession of the Corresponding Source of + the work from the predecessor in interest, if the + predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the + exercise of the rights granted or affirmed under this + License. For example, you may not impose a license fee, + royalty, or other charge for exercise of rights granted + under this License, and you may not initiate litigation + (including a cross-claim or counterclaim in a lawsuit) + alleging that any patent claim is infringed by making, + using, selling, offering for sale, or importing the + Program or any portion of it. + +*** 11. Patents. + + A "contributor" is a copyright holder who authorizes use + under this License of the Program or a work on which the + Program is based. The work thus licensed is called the + contributor's "contributor version". + + A contributor's "essential patent claims" are all patent + claims owned or controlled by the contributor, whether + already acquired or hereafter acquired, that would be + infringed by some manner, permitted by this License, of + making, using, or selling its contributor version, but do + not include claims that would be infringed only as a + consequence of further modification of the contributor + version. For purposes of this definition, "control" + includes the right to grant patent sublicenses in a + manner consistent with the requirements of this License. + + Each contributor grants you a non-exclusive, worldwide, + royalty-free patent license under the contributor's + essential patent claims, to make, use, sell, offer for + sale, import and otherwise run, modify and propagate the + contents of its contributor version. + + In the following three paragraphs, a "patent license" is + any express agreement or commitment, however denominated, + not to enforce a patent (such as an express permission to + practice a patent or covenant not to sue for patent + infringement). To "grant" such a patent license to a + party means to make such an agreement or commitment not + to enforce a patent against the party. + + If you convey a covered work, knowingly relying on a + patent license, and the Corresponding Source of the work + is not available for anyone to copy, free of charge and + under the terms of this License, through a publicly + available network server or other readily accessible + means, then you must either (1) cause the Corresponding + Source to be so available, or (2) arrange to deprive + yourself of the benefit of the patent license for this + particular work, or (3) arrange, in a manner consistent + with the requirements of this License, to extend the + patent license to downstream recipients. "Knowingly + relying" means you have actual knowledge that, but for + the patent license, your conveying the covered work in a + country, or your recipient's use of the covered work in a + country, would infringe one or more identifiable patents + in that country that you have reason to believe are + valid. + + If, pursuant to or in connection with a single + transaction or arrangement, you convey, or propagate by + procuring conveyance of, a covered work, and grant a + patent license to some of the parties receiving the + covered work authorizing them to use, propagate, modify + or convey a specific copy of the covered work, then the + patent license you grant is automatically extended to all + recipients of the covered work and works based on it. + + A patent license is "discriminatory" if it does not + include within the scope of its coverage, prohibits the + exercise of, or is conditioned on the non-exercise of one + or more of the rights that are specifically granted under + this License. You may not convey a covered work if you + are a party to an arrangement with a third party that is + in the business of distributing software, under which you + make payment to the third party based on the extent of + your activity of conveying the work, and under which the + third party grants, to any of the parties who would + receive the covered work from you, a discriminatory + patent license (a) in connection with copies of the + covered work conveyed by you (or copies made from those + copies), or (b) primarily for and in connection with + specific products or compilations that contain the + covered work, unless you entered into that arrangement, + or that patent license was granted, prior to 28 + March 2007. + + Nothing in this License shall be construed as excluding + or limiting any implied license or other defenses to + infringement that may otherwise be available to you under + applicable patent law. + +*** 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, + agreement or otherwise) that contradict the conditions of + this License, they do not excuse you from the conditions + of this License. If you cannot convey a covered work so + as to satisfy simultaneously your obligations under this + License and any other pertinent obligations, then as a + consequence you may not convey it at all. For example, if + you agree to terms that obligate you to collect a royalty + for further conveying from those to whom you convey the + Program, the only way you could satisfy both those terms + and this License would be to refrain entirely from + conveying the Program. + +*** 13. Remote Network Interaction; Use with the GNU General Public License. + + Notwithstanding any other provision of this License, if + you modify the Program, your modified version must + prominently offer all users interacting with it remotely + through a computer network (if your version supports such + interaction) an opportunity to receive the Corresponding + Source of your version by providing access to the + Corresponding Source from a network server at no charge, + through some standard or customary means of facilitating + copying of software. This Corresponding Source shall + include the Corresponding Source for any work covered by + version 3 of the GNU General Public License that is + incorporated pursuant to the following paragraph. + + Notwithstanding any other provision of this License, you + have permission to link or combine any covered work with a + work licensed under version 3 of the GNU General Public + License into a single combined work, and to convey the + resulting work. The terms of this License will continue to + apply to the part which is the covered work, but the work + with which it is combined will remain governed by version + 3 of the GNU General Public License. + + +*** 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or + new versions of the GNU Affero General Public License from + time to time. Such new versions will be similar in spirit + to the present version, but may differ in detail to + address new problems or concerns. + + Each version is given a distinguishing version number. If + the Program specifies that a certain numbered version of + the GNU Affero General Public License "or any later + version" applies to it, you have the option of following + the terms and conditions either of that numbered version + or of any later version published by the Free Software + Foundation. If the Program does not specify a version + number of the GNU Affero General Public License, you may + choose any version ever published by the Free Software + Foundation. + + If the Program specifies that a proxy can decide which + future versions of the GNU Affero General Public License + can be used, that proxy's public statement of acceptance + of a version permanently authorizes you to choose that + version for the Program. + + Later license versions may give you additional or + different permissions. However, no additional obligations + are imposed on any author or copyright holder as a result + of your choosing to follow a later version. + +*** 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT + PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED + IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES + PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, + EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED + TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE + QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD + THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL + NECESSARY SERVICING, REPAIR OR CORRECTION. + + +*** 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO + IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY + WHO MODIFIES AND/OR CONVEYS THE PROGRAM AS PERMITTED + ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY + GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES + ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM + (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING + RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD + PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY + OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS + BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. + +*** 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability + provided above cannot be given local legal effect + according to their terms, reviewing courts shall apply + local law that most closely approximates an absolute + waiver of all civil liability in connection with the + Program, unless a warranty or assumption of liability + accompanies a copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + + *How to Apply These Terms to Your New Programs* + + If you develop a new program, and you want it to be of the + greatest possible use to the public, the best way to + achieve this is to make it free software which everyone + can redistribute and change under these terms. + + To do so, attach the following notices to the program. It + is safest to attach them to the start of each source file + to most effectively state the exclusion of warranty; and + each file should have at least the "copyright" line and a + pointer to where the full notice is found. + +#+BEGIN_EXAMPLE + Copyright (C) + + This program is free software: you can redistribute it + and/or modify it under the terms of the GNU Affero + General Public License as published by the Free Software + Foundation, either version 3 of the License, or (at your + option) any later version. + + This program is distributed in the hope that it will be + useful, but WITHOUT ANY WARRANTY; without even the + implied warranty of MERCHANTABILITY or FITNESS FOR A + PARTICULAR PURPOSE. See the GNU Affero General Public + License for more details. + + You should have received a copy of the GNU Affero + General Public License along with this program. If not, + see . + +#+END_EXAMPLE + + Also add information on how to contact you by electronic + and paper mail. + + If your software can interact with users remotely through + a computer network, you should also make sure that it + provides a way for users to get its source. For example, + if your program is a web application, its interface could + display a "Source" link that leads users to an archive of + the code. There are many ways you could offer source, and + different solutions will be better for different programs; + see section 13 for the specific requirements. + + You should also get your employer (if you work as a + programmer) or school, if any, to sign a "copyright + disclaimer" for the program, if necessary. For more + information on this, and how to apply and follow the GNU + AGPL, see . diff --git a/logger.js b/logger.js new file mode 100644 index 00000000..39208449 --- /dev/null +++ b/logger.js @@ -0,0 +1,95 @@ +const winston = require("winston"); +const path = require("path"); +var PROJECT_ROOT = __dirname + +const { format } = winston; +const { combine, timestamp, printf, colorize } = format; + +const vlabsDefaultFormat = printf(({ level, message, timestamp }) => { + return `${timestamp} ${level}: ${message}`; +}); + +const log = new winston.createLogger({ + level: "debug", + format: combine( + timestamp(), + vlabsDefaultFormat + ), + transports: [ + new winston.transports.File({ filename: path.resolve(PROJECT_ROOT,"build-error.log"), level: "error", handleExceptions: true }), + new winston.transports.File({ filename: path.resolve(PROJECT_ROOT,"build-combined.log"), handleExceptions: true }) + ], + exitOnError: false +}); + +log.stream = { + write: function (message) { + log.info(message) + } +} +// A custom log interface that wraps winston, making it easy to instrument +// code and still possible to replace winston in the future. + +module.exports.addDebug = function () { + log.add(new winston.transports.Console({level: "debug",format: combine(colorize({all: true}),timestamp(),vlabsDefaultFormat), handleExceptions: true})) +} + +module.exports.addInfo = function () { + log.add(new winston.transports.Console({level: "info",format: combine(colorize({all: true}),timestamp(),vlabsDefaultFormat), handleExceptions: true})) +} + +module.exports.debug = module.exports.log = function () { + log.debug.apply(log, formatLogArguments(arguments)) +} +module.exports.info = function () { + log.info.apply(log, formatLogArguments(arguments)) +} +module.exports.warn = function () { + log.warn.apply(log, formatLogArguments(arguments)) +} +module.exports.error = function () { + log.error.apply(log, formatLogArguments(arguments)) +} +module.exports.stream = log.stream +/** + * Attempts to add file and line number info to the given log arguments. + */ +function formatLogArguments (args) { + args = Array.prototype.slice.call(args) + var stackInfo = getStackInfo(1) + if (stackInfo) { + // get file path relative to project root + var calleeStr = '[' + stackInfo.relativePath + ':' + stackInfo.line + ":" + stackInfo.pos + ']' + if (typeof (args[0]) === 'string') { + args[0] = calleeStr + ' ' + args[0] + } else { + args.unshift(calleeStr) + } + } + return args +} +/** + * Parses and returns info about the call stack at the given index. + */ +function getStackInfo (stackIndex) { + // get call stack, and analyze it + // get all file, method, and line numbers + var stacklist = (new Error()).stack.split('\n').slice(3) + // stack trace format: + // http://code.google.com/p/v8/wiki/JavaScriptStackTraceApi + // do not remove the regex expresses to outside of this method (due to a BUG in node.js) + var stackReg = /at\s+(.*)\s+\((.*):(\d*):(\d*)\)/gi + var stackReg2 = /at\s+()(.*):(\d*):(\d*)/gi + var s = stacklist[stackIndex] || stacklist[0] + var sp = stackReg.exec(s) || stackReg2.exec(s) + if (sp && sp.length === 5) { + return { + method: sp[1], + relativePath: path.relative(PROJECT_ROOT, sp[2]), + line: sp[3], + pos: sp[4], + file: path.basename(sp[2]), + stack: stacklist.join('\n') + } + } +} \ No newline at end of file diff --git a/main.js b/main.js index 583552c2..c5a10764 100644 --- a/main.js +++ b/main.js @@ -1,561 +1,416 @@ -const Handlebars = require("handlebars"); -const fs = require("fs"); -const glob = require("glob"); -const path = require("path"); -const { JSDOM } = require("jsdom"); -const child_process = require("child_process"); -const readline = require("readline"); -const url = require("url"); -const fse = require("fs-extra"); -const { StringDecoder } = require("string_decoder"); -const figures = require("figures"); -const chalk = require("chalk"); -const shell = require("shelljs"); -const moment = require("moment"); -const Git = require("nodegit"); -const prettier = require("prettier"); - -const validator = require("./validateDescriptor.js"); -const gs = require("./googlesheet.js"); -const labDescriptorFn = "lab-descriptor.json"; - -shell.config.silent = true; -shell.set("-e"); - -/* - Copy lab descriptor to the lab repository's working directory. If - a lab-descriptor is already present then don't copy. -*/ -function copyLabDescriptor(repoDir) { - const ldpath = path.resolve(repoDir, labDescriptorFn); - if (fse.existsSync(ldpath)) { - console.error("Lab Descriptor Already exists"); - } else { - fse.copySync(labDescriptorFn, ldpath); - } -} - -function stageLab(src, destPath) { - console.log(`STAGE LAB to ${destPath}\n`); - shell.exec(`mkdir -p ${destPath}`); - child_process.execSync(`rsync -a ${src} ${destPath}`); -} - -function buildPage(template_file, component_files, content_file) { - const main_template = fs.readFileSync(template_file, "utf-8"); - const components = loadComponents(component_files); - const content = fs.readFileSync(`page-components/${content_file}`, "utf-8"); - const res_html = populateTemplate(main_template, components, content); - return res_html; -} - -function loadComponents(component_files) { - const components = component_files.map((fn) => - fs.readFileSync(`page-components/${fn}`, "utf-8") - ); - return components; -} - -function populateTemplate(template, components, content) { - let dom = new JSDOM(`${template}`); - let res = addAnalytics(dom, components[0]); - res = addLabName(res, components[1]); - res = addBroadAreaName(res, components[2]); - res = addSideBar(res, components[3]); - res = addContent(res, content); - return res.serialize(); -} - -function addAnalytics(dom, analyticsSnippet) { - dom.window.document.head.querySelector("script").innerHTML = analyticsSnippet; - return dom; -} - -function addNavbar(dom, navbar) { - dom.window.document.querySelector("header").innerHTML = navbar; - return dom; -} - -function addSlider(dom, slider) { - dom.window.document.querySelector("#content > div").innerHTML = slider; - return dom; -} - -function addBroadAreaName(dom, broadareaName) { - dom.window.document.querySelector( - ".vlabs-page-main > div" - ).innerHTML = broadareaName; - return dom; -} - -function addLabName(dom, labname) { - dom.window.document.querySelector(".lab-name").innerHTML = labname; - return dom; -} - -function addSideBar(dom, sidebar) { - dom.window.document.querySelector(".sidebar").innerHTML = sidebar; - return dom; -} - -function addContent(dom, ctnt) { - dom.window.document.querySelector( - ".vlabs-page-content > div" - ).innerHTML = ctnt; - return dom; -} - -function addFooter(dom, footer) { - dom.window.document.querySelector("footer").innerHTML = footer; - return dom; -} - -function addRandomJsThings(dom, jsthings) { - dom.window.document.body.innerHTML = - dom.window.document.body.innerHTML + jsthings; - return dom; -} - -function genComponentHtml(fn, data) { - const template = fs.readFileSync(fn, "utf-8"); - const base = path.parse(fn).name; - html = Handlebars.compile(template)(data); - fs.writeFileSync(`page-components/${base}.html`, html, "utf-8"); -} - -function prepareStructure(labpath) { - child_process.execSync(`cp -rf lab-structure/* ${labpath}/`); - child_process.execSync(`mkdir -p ${labpath}/src/lab`); -} - -function copyPages(pages, template_file, component_files, labpath) { - pages.forEach((p) => { - const res_html = buildPage(template_file, component_files, p.src); - fs.writeFileSync(`${labpath}/src/lab/${p.target}`, res_html, "utf-8"); - }); -} - -function generateLab(pages, labpath, template_file, component_files) { - child_process.execSync( - `cd ${labpath}; git checkout master; git pull origin master` - ); - child_process.execSync(`cd ${labpath}`); - prepareStructure(labpath); - copyPages(pages, template_file, component_files, labpath); - child_process.execSync(`cd ${labpath}; make`); -} - -function dataPreprocess(datafile) { - const data = JSON.parse(fs.readFileSync(datafile)); - - if (data.experiments) { - data.experiments = data.experiments.map((e) => { - const exp_url = generateLink(data.baseUrl, e["short-name"]); - return { name: e.name, link: exp_url.toString() }; - }); - return data; - } else { - if (data["experiment-sections"]) { - data["experiment-sections"] = data["experiment-sections"].map((es) => { - return { - "sect-name": es["sect-name"], - experiments: es.experiments.map((e) => { - const exp_url = generateLink( - data.baseUrl, - e["short-name"], - (index_fn = "exp.html") - ); - return { name: e.name, link: exp_url.toString() }; - }), - }; - }); - return data; - } - } -} - -function toDirName(n) { - return n.toLowerCase().trim().replace(/–/g, "").replace(/ +/g, "-"); -} - -function generateLink(baseUrl, expName, index_fn = "") { - const expUrl = new URL( - `https://${baseUrl}/exp/${expName}/${index_fn}` - ); - //console.log(expUrl.href); - return expUrl; -} - -function labURL(host, name) { - return new URL(`https://${host}/${toDirName(name)}`); -} - -function generate(labpath) { - const data = dataPreprocess(path.join(labpath, "lab-descriptor.json")); - - const template_file = "skeleton-new.html"; - const config = JSON.parse(fs.readFileSync("config.json")); - const component_files = config.commonComponents; - - const fns = glob.sync("page-templates/*.handlebars"); - if ( - data.experiments === undefined && - data["experiment-sections"] !== undefined - ) { - fns.forEach((fn) => genComponentHtml(fn, data)); - config.pages = config.pages.filter( - (p) => !(p.src === "list-of-experiments-ctnt.html") - ); - } else { - if ( - data.experiments !== undefined && - data["experiment-sections"] === undefined - ) { - fns - .filter((fn) => !fn.includes("nested")) - .forEach((fn) => genComponentHtml(fn, data)); - } - config.pages = config.pages.filter( - (p) => !(p.src === "nested-list-of-experiments-ctnt.html") - ); - } - generateLab(config.pages, labpath, template_file, component_files); -} - -function deployExperiments(labpath) { - const ldpath = path.resolve(labpath, "lab-descriptor.json"); - const ld = require(ldpath); - if (ld.collegeName === "IIITH") { - iiith_exp_manage(ld); - return; - } else { - const expDeploymentRepo = - "https://github.com/virtual-labs/ph3-beta-to-ui3.0-conv.git"; - const expDeploymentWd = "ph3-beta-to-ui3.0-conv"; - const tag = "1.1.1_fix_3"; - - //child_process.execSync(`rm -rf ${expDeploymentWd}`); - //child_process.execSync( - // `git clone ${expDeploymentRepo}; cd ${expDeploymentWd}; git fetch --all; git checkout ${tag}` - //); - - child_process.execSync( - `cp ${ldpath} ${expDeploymentWd}/experiment-list.json` - ); - child_process.execSync(`cd ${expDeploymentWd}; make host-experiments`); - } -} - -function getLabName(labpath) { - const ldpath = path.resolve(labpath, "lab-descriptor.json"); - const labdesc = require(ldpath); - return toDirName(labdesc.lab); -} - -// --- iiit exp - -function iiithexp_clone(e, exp_dir, common_repo_name) { - console.log(chalk`{cyan CLONE} {yellow from} ${e.repo}`); - const e_short_name = e["short-name"]; - shell.mkdir("-p", path.resolve(exp_dir, e_short_name)); - shell.cd(path.resolve(exp_dir, e_short_name)); - shell.rm("-rf", common_repo_name); - shell.exec(`git clone --depth 1 ${e.repo}/${common_repo_name}`); - shell.cd(common_repo_name); - shell.exec("git fetch --all"); - shell.exec(`git checkout ${e.tag}`); - shell.cd(__dirname); -} - -function iiithexp_build(e, exp_dir, common_repo_name) { - const e_short_name = e["short-name"]; - - console.log( - chalk`{cyan BUILD} {yellow at} ${path.resolve( - exp_dir, - e_short_name, - common_repo_name - )}` - ); - - shell.cd(`${exp_dir}/${e_short_name}/${common_repo_name}`); - shell.cp("config.mk.sample", "config.mk"); - shell.exec("make clean-infra; make clean; make -k all"); - shell.cd("../../../"); -} - -function iiithexp_stage(e, exp_dir, common_repo_name, deployment_dest) { - const e_short_name = toDirName(e["short-name"]); - - console.log( - chalk`{cyan STAGE} {yellow to} ${path.resolve( - deployment_dest, - "stage", - "exp", - e_short_name - )}` - ); - - shell.rm("-rf", `${deployment_dest}/stage/exp/${e_short_name}/`); - shell.mkdir( - "-p", - path.resolve(deployment_dest, "stage", "exp", e_short_name) - ); - shell.cp( - "-rf", - `${exp_dir}/${e_short_name}/${common_repo_name}/build/*`, - `${deployment_dest}/stage/exp/${e_short_name}/` - ); -} - -function expList(data) { - if (data.experiments) { - const experiments = data.experiments; - return experiments; - } else { - const experiments = data["experiment-sections"] - .map((es) => es.experiments) - .flat(); - return experiments; - } -} - -function iiith_exp_manage(lab_descriptor) { - const config = require("./config.json"); - const exp_dir = config["exp_dir"]; - const common_repo_name = config["common_repo_name"]; - const deployment_dest = config["deployment_dest"]; - const lab_dir_name = toDirName(lab_descriptor.lab); - const deployment_path = path.join(deployment_dest, lab_dir_name); - const experiments = expList(lab_descriptor); - - experiments.forEach((e) => { - console.log(""); - iiithexp_clone(e, exp_dir, common_repo_name); - iiithexp_build(e, exp_dir, common_repo_name); - iiithexp_stage(e, exp_dir, common_repo_name, deployment_path); - console.log(""); - }); -} - -// --- iiit exp - -function golive(labpath) { - const config = require("./config.json"); - const deployment_dest = config["deployment_dest"]; - const lab_descriptor = require(path.resolve(labpath, "lab-descriptor.json")); - const lab_dir_name = toDirName(lab_descriptor.lab); - const deployment_path = path.join(deployment_dest, lab_dir_name); - - const elist = expList(require(path.resolve(labpath, "lab-descriptor.json"))); - - elist.forEach((e) => { - console.log( - chalk`{bold DEPLOY} {yellow to} ${path.resolve( - deployment_path, - "exp", - e["short-name"] - )}` - ); - shell.mkdir("-p", path.resolve(deployment_path, "exp", e["short-name"])); - shell.exec(`rsync -arv --exclude .git \ -${deployment_path}/stage/exp/${e["short-name"]}/* ${deployment_path}/exp/${e["short-name"]}`); - }); - - console.log(chalk`{bold DEPLOY LAB} to ${deployment_dest}/${lab_dir_name}`); - shell.exec(`rsync -arv --exclude .git \ -${deployment_dest}/stage/${lab_dir_name}/* ${deployment_dest}/${lab_dir_name}`); -} - - -function init() { - console.log("initializing"); -} - -async function maybeProcessAll(labpath) { - generate(labpath); - deployExperiments(labpath); - stageLab( - `${labpath}/build/*`, - path.resolve("/var/www/html/stage", getLabName(labpath)) - ); - golive(labpath); -} - - -function labgen() { - const args = require("minimist")(process.argv.slice(2), { - boolean: ["init"], - }); - - const labpath = args._[0]; - if (!fs.existsSync(labpath)) { - console.error(chalk`{red Invalid Lab Path} '${labpath}'`); - } else { - if (args.init) { - init(args._); - } else { - - const isValid = validator.validateLabDescriptor(path.resolve(labpath, labDescriptorFn)); - if(!isValid){ - return; - } - - const rl = readline.createInterface({ - input: process.stdin, - output: process.stdout, - }); - rl.question("release type? :: ", (release_type) => { - rl.close(); - nextVersion(labpath, release_type) - .then((t) => { - maybeProcessAll(labpath) - .then(() => { - reportRes(labpath, t, "SUCCESS"); - }) - .catch((e) => { - console.log(e); - reportRes(labpath, t, "FAILURE"); - }); - }) - .catch((e) => { - console.log(e); - reportRes(labpath, t, "FAILURE"); - }); - }); - } - } -} - -function reportRes(labpath, tag, res) { - ld = updateDescriptor(labpath, tag); - //updateRecord(ld, res); - //pushlab(labpath); - if (res === "SUCCESS") { - //release(labpath, tag); - } -} - -function updateDescriptor(labpath, t) { - ld = LD(labpath); - ld.version = t; - lds = prettier.format(JSON.stringify(ld), { parser: "json" }); - fs.writeFileSync(path.resolve(labpath, "lab-descriptor.json"), lds, "utf-8"); - return ld; -} - - -function updateRecord(lab_descriptor, exec_status) { - const rec = { - date: moment().format("DD MMMM YYYY"), - time: moment().format("hh:mm:ss"), - unit: "LAB", - url: labURL(lab_descriptor.baseUrl, lab_descriptor.lab), - version: lab_descriptor.version, - status: exec_status, - }; - gs.appendExecutionResult(rec); -} - -function LD(lp) { - return require(path.resolve(lp, "lab-descriptor.json")); -} - -function pushlab(labpath) { - const commitMsg = `Lab generated at ${moment()}`; - child_process.execSync( - `cd ${labpath}; -git add license.org lab-descriptor.json src/; -git commit -m "${commitMsg}"; -git push origin master` - ); -} - -function release(labpath, tag_name) { - child_process.execSync( - `cd ${labpath}; -git tag -a ${tag_name} -m "version ${tag_name}"; -git push origin ${tag_name}` - ); - return tag_name; -} - -function semanticVersion(t) { - const nums = t.slice(1).split("."); - return { - major: parseInt(nums[0]), - minor: parseInt(nums[1]), - patch: parseInt(nums[2]), - id: parseInt(t.slice(1).replace(/\./g, "")), - }; -} - -function compareTags(t1, t2) { - const st1 = semanticVersion(t1); - const st2 = semanticVersion(t2); - return st2.id - st1.id; -} - -function latestTag(tags) { - if (tags.length === 0) { - return "v0.0.0"; - } - tags.sort(compareTags); - return tags[0]; -} - -function nextMajor(t) { - t.major += 1; - t.minor = 0; - t.patch = 0; - return t; -} - -function nextMinor(t) { - t.minor += 1; - t.patch = 0; - return t; -} - -function nextPatch(t) { - t.patch += 1; - return t; -} - -function incrementTagNumber(tag, release_type) { - const st = semanticVersion(tag); - switch (release_type) { - case "major": - nextMajor(st); - break; - - case "minor": - nextMinor(st); - break; - - case "patch": - nextPatch(st); - break; - - default: - nextMinor(st); - break; - } - - return `v${st.major}.${st.minor}.${st.patch}`; -} - -function nextVersion(labpath, release_type) { - const p = Git.Repository.open(labpath) - .then(function (repository) { - return Git.Tag.listMatch("v*.*.*", repository); - }) - .then(latestTag) - .then((t) => incrementTagNumber(t, release_type)); - return p; -} - -labgen(); - - -// "de-iitr.vlabs.ac.in", +#!/usr/bin/env node +const fs = require("fs"); +const shell = require("shelljs"); +const { BuildEnvs, validBuildEnv, ContentTypes, DeveloperInstitutes } = require("./enums.js"); +const { run } = require("./exp_build/exp_gen.js"); +const minimist = require("minimist"); +const Config = require("./config.js"); +const path = require("path"); +const log = require("./logger"); +const { buildLab, deployLab, validation } = require("./lab_build/lab_gen.js"); +// Build/run +// Flags = clean build, with plugin, without plugin, validation on off, also deploy locally + +function helper() { + console.log("Usage: node main.js [mode] [options]"); + console.log("Modes:"); + console.log(" build Build the experiment"); + console.log(" validate Validate the code and content"); + console.log(" clean Clean the build and plugins"); + console.log(" deploy Deploy the experiment locally"); + console.log(" buildLab Build the lab"); + console.log(" deployLab Deploy the lab locally"); + console.log("\n"); + console.log("Common Options:"); + console.log(" --src path to the experiment, default is parent directory"); + console.log(" --debug enable debug mode"); + console.log(" --help display help for command"); + console.log("\n"); + console.log("Mode: build"); + console.log("Usage: build [options]"); + console.log("Options:"); + console.log(" --clean clean build folder"); + console.log(" --validateEslint validate the code using eslint"); + console.log(" --validateExpDesc validate the experiment description and assessment files"); + console.log(" --disablePlugin disable the plugins"); + console.log(" --disableAnalytics disable the analytics configuration"); + console.log(" --deploy deploy the experiment locally"); + console.log(" --env environment to build the experiment"); + console.log("\n"); + console.log("Mode: Validate"); + console.log("Usage: validate [options]"); + console.log("Options:"); + console.log(" --validateEslint validate the code using eslint"); + console.log(" --validateExpDesc validate the experiment description and assessment files"); + console.log("\n"); + console.log("Mode: clean"); + console.log("Usage: clean"); + console.log("\n"); + console.log("Mode: deploy"); + console.log("Usage: deploy"); + console.log("\n"); + console.log("Mode: buildLab"); + console.log("Usage: buildLab [options]"); + console.log("Options:"); + console.log(" --src path to the lab, default is parent directory"); + console.log(" --deploy deploy the lab locally"); + console.log(" --release release type of the lab, default is minor"); + console.log("\n"); + console.log("Mode: deployLab"); + console.log("Usage: deployLab [options]"); + console.log("Options:"); + console.log(" --src path to the lab, default is parent directory"); + console.log(" --release release type of the lab, default is minor"); + console.log("\n"); +} + + +function getAssessmentPath(src, units) { + let assessmentPath = []; + units.forEach((unit) => { + if (unit["unit-type"] === "lu") { + const nextSrc = path.resolve(src, unit.basedir); + let paths = getAssessmentPath(nextSrc, unit.units); + assessmentPath.push(...paths); + } + if (unit["content-type"] === ContentTypes.ASSESMENT || unit["content-type"] === ContentTypes.ASSESSMENT) { + const quiz = path.resolve(src, unit.source); + assessmentPath.push(quiz); + } + }); + return assessmentPath; +} + +function build( + isClean, + isESLINT, + isExpDesc, + isDeploy, + isPlugin, + src, + build_options +) { + if (isClean) { + log.debug("Cleaning build folder"); + clean(src); + } + + build_options.isValidate = isESLINT || isExpDesc; + build_options.isESLINT = isESLINT; + build_options.isExpDesc = isExpDesc; + + // Create build folder + // shell.mkdir(path.resolve(src, Config.Experiment.build_dir)); + // if (!fs.existsSync(bp)) { + // fs.mkdirSync(bp); + // } + + // run + + const default_lab_data = {}; + + const paths = path.resolve(src).split(path.sep); + const base = paths[paths.length - 1]; + + // Get the experiment name and developer institute name from the repo name of the + // format exp-- e.g. exp-geometry-optimization-molecules-iiith + const path_name_regex = /exp-(?[\w-]+)-(?\w+)$/i; + const match = base.match(path_name_regex); + + if (match && match.groups) { + default_lab_data.exp_short_name = match.groups.expName; + default_lab_data.collegeName = match.groups.devInstituteName.toUpperCase(); + // The following change is needed as the Dayalbagh repo are created with a + // suffix dei whereas the institute code is DLBG and Amrata University + // repos are created with suffix AU. This was causing incorrect + // labelling of bugs reported in the testing builds + if (default_lab_data.collegeName === 'DEI') { + default_lab_data.collegeName = 'DLBG'; + } else if (default_lab_data.collegeName === 'AU') { + default_lab_data.collegeName = 'AMRT'; + } else if (!DeveloperInstitutes.includes(default_lab_data.collegeName)) { + default_lab_data.collegeName = 'UNSPECIFIED'; + } + default_lab_data.phase = "Testing"; + default_lab_data.lab = "Virtual Lab"; + default_lab_data.lab_display_name = "Virtual Lab Display Name"; + default_lab_data.broadArea = { name: "Test" }; + } else { + log.error("No match found"); + } + + if (isPlugin) { + build_options.plugins = true; + } else { + build_options.plugins = false; + } + run(src, default_lab_data, build_options); + + if (isDeploy) { + log.debug("Deploying after building locally"); + deployLocal(src); + } +} + +// Validate +// 1.eslint +// 2. exp desc +function validate(isESLINT, isExpDesc, src) { + const ep = path.resolve(src, Config.Experiment.exp_dir); + const descriptorPath = path.resolve(src, Config.Experiment.descriptor_name); + if (isESLINT) { + try { + log.debug("Validating with eslint"); + shell.exec(`npx eslint -c ${__dirname}/exp_build/.eslintrc.js ${ep}`, { silent: false }); + } catch (e) { + log.error("Error validating with eslint", e); + } + } + if (isExpDesc) { + try { + log.debug("Validating experiment descriptor"); + shell.exec( + `node ${__dirname}/validation/validate.js -f ${descriptorPath}`, { silent: false } + ); + } catch (e) { + log.error("Error validating experiment descriptor", e); + } + // read from descriptorPath + // loop through the units and validate the content + try { + log.debug("Validating Assessment files"); + const descriptor = require(descriptorPath); + const assessmentPath = getAssessmentPath(ep, descriptor.units); + assessmentPath.forEach((file) => { + if (fs.existsSync(file)) { + // trim ep from file + const fileName = file.replace(ep, ""); + shell.exec( + `echo =${fileName}`, { silent: false } + ); + shell.exec( + `node ${__dirname}/validation/validate.js -f ${file} -c assessment`, { silent: false } + ); + } else { + log.error(`Assessment file ${path} does not exist`); + } + }); + } catch (e) { + log.error("Error validating Assessment files", e); + } + } +} + +// Clean +function clean(src) { + // Check if build exists + try { + const bp = path.resolve(src, Config.Experiment.build_dir); + if (fs.existsSync(bp)) { + fs.rmSync(bp, { recursive: true }); + } + if (fs.existsSync("./plugins")) { + fs.rmSync("./plugins", { recursive: true }); + } + log.debug("Cleaned build folder"); + } catch (e) { + log.error("Error cleaning build folder", e); + } +} + +// Deploy Locally +function deployLocal(src) { + // Check if build exists + const bp = path.resolve(src, Config.Experiment.build_dir); + if (fs.existsSync(bp)) { + // Deploy + try { + log.debug("Deploying locally"); + const child = shell.exec(`npx http-server -p 0 -c-1 --no-dotfiles ${bp} -o /index.html`, { async: true }); + child.stdout.on('data', function(data) { + console.log(data); + }); + } catch (e) { + log.error("Error deploying locally", e); + } + } else { + // Throw error + log.error("Build does not exist, build first"); + } +} + +function main() { + const args = minimist(process.argv.slice(2)); + + // check for help flag + if (args.help) { + helper(); + return; + } + + + let isClean = args.clean || false; + let isESLINT = args.validateEslint || false; + let isExpDesc = args.validateExpdesc || false; + let isDeploy = args.deploy || false; + let isPlugin = args.disablePlugin ? false : true; + let isESLINTValidate = args.validateEslint || false; + let isExpDescValidate = args.validateExpdesc || false; + let isDebug = args.debug || false; + let addAnalytics = args.disableAnalytics ? false : true; + // for backwards compatibility if the env is not given assume it to + // be testing. + const build_options = {}; + + if (args.env) { + build_options.env = validBuildEnv(args.env); + } else { + build_options.env = BuildEnvs.TESTING; + } + + build_options.vlabsInfraConfig = Config.VLAB_INFRA_CONFIG[build_options.env]; + + build_options.isValidate = isESLINT || isExpDesc; + build_options.isESLINT = isESLINT; + build_options.isExpDesc = isExpDesc; + build_options.addAnalytics = addAnalytics; + + if (isPlugin) { + build_options.plugins = true; + } else { + build_options.plugins = false; + } + + // if the path is not provided assume "../" for backward + // compatability. + let src = "."; + if (args.src) { + src = args.src; + } + + if (isDebug) { + log.addDebug(); + log.info("Debug mode enabled"); + } else { + log.addInfo(); + } + + let option = ""; + if (args._.length === 1) { + option = args._[0]; + } else { + log.error("Invalid Arguments"); + console.log("Invalid Arguments"); + helper(); + return; + } + + let release = args.release || "minor"; + let labpath = ""; + + switch (option) { + case "build": + // let isClean = args.clean || false; + // let isESLINT = args.validateEslint || false; + // let isExpDesc = args.validateExpdesc || false; + // let isDeploy = args.deploy || false; + // let isPlugin = args.disablePlugin ? false : true; + log.info("Calling build with options: "); + log.info(`isClean: ${isClean}`); + log.info(`isESLINT: ${isESLINT}`); + log.info(`isExpDesc: ${isExpDesc}`); + log.info(`isDeploy: ${isDeploy}`); + log.info(`isPlugin: ${isPlugin}`); + build( + isClean, + isESLINT, + isExpDesc, + isDeploy, + isPlugin, + src, + build_options + ); + log.info("Build Complete"); + break; + + case "validate": + // let isESLINTValidate = args.eslint || false; + // let isExpDescValidate = args.expdesc || false; + log.info("Calling validate with options: "); + log.info(`isESLINT: ${isESLINTValidate}`); + log.info(`isExpDesc: ${isExpDescValidate}`); + validate(isESLINTValidate, isExpDescValidate, src); + break; + + case "clean": + log.info("Calling clean"); + clean(src); + log.info("Clean Complete"); + break; + + case "deploy": + log.info("Calling deploy"); + deployLocal(src); + break; + + case "buildLab": + log.info("Calling buildLab"); + labpath = path.resolve(src); + if (validation(labpath)) { + buildLab(labpath, build_options); + log.info("BuildLab Complete"); + if (args.deploy) { + log.info("Calling deploy Lab"); + + deployLab(labpath, release); + log.info("Deploy Lab Complete"); + } + } + break; + + case "deployLab": + log.info("Calling deploy Lab"); + labpath = path.resolve(src); + if (validation(labpath)) { + deployLab(src, release); + log.info("Deploy Lab Complete"); + break; + } + + default: + log.error("Invalid Arguments"); + console.log("Invalid Arguments"); + helper(); + break; + } +} + + +// call main function if this file is run directly +if (require.main === module) { + main(); +} + +// Build - validate +// node main.js build --validateEslint --validateExpdesc ../ +// Clean Build - validate +// node main.js build --clean --validateEslint --validateExpdesc ../ +// Build and deploy locally +// node main.js build --validateEslint --validateExpdesc --deploy ../ +// Build without plugin +// node main.js build --validateEslint --validateExpdesc --disablePlugin ../ +// Build without validation +// node main.js build ../ +// Validate +// node main.js validate --eslint --expdesc ../ +// Clean +// node main.js clean ../ +// Deploy +// node main.js deploy ../ + +module.exports = { + build, + validate, + clean, + deployLocal +}; \ No newline at end of file diff --git a/npm-wrapper.js b/npm-wrapper.js new file mode 100644 index 00000000..313e603f --- /dev/null +++ b/npm-wrapper.js @@ -0,0 +1,254 @@ +#!/usr/bin/env node +const minimist = require("minimist"); +const { build, validate, clean, deployLocal } = require("./main.js"); +const {buildLab, deployLab,validation} = require("./lab_build/lab_gen.js"); +const { BuildEnvs, validBuildEnv } = require("./enums.js"); +const log = require("./logger"); +const path = require("path"); + +function help(){ + console.log("Usage: npx @virtual-labs/buildexp [command]"); + console.log("Options:"); + console.log("Commands:"); + console.log(" build-exp Build the experiment"); + console.log(" build-exp-deploy Build the experiment and deploy locally"); + console.log(" build-exp-noplugin Build the experiment without using any plugins"); + console.log(" clean-build-exp Clean and build the experiment"); + console.log(" validate Validate the code and content"); + console.log(" clean Clean the build and plugins"); + console.log(" deploy Deploy the experiment locally"); + console.log(" build-lab Build the lab"); + console.log(" deploy-lab Deploy the lab locally"); + console.log(" build-and-deploy-lab Build and deploy the lab locally"); + console.log(" help Display help for command"); +} + +function main() { + // console.log("Vlabs Build Exp"); + const args = minimist(process.argv.slice(2)); + + // for backwards compatibility if the env is not given assume it to + // be testing. + const build_options = {}; + if (args.env) { + build_options.env = validBuildEnv(args.env); + } else { + build_options.env = BuildEnvs.TESTING; + } + + // if the path is not provided assume "." for backward + // compatability. + let src = "."; + if (args.src) { + src = args.src; + } + + let isDebug = args.debug || false; + if (isDebug) { + log.addDebug(); + log.info("Debug mode enabled"); + } else { + log.addInfo(); + } + + let option = ""; + if (args._.length === 1) { + option = args._[0]; + } else { + log.error("Invalid Arguments"); + console.log("Invalid Arguments"); + help(); + return; + } + + let release = args.release || "minor"; + let labpath = ""; + + // options + let isClean = false; + let isESLINT = false; + let isExpDesc = false; + let isDeploy = false; + let isPlugin = false; + + switch (option) { + case "build-exp": + isESLINT = true; + isExpDesc = true; + isPlugin = true; + log.info("Calling build with options: "); + log.info(`isClean: ${isClean}`); + log.info(`isESLINT: ${isESLINT}`); + log.info(`isExpDesc: ${isExpDesc}`); + log.info(`isDeploy: ${isDeploy}`); + log.info(`isPlugin: ${isPlugin}`); + build( + isClean, + isESLINT, + isExpDesc, + isDeploy, + isPlugin, + src, + build_options + ); + log.info("Build Complete"); + break; + + case "clean-build-exp": + isClean = true; + isESLINT = true; + isExpDesc = true; + isPlugin = true; + log.info("Calling build with options: "); + log.info(`isClean: ${isClean}`); + log.info(`isESLINT: ${isESLINT}`); + log.info(`isExpDesc: ${isExpDesc}`); + log.info(`isDeploy: ${isDeploy}`); + log.info(`isPlugin: ${isPlugin}`); + build( + isClean, + isESLINT, + isExpDesc, + isDeploy, + isPlugin, + src, + build_options + ); + log.info("Build Complete"); + break; + + case "build-exp-deploy": + isESLINT = true; + isExpDesc = true; + isPlugin = true; + isDeploy = true; + log.info("Calling build with options: "); + log.info(`isClean: ${isClean}`); + log.info(`isESLINT: ${isESLINT}`); + log.info(`isExpDesc: ${isExpDesc}`); + log.info(`isDeploy: ${isDeploy}`); + log.info(`isPlugin: ${isPlugin}`); + build( + isClean, + isESLINT, + isExpDesc, + isDeploy, + isPlugin, + src, + build_options + ); + log.info("Build Complete"); + break; + + case "build-exp-noplugin": + isClean = true; + log.info("Calling build with options: "); + log.info(`isClean: ${isClean}`); + log.info(`isESLINT: ${isESLINT}`); + log.info(`isExpDesc: ${isExpDesc}`); + log.info(`isDeploy: ${isDeploy}`); + log.info(`isPlugin: ${isPlugin}`); + build( + isClean, + isESLINT, + isExpDesc, + isDeploy, + isPlugin, + src, + build_options + ); + log.info("Build Complete"); + break; + + case "build-exp-noplugin": + isClean = true; + isPlugin = true; + log.info("Calling build with options: "); + log.info(`isClean: ${isClean}`); + log.info(`isESLINT: ${isESLINT}`); + log.info(`isExpDesc: ${isExpDesc}`); + log.info(`isDeploy: ${isDeploy}`); + log.info(`isPlugin: ${isPlugin}`); + build( + isClean, + isESLINT, + isExpDesc, + isDeploy, + isPlugin, + src, + build_options + ); + log.info("Build Complete"); + break; + + case "validate": + let isESLINTValidate = true; + let isExpDescValidate = true; + log.info("Calling validate with options: "); + log.info(`isESLINT: ${isESLINTValidate}`); + log.info(`isExpDesc: ${isExpDescValidate}`); + validate(isESLINTValidate, isExpDescValidate, src); + break; + + case "clean": + log.info("Calling clean"); + clean(src); + log.info("Clean Complete"); + break; + + case "deploy": + log.info("Calling deploy"); + deployLocal(src); + break; + + case "build-lab": + log.info("Calling buildLab"); + labpath = path.resolve(src); + if (validation(labpath)) { + buildLab(labpath); + log.info("BuildLab Complete"); + if (args.deploy) { + log.info("Calling deploy Lab"); + + deployLab(labpath, release); + log.info("Deploy Lab Complete"); + } + } + break; + + case "deploy-lab": + release = "patch"; + log.info("Calling deploy Lab"); + labpath = path.resolve(src); + if (validation(labpath)) { + deployLab(src, release); + log.info("Deploy Lab Complete"); + break; + } + case "build-and-deploy-lab": + log.info("Calling buildLab"); + labpath = path.resolve(src); + args.deploy = true; + if (validation(labpath)) { + buildLab(labpath); + log.info("BuildLab Complete"); + if (args.deploy) { + log.info("Calling deploy Lab"); + + deployLab(labpath, release); + log.info("Deploy Lab Complete"); + } + } + break; + + case "help": + help(); + break; + default: + log.error("Invalid Arguments"); + help(); + break; + } +} + +main(); \ No newline at end of file diff --git a/org-html-themes/setup/theme-readtheorg-local.setup b/org-html-themes/setup/theme-readtheorg-local.setup deleted file mode 100644 index 856755b1..00000000 --- a/org-html-themes/setup/theme-readtheorg-local.setup +++ /dev/null @@ -1,9 +0,0 @@ -# -*- mode: org; -*- - -#+HTML_HEAD: -#+HTML_HEAD: - -#+HTML_HEAD: -#+HTML_HEAD: -#+HTML_HEAD: -#+HTML_HEAD: diff --git a/org-html-themes/setup/theme-readtheorg-local.setup~ b/org-html-themes/setup/theme-readtheorg-local.setup~ deleted file mode 100644 index 7e732eee..00000000 --- a/org-html-themes/setup/theme-readtheorg-local.setup~ +++ /dev/null @@ -1,9 +0,0 @@ -# -*- mode: org; -*- - -#+HTML_HEAD: -#+HTML_HEAD: - -#+HTML_HEAD: -#+HTML_HEAD: -#+HTML_HEAD: -#+HTML_HEAD: diff --git a/org-html-themes/styles/bigblow/css/bigblow.css b/org-html-themes/styles/bigblow/css/bigblow.css deleted file mode 100644 index 4a3836c1..00000000 --- a/org-html-themes/styles/bigblow/css/bigblow.css +++ /dev/null @@ -1,756 +0,0 @@ -/* bigblow.css --- BigBlow CSS file */ - -/* Copyright (C) 2011-2014 All Right Reserved, Fabrice Niessen */ - -/* This file is free software: you can redistribute it and/or */ -/* modify it under the terms of the GNU General Public License as */ -/* published by the Free Software Foundation, either version 3 of */ -/* the License, or (at your option) any later version. */ - -/* This file is distributed in the hope that it will be useful, */ -/* but WITHOUT ANY WARRANTY; without even the implied warranty of */ -/* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the */ -/* GNU General Public License for more details. */ - -/* Author: Fabrice Niessen <(concat "fniessen" at-sign "pirilampo.org")> */ -/* URL: https://github.com/fniessen/org-html-themes/ */ -/* Version: 20140605.0925 */ - -html, body { - border: 0; - margin: 0; - padding: 0; -} - -@media print { - .dontprint { - display: none; - } -} - -#preamble { - background: none repeat scroll 0 0 #46484B; - color: #FFFFFF; - font-family: Arial,Helvetica,sans-serif; - font-size: 70%; - font-weight: bold; - height: 224px; /* so that content begins after... */ - padding: 2px 2px 0 6px; -} - -#banner { - text-align: center; -} - -#tabs { - background-color: #2061A2; - float: left; - margin: 0px 0px 20px 0px; - padding: 0; - width: 100%; -} - - #tabs ul { - margin: 0; - padding: 0; - } - - #tabs li { - float: left; - list-style-type: none; - margin: 0px 2px 0px 0px; - padding: 0px 0px 0px 0px; - white-space: nowrap; - } - - #tabs li a { - color: #EEEEEE; - display: block; - font-size: 13px; - font-weight: bold; - margin: 0; - padding: 4px 10px 4px 10px; - text-decoration: none; - } - - #tabs li a:hover { - background: #759FCF; - color: #FFFFFF; - } - - #tabs li.ui-tabs-active a { - background: #FFFFFF; - color: #555555; - } - -#content { - clear: both; - background-color: #FFFFFF; - font-size: 100%; - margin: 0 auto; - max-width: 810px; - overflow-x: hidden; - overflow-y: auto; - padding: 0px 10px 2px 10px; -} - -#postamble { - color: #999999; - font-family: Arial,Helvetica,sans-serif; - font-size: 70%; - height: 40px; - margin: 0 auto; - max-width: 810px; - padding-right: 30px; - padding-top: 22px; - padding: 2px 2px 0 6px; - text-align: right; -} - -body { - color: #333333; - font: 13px/1.385 arial,helvetica,clean,sans-serif; - margin: 0 .1em; - padding: 0; -} - -b { - color: #000000; -} - -i { - color: #1A1A1A; -} - -h1, ul#tabs, h2, h3, h4, h5 { - font-family: "Trebuchet MS",Verdana,sans-serif; -} - -h1 { - background-color: #0A3F69; - color: #F8F8F8; - font-size: 24px; - margin: 0; - padding: 9px 0px 0px 10px; -} - -h2 { - border-bottom: 4px solid #67B3E3; - color: #13679D; - font-size: 20px; -} - -h3, h4, h5, h6 { - color: #1572AE; -} - -h3 { - border-bottom: 1px solid #B5DAF1; - font-size: 16px; - margin-left: 25px; -} - -h4 { - border-bottom: 1px dotted #C9E3F5; - font-size: 14px; - margin-left: 60px; -} - -h5 { - font-size: 1em; - margin-left: 87px; -} - -h6 { - font-size: 1em; - margin-left: 100px; -} - -.DONEheader { - color: #ADADAD; - text-decoration: line-through; -} - - h3.DONEheader { - border-bottom: 1px solid #DDDDDD; - } - - h4.DONEheader { - border-bottom: 1px dotted #DDDDDD; - } - -.outline-text-2, .outline-text-3, .outline-text-4, .outline-text-5, -.outline-3 > ul, /* for HTML export of Beamer slides */ -.outline-4 > ol, #text-footnotes { - margin-left: 100px; -} - -li > .outline-text-5 { - margin-left: 20px; -} - -ul, ol { - padding-left: 1.5em; -} - -dt { - color: #1572AE; - font-weight: bold; -} - -dd { - margin-bottom: 6px; -} - -pre { - /* Use #EAEAEA for background-color of border with src code block's name */ - background-color: #F8F8FF; - border: 1px solid #DEDEDE; - color: #444444; - font-family: monospace; - line-height: 1.14em; - overflow: auto; - /* overflow-x: auto; */ - padding: 10px; -} - -code { - background-color: #F8F8FF; - border: 1px solid #DEDEDE; - color: #444444; - font-family: monospace; - /* font-size: 0.93em; */ - margin: 0px 1px; - padding: 0px 2px; -} - -li > p, li > ul, li > .inlinetask, li > dl { - margin-left: 0px; -} - -dd > p, dd > ul, dd > .inlinetask, dd > dl { - margin-left: 0px; -} - -li.checked { - list-style-image: url('../images/checked.png'); -} - -li.halfchecked { - list-style-image: url('../images/halfchecked.png'); -} - -li.unchecked { - list-style-image: url('../images/unchecked.png'); -} - -a, a:link, a:visited { - color: #2061A2; - text-decoration: none; -} - -a:hover { - text-decoration: underline; -} - -a:focus { - outline: none; -} - -#search { - border-radius: 3px; - background: none repeat scroll 0 0 #FFFFFF; - display: block; - float: right; - height: 18px; - margin: 5px 10px 0 0; - overflow: hidden; - padding: 0 3px; - width: 188px; -} - - #search input { - border: 0 none; - color: #666666; - float: left; - font-family: Arial,Helvetica,sans-serif; - font-size: 11px; - font-weight: normal; - margin: 0; - padding: 2px 4px; - width: 160px; - } - - #search button { - background: url("../images/search-glass.png") no-repeat scroll 0 50% transparent; - border: 0 none; - cursor: pointer; - display: block; - float: right; - height: 18px; - margin: 0; - text-indent: -999em; - width: 14px; - } - -table { - border-collapse: collapse; - margin-right: auto; - margin-left: auto; -} - - table td { - padding: 3px 5px; - } - -table, th, td -{ - border: 1px solid #B5DAF1; - border-left: 2px solid white; - border-right: 2px solid white; -} - -th -{ - border-width: 1px 2px; - border-color: white; - background-color: #2061A2; - color: white; -} - -caption { - color: #8D8D84; -} - -img { - display: block; - margin-left: auto; - margin-right: auto; - text-align: center; -} - -.figure { - color: #8D8D84; - text-align: center; -} - -.fixme { - background: #FFFF88 url('../images/fixme.png') no-repeat top left; - color: #CC0000; - display: inline-block; - height: 16px; - text-indent: -9999px; - width: 82px; -} - -.left { - text-align: left; -} - -.right { - text-align: right; -} - -.center { - text-align: center; -} - -.justify { - text-align: justify; -} - -.inlinetask { - background-color: #F7F7F7; - border-collapse: separate; - border-color: #EEEEEE #EEEEEE #EEEEEE #1E90FF; - border-style: solid; - border-width: 1px 1px 1px 6px; - padding: 8px 8px 0px 8px; - margin: 10px 0px; -} - - .inlinetask td { - padding: 2px 5px 0px 2px; - border: 0px; - } - -.info { - border: 1px solid; - background: url('../images/info.png') no-repeat 10px 10px #BDE5F8; - color: #00529B; - padding: 4px 10px 4px 52px; - border-top-left-radius: 5px; - border-top-right-radius: 5px; - border-bottom-right-radius: 5px; - border-bottom-left-radius: 5px; - margin: 10px 0px; -} - -.tip { - border: 1px solid; - background: url('../images/tip.png') no-repeat 10px 10px #DFF2BF; - color: #4F8A10; - padding: 4px 10px 4px 52px; - border-top-left-radius: 5px; - border-top-right-radius: 5px; - border-bottom-right-radius: 5px; - border-bottom-left-radius: 5px; - margin: 10px 0px; -} - -.note { - border: 1px solid; - background: url('../images/note.png') no-repeat 10px 10px #FFFCCB; - color: #9F6000; - padding: 4px 10px 4px 52px; - border-top-left-radius: 5px; - border-top-right-radius: 5px; - border-bottom-right-radius: 5px; - border-bottom-left-radius: 5px; - margin: 10px 0px; -} - -.warning { - border: 1px solid; - background: url('../images/warning.png') no-repeat 10px 10px #FFBABA; - color: #D8000C; - padding: 4px 10px 4px 52px; - border-top-left-radius: 5px; - border-top-right-radius: 5px; - border-bottom-right-radius: 5px; - border-bottom-left-radius: 5px; - margin: 10px 0px; -} - -.todo, .done { - margin: 10px 0; - padding: 0px 2px; -} - -.NEW { - background-color: #FDFCD8; - border: 1px solid #EEE9C3; - color: #302B13; - font-weight: normal; -} - -.TODO { - background-color: #FED5D7; - border: 1px solid #FC5158; - color: #FC5158; -} - -.STRT, .STARTED { - background-color: #FEF2D4; - border: 1px solid #FDBF3D; - color: #FDBF3D; -} - -.WAIT, .WAITING, .DLGT, .DELEGATED { - background-color: #DFFFDF; - border: 1px solid #55BA80; - color: #55BA80; -} - -.SDAY, .SOMEDAY, .DFRD, .DEFERRED { - background-color: #D3EEFF; - border: 1px solid #42B5FF; - color: #42B5FF; -} - -.DONE, .CANX, .CANCELED { - background-color: #F2F2EE; - border: 1px solid #969696; - color: #969696; -} - -.tag span { - background-color: #EDEDED; - border: 1px solid #EDEDED; - color: #939393; - cursor: pointer; - display: block; - float: right; - font-size: 80%; - font-weight: normal; - margin: 0 3px; - padding: 1px 2px; - border-radius: 10px; -} - - #right-panel-contents .tag span { - font-size: 100%; - } - - .tag span:hover { - background: #BABDB6; - } - - .tag .FLAGGED { - background-color: #EDC6C8; - border: 1px solid #EDC6C8; - color: #C15F4E; - } - -.tag .selected { - background-color: #FFEBC1; - border: 1px solid #FDBF3B; - color: #A6750C; -} - -#listOfTags .tag span { - display: inline; - float: none; -} - -span.todo { - cursor: pointer; - /* display: block; */ - /* float: left; */ - margin: -1px 3px 0px 0px; -} - - span.todo:hover { - background: #BABDB6; - color: #888888; - } - -span.todo .selected { - background-color: #FFEBC1; - border-color: #FDBF3B; - color: #A6750C; -} - -.matchtag { - background-color: #FBFFC0; -} - -.matchNEW { - background-color: #FDFCD8; -} - -.matchTODO { - background-color: #FFE6E4; -} - -.matchSTRT { - background-color: #FEF2D4; -} - -.matchWAIT, .matchDLGT { - background-color: #DFFFDF; -} - -.matchSDAY, .matchDFRD { - background-color: #E0EFFF; -} - -#listOfTodo, #listOfDone, #listOfTags { - /* bottom: 10px; /\* together with this to put the div at the bottom*\/ */ - /* left: 10px; */ - /* list-style-type: none; */ - margin-left: 0px; - /* position: fixed; /\* this is the magic *\/ */ -} - -.timestamp-kwd { - background-color: #FFF1F1; - color: #880000; - margin: 0px 4px 0px 0px; - padding: 2px 0px 2px 2px; -} - -.timestamp { - color: #777777; - font-size: 80%; -} - -#table-of-contents { - background-color: #FFFFDD; - border: 1px solid #E4E4E4; - display: table; - line-height: 1.2em; - padding: 4px; - margin: 4px; - max-width: 400px; - float: right; - width: auto; -} - - #table-of-contents h2 { - display: none; - } - - #table-of-contents ul { - margin: 0; - padding: 0; - } - - #table-of-contents li { - list-style-type: none; - margin: 0; - } - - #table-of-contents li li { - margin-left: 1.5em; - } - - #table-of-contents li li li { - font-size: 0.8em; - } - - #table-of-contents a { - color: #606060; - font-size: 0.9em; - font-weight: normal; - text-decoration: none; - } - - #table-of-contents a:hover { - color: #C61A1A; - text-decoration: underline; - } - -#minitoc { - background-color: #FFFFDD; - border: 1px solid #E4E4E4; - color: #484848; - line-height: 1.2em; - margin: 12px; - padding: 4px; - position: fixed; - width: auto; -} - -#minitoc a { - display: block; - font-size: 10px; - font-weight: normal; -} - -#minitoc a { - display: none; -} - -#minitoc:hover a { - display: block; -} - -#minitoc h2 { - margin: 3px 0px; - border: none; - font-size: 11px; -} - -p.verse { - color: #808080; - font-style: italic; -} - -.example { - background-color: #DDFADE; - border: 1px solid #9EC49F; - color: #333333; -} - -.alert { - font-weight: bold; - color: #FF0000; -} - -#toTop { - background: #F7F7F7; - border: 1px solid #CCCCCC; - top: 10px; /* together with this to put the div at the top */ - color: #333333; - cursor: pointer; - display: none; - font-family: verdana; - font-size: 11px; - padding: 5px; - position: fixed; /* this is the magic */ - right: 10px; - text-align: center; - width: 100px; - z-index: 999; -} - - #toTop:hover { - text-decoration: underline; - } - -#left-panel-wrapper { - position: fixed; - z-index: 200; - /* display: none; /\* hide the panel if Javascript is not running *\/ */ -} - -#left-panel-contents { - background-color: #EFEFEF; - border-right: 1px dotted #ADADAD; - display: none; - height: 100%; - left: 0px; - position: fixed; - text-align: left; - top: 0; - width: 199px; - z-index: 200; - padding-top: 7px; - padding-left: 7px; -} - -#left-panel-button { - transform: rotate(90deg); - background-color: #EFEFEF; - border: 1px dotted #ADADAD; - border-bottom-width: 0px; - left: -23px; - position: fixed; - top: 50%; - z-index: 200; - padding: 2px 5px 5px 5px; -} - -#right-panel-wrapper { - position: fixed; - z-index: 200; - /* display: none; /\* hide the panel if Javascript is not running *\/ */ -} - -#right-panel-contents { - background-color: #EFEFEF; - border-left: 1px dotted #ADADAD; - display: none; - height: 100%; - right: 0px; - position: fixed; - text-align: left; - top: 0; - width: 199px; - z-index: 200; - padding-top: 7px; - padding-left: 7px; -} - -.org-src-container { - position: relative; -} - -.snippet-copy-to-clipboard { - display: none; - position: absolute; - right: 10px; - top: 5px; - font-size: 0.9em; - text-decoration:underline; -} - -.copy-to-clipboard-button:hover { - cursor: pointer; -} - -/* This is for the sake of Emacs. */ -/* Local Variables: */ -/* eval: (when (locate-library "rainbow-mode") (require 'rainbow-mode) (rainbow-mode)) */ -/* End: */ diff --git a/org-html-themes/styles/bigblow/css/hideshow.css b/org-html-themes/styles/bigblow/css/hideshow.css deleted file mode 100644 index e0263c38..00000000 --- a/org-html-themes/styles/bigblow/css/hideshow.css +++ /dev/null @@ -1,116 +0,0 @@ -/* hideshow.css --- HideShow CSS file */ - -/* Copyright (C) 2014 All Right Reserved, Fabrice Niessen */ - -/* This file is free software: you can redistribute it and/or */ -/* modify it under the terms of the GNU General Public License as */ -/* published by the Free Software Foundation, either version 3 of */ -/* the License, or (at your option) any later version. */ - -/* This file is distributed in the hope that it will be useful, */ -/* but WITHOUT ANY WARRANTY; without even the implied warranty of */ -/* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the */ -/* GNU General Public License for more details. */ - -/* Author: Fabrice Niessen <(concat "fniessen" at-sign "pirilampo.org")> */ -/* URL: https://github.com/fniessen/hide-show/ */ -/* Version: 20140912.1722 */ - -.hsExpanded.hsAnchor {background: #EE7700;} - -.buttons { - padding: 0px 7px 13px 0px; - background: #0A3F69; -} - -.hsButton { - color: white; - float: right; - font-size: 70%; - margin-left: 10px; -} - - .hsButton:hover { - background: #FBE448; - color: black; - cursor: pointer; - } - -.ellipsis { - color: #999999; - /* background-color: #FFF8C0; */ - /* float: right; */ - margin-left: 0.6em; -} - -.hsReview { - border: 1px solid #A4A4A4; - background-color: white; - z-index: 500; /* must be greater then z-index of hsOverlay */ - position: relative; /* required for z-index to work */ -} - -#hsOverlay { - width: 100%; - height: 100%; - position: fixed; - left: 0px; - top: 0px; - background-color: #000; - opacity: .70; - z-index: 250; /* must be greater than any other z-index (except the one for .hsReview */ -} - -.hsReviewPanel { - background-color: #757176; - color: white; - line-height: 1.1em; - margin: 10px 0px; - padding: 10px; - position: fixed; - width: auto; - bottom: 0px; - right: 0px; - z-index: 501; - text-align: center; -} - - .hsReviewPanel.hsReviewing { - display: none; - } - - .hsReviewPanel:hover { - cursor: pointer; - } - -.hsReviewingPanel { - background-color: white; - color: #757176; - line-height: 1.1em; - margin: 10px 0px; - padding: 10px; - position: fixed; - width: auto; - bottom: 0px; - right: 0px; - z-index: 501; - text-align: center; -} - -.hsReviewButton:hover { - cursor: pointer; -} - -.hsUnselectable { - -webkit-touch-callout: none; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; -} - -/* This is for the sake of Emacs. */ -/* Local Variables: */ -/* eval: (when (locate-library "rainbow-mode") (require 'rainbow-mode) (rainbow-mode)) */ -/* End: */ diff --git a/org-html-themes/styles/bigblow/css/htmlize.css b/org-html-themes/styles/bigblow/css/htmlize.css deleted file mode 100644 index f08e781a..00000000 --- a/org-html-themes/styles/bigblow/css/htmlize.css +++ /dev/null @@ -1,145 +0,0 @@ -.org-bold { /* bold */ font-weight: bold; } -.org-bold-italic { /* bold-italic */ font-weight: bold; font-style: italic; } -.org-buffer-menu-buffer { /* buffer-menu-buffer */ font-weight: bold; } -.org-builtin { /* font-lock-builtin-face */ color: #7a378b; } -.org-button { /* button */ text-decoration: underline; } -.org-calendar-today { /* calendar-today */ text-decoration: underline; } -.org-change-log-acknowledgement { /* change-log-acknowledgement */ color: #b22222; } -.org-change-log-conditionals { /* change-log-conditionals */ color: #a0522d; } -.org-change-log-date { /* change-log-date */ color: #8b2252; } -.org-change-log-email { /* change-log-email */ color: #a0522d; } -.org-change-log-file { /* change-log-file */ color: #0000ff; } -.org-change-log-function { /* change-log-function */ color: #a0522d; } -.org-change-log-list { /* change-log-list */ color: #a020f0; } -.org-change-log-name { /* change-log-name */ color: #008b8b; } -.org-comint-highlight-input { /* comint-highlight-input */ font-weight: bold; } -.org-comint-highlight-prompt { /* comint-highlight-prompt */ color: #00008b; } -.org-comment { /* font-lock-comment-face */ color: #b22222; } -.org-comment-delimiter { /* font-lock-comment-delimiter-face */ color: #b22222; } -.org-completions-annotations { /* completions-annotations */ font-style: italic; } -.org-completions-common-part { /* completions-common-part */ color: #000000; background-color: #ffffff; } -.org-completions-first-difference { /* completions-first-difference */ font-weight: bold; } -.org-constant { /* font-lock-constant-face */ color: #008b8b; } -.org-diary { /* diary */ color: #ff0000; } -.org-diff-context { /* diff-context */ color: #7f7f7f; } -.org-diff-file-header { /* diff-file-header */ background-color: #b3b3b3; font-weight: bold; } -.org-diff-function { /* diff-function */ background-color: #cccccc; } -.org-diff-header { /* diff-header */ background-color: #cccccc; } -.org-diff-hunk-header { /* diff-hunk-header */ background-color: #cccccc; } -.org-diff-index { /* diff-index */ background-color: #b3b3b3; font-weight: bold; } -.org-diff-nonexistent { /* diff-nonexistent */ background-color: #b3b3b3; font-weight: bold; } -.org-diff-refine-change { /* diff-refine-change */ background-color: #d9d9d9; } -.org-dired-directory { /* dired-directory */ color: #0000ff; } -.org-dired-flagged { /* dired-flagged */ color: #ff0000; font-weight: bold; } -.org-dired-header { /* dired-header */ color: #228b22; } -.org-dired-ignored { /* dired-ignored */ color: #7f7f7f; } -.org-dired-mark { /* dired-mark */ color: #008b8b; } -.org-dired-marked { /* dired-marked */ color: #ff0000; font-weight: bold; } -.org-dired-perm-write { /* dired-perm-write */ color: #b22222; } -.org-dired-symlink { /* dired-symlink */ color: #a020f0; } -.org-dired-warning { /* dired-warning */ color: #ff0000; font-weight: bold; } -.org-doc { /* font-lock-doc-face */ color: #8b2252; } -.org-escape-glyph { /* escape-glyph */ color: #a52a2a; } -.org-file-name-shadow { /* file-name-shadow */ color: #7f7f7f; } -.org-flyspell-duplicate { /* flyspell-duplicate */ color: #cdad00; font-weight: bold; text-decoration: underline; } -.org-flyspell-incorrect { /* flyspell-incorrect */ color: #ff4500; font-weight: bold; text-decoration: underline; } -.org-fringe { /* fringe */ background-color: #f2f2f2; } -.org-function-name { /* font-lock-function-name-face */ color: #0000ff; } -.org-header-line { /* header-line */ color: #333333; background-color: #e5e5e5; } -.org-help-argument-name { /* help-argument-name */ font-style: italic; } -.org-highlight { /* highlight */ background-color: #b4eeb4; } -.org-holiday { /* holiday */ background-color: #ffc0cb; } -.org-isearch { /* isearch */ color: #b0e2ff; background-color: #cd00cd; } -.org-isearch-fail { /* isearch-fail */ background-color: #ffc1c1; } -.org-italic { /* italic */ font-style: italic; } -.org-keyword { /* font-lock-keyword-face */ color: #a020f0; } -.org-lazy-highlight { /* lazy-highlight */ background-color: #afeeee; } -.org-link { /* link */ color: #0000ff; text-decoration: underline; } -.org-link-visited { /* link-visited */ color: #8b008b; text-decoration: underline; } -.org-log-edit-header { /* log-edit-header */ color: #a020f0; } -.org-log-edit-summary { /* log-edit-summary */ color: #0000ff; } -.org-log-edit-unknown-header { /* log-edit-unknown-header */ color: #b22222; } -.org-match { /* match */ background-color: #ffff00; } -.org-next-error { /* next-error */ background-color: #eedc82; } -.org-nobreak-space { /* nobreak-space */ color: #a52a2a; text-decoration: underline; } -.org-org-archived { /* org-archived */ color: #7f7f7f; } -.org-org-block { /* org-block */ color: #7f7f7f; } -.org-org-block-begin-line { /* org-block-begin-line */ color: #b22222; } -.org-org-block-end-line { /* org-block-end-line */ color: #b22222; } -.org-org-checkbox { /* org-checkbox */ font-weight: bold; } -.org-org-checkbox-statistics-done { /* org-checkbox-statistics-done */ color: #228b22; font-weight: bold; } -.org-org-checkbox-statistics-todo { /* org-checkbox-statistics-todo */ color: #ff0000; font-weight: bold; } -.org-org-clock-overlay { /* org-clock-overlay */ background-color: #ffff00; } -.org-org-code { /* org-code */ color: #7f7f7f; } -.org-org-column { /* org-column */ background-color: #e5e5e5; } -.org-org-column-title { /* org-column-title */ background-color: #e5e5e5; font-weight: bold; text-decoration: underline; } -.org-org-date { /* org-date */ color: #a020f0; text-decoration: underline; } -.org-org-document-info { /* org-document-info */ color: #191970; } -.org-org-document-info-keyword { /* org-document-info-keyword */ color: #7f7f7f; } -.org-org-document-title { /* org-document-title */ color: #191970; font-size: 144%; font-weight: bold; } -.org-org-done { /* org-done */ color: #228b22; font-weight: bold; } -.org-org-drawer { /* org-drawer */ color: #0000ff; } -.org-org-ellipsis { /* org-ellipsis */ color: #b8860b; text-decoration: underline; } -.org-org-footnote { /* org-footnote */ color: #a020f0; text-decoration: underline; } -.org-org-formula { /* org-formula */ color: #b22222; } -.org-org-headline-done { /* org-headline-done */ color: #bc8f8f; } -.org-org-hide { /* org-hide */ color: #ffffff; } -.org-org-latex-and-export-specials { /* org-latex-and-export-specials */ color: #8b4513; } -.org-org-level-1 { /* org-level-1 */ color: #0000ff; } -.org-org-level-2 { /* org-level-2 */ color: #a0522d; } -.org-org-level-3 { /* org-level-3 */ color: #a020f0; } -.org-org-level-4 { /* org-level-4 */ color: #b22222; } -.org-org-level-5 { /* org-level-5 */ color: #228b22; } -.org-org-level-6 { /* org-level-6 */ color: #008b8b; } -.org-org-level-7 { /* org-level-7 */ color: #7a378b; } -.org-org-level-8 { /* org-level-8 */ color: #8b2252; } -.org-org-link { /* org-link */ color: #0000ff; text-decoration: underline; } -.org-org-meta-line { /* org-meta-line */ color: #b22222; } -.org-org-mode-line-clock { /* org-mode-line-clock */ color: #000000; background-color: #bfbfbf; } -.org-org-mode-line-clock-overrun { /* org-mode-line-clock-overrun */ color: #000000; background-color: #ff0000; } -.org-org-quote { /* org-quote */ color: #7f7f7f; } -.org-org-scheduled { /* org-scheduled */ color: #006400; } -.org-org-scheduled-previously { /* org-scheduled-previously */ color: #b22222; } -.org-org-scheduled-today { /* org-scheduled-today */ color: #006400; } -.org-org-sexp-date { /* org-sexp-date */ color: #a020f0; } -.org-org-special-keyword { /* org-special-keyword */ color: #a020f0; } -.org-org-table { /* org-table */ color: #0000ff; } -.org-org-tag { /* org-tag */ font-weight: bold; } -.org-org-target { /* org-target */ text-decoration: underline; } -.org-org-time-grid { /* org-time-grid */ color: #b8860b; } -.org-org-todo { /* org-todo */ color: #ff0000; font-weight: bold; } -.org-org-upcoming-deadline { /* org-upcoming-deadline */ color: #b22222; } -.org-org-verbatim { /* org-verbatim */ color: #7f7f7f; } -.org-org-verse { /* org-verse */ color: #7f7f7f; } -.org-org-warning { /* org-warning */ color: #ff0000; font-weight: bold; } -.org-outline-1 { /* outline-1 */ color: #0000ff; } -.org-outline-2 { /* outline-2 */ color: #a0522d; } -.org-outline-3 { /* outline-3 */ color: #a020f0; } -.org-outline-4 { /* outline-4 */ color: #b22222; } -.org-outline-5 { /* outline-5 */ color: #228b22; } -.org-outline-6 { /* outline-6 */ color: #008b8b; } -.org-outline-7 { /* outline-7 */ color: #7a378b; } -.org-outline-8 { /* outline-8 */ color: #8b2252; } -.org-preprocessor { /* font-lock-preprocessor-face */ color: #7a378b; } -.org-query-replace { /* query-replace */ color: #b0e2ff; background-color: #cd00cd; } -.org-regexp-grouping-backslash { /* font-lock-regexp-grouping-backslash */ font-weight: bold; } -.org-regexp-grouping-construct { /* font-lock-regexp-grouping-construct */ font-weight: bold; } -.org-region { /* region */ background-color: #eedc82; } -.org-secondary-selection { /* secondary-selection */ background-color: #ffff00; } -.org-shadow { /* shadow */ color: #7f7f7f; } -.org-show-paren-match { /* show-paren-match */ background-color: #40e0d0; } -.org-show-paren-mismatch { /* show-paren-mismatch */ color: #ffffff; background-color: #a020f0; } -.org-string { /* font-lock-string-face */ color: #8b2252; } -.org-tool-bar { /* tool-bar */ color: #000000; background-color: #bfbfbf; } -.org-tooltip { /* tooltip */ color: #000000; background-color: #ffffe0; } -.org-trailing-whitespace { /* trailing-whitespace */ background-color: #ff0000; } -.org-type { /* font-lock-type-face */ color: #228b22; } -.org-underline { /* underline */ text-decoration: underline; } -.org-variable-name { /* font-lock-variable-name-face */ color: #a0522d; } -.org-warning { /* font-lock-warning-face */ color: #ff0000; font-weight: bold; } -.org-widget-button { /* widget-button */ font-weight: bold; } -.org-widget-button-pressed { /* widget-button-pressed */ color: #ff0000; } -.org-widget-documentation { /* widget-documentation */ color: #006400; } -.org-widget-field { /* widget-field */ background-color: #d9d9d9; } -.org-widget-inactive { /* widget-inactive */ color: #7f7f7f; } -.org-widget-single-line-field { /* widget-single-line-field */ background-color: #d9d9d9; } diff --git a/org-html-themes/styles/bigblow/images/checked.png b/org-html-themes/styles/bigblow/images/checked.png deleted file mode 100644 index ebdc03bd..00000000 Binary files a/org-html-themes/styles/bigblow/images/checked.png and /dev/null differ diff --git a/org-html-themes/styles/bigblow/images/fixme.png b/org-html-themes/styles/bigblow/images/fixme.png deleted file mode 100644 index 5b861d8b..00000000 Binary files a/org-html-themes/styles/bigblow/images/fixme.png and /dev/null differ diff --git a/org-html-themes/styles/bigblow/images/halfchecked.png b/org-html-themes/styles/bigblow/images/halfchecked.png deleted file mode 100644 index afd695e4..00000000 Binary files a/org-html-themes/styles/bigblow/images/halfchecked.png and /dev/null differ diff --git a/org-html-themes/styles/bigblow/images/info.png b/org-html-themes/styles/bigblow/images/info.png deleted file mode 100644 index 83de6545..00000000 Binary files a/org-html-themes/styles/bigblow/images/info.png and /dev/null differ diff --git a/org-html-themes/styles/bigblow/images/note.png b/org-html-themes/styles/bigblow/images/note.png deleted file mode 100644 index 1c6b8eb0..00000000 Binary files a/org-html-themes/styles/bigblow/images/note.png and /dev/null differ diff --git a/org-html-themes/styles/bigblow/images/tip.png b/org-html-themes/styles/bigblow/images/tip.png deleted file mode 100644 index 743ef89c..00000000 Binary files a/org-html-themes/styles/bigblow/images/tip.png and /dev/null differ diff --git a/org-html-themes/styles/bigblow/images/unchecked.png b/org-html-themes/styles/bigblow/images/unchecked.png deleted file mode 100644 index b75b7a90..00000000 Binary files a/org-html-themes/styles/bigblow/images/unchecked.png and /dev/null differ diff --git a/org-html-themes/styles/bigblow/images/warning.png b/org-html-themes/styles/bigblow/images/warning.png deleted file mode 100644 index 296415e2..00000000 Binary files a/org-html-themes/styles/bigblow/images/warning.png and /dev/null differ diff --git a/org-html-themes/styles/bigblow/js/ZeroClipboard.swf b/org-html-themes/styles/bigblow/js/ZeroClipboard.swf deleted file mode 100644 index 13bf8e39..00000000 Binary files a/org-html-themes/styles/bigblow/js/ZeroClipboard.swf and /dev/null differ diff --git a/org-html-themes/styles/bigblow/js/bigblow.js b/org-html-themes/styles/bigblow/js/bigblow.js deleted file mode 100644 index e7349c7d..00000000 --- a/org-html-themes/styles/bigblow/js/bigblow.js +++ /dev/null @@ -1,531 +0,0 @@ -// bigblow.js --- BigBlow JS file -// -// Copyright (C) 2011-2016 All Right Reserved, Fabrice Niessen -// -// This file is free software: you can redistribute it and/or -// modify it under the terms of the GNU General Public License as -// published by the Free Software Foundation, either version 3 of -// the License, or (at your option) any later version. -// -// This file is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. -// -// Author: Fabrice Niessen <(concat "fniessen" at-sign "pirilampo.org")> -// URL: https://github.com/fniessen/org-html-themes/ -// Version: 20140515.1841 - -$(function() { - $('p'). - html(function(index, old) { - return old.replace('FIXME', - 'FIXME'); - }); - $('p'). - html(function(index, old) { - return old.replace('XXX', - 'XXX'); - }); -}); - -// Remove leading section number -$(function() { - $('.section-number-2').text(""); - for (var i = 3; i <= 5; i++) { - $('.section-number-' + i).each(function() { - $(this).text($(this).text().replace(/^[0-9]+\./g, "")); - }); - } -}); - -$(function() { - $('
    ').prependTo('body'); -}); - -// generate contents of minitoc -function generateMiniToc(divId) { - $('#minitoc').empty().append('

    In this section

    '); - $('#' + divId).find('h3').each(function(i) { - let pos = $(this).text().search(" "); - let text = $(this).text().substring(0, pos); - $("#minitoc").append("" - + text + ""); - }); - // Ensure that the target is expanded (hideShow) - $('#minitoc a[href^="#"]').click(function() { - var href = $(this).attr('href'); - hsExpandAnchor(href); - }); -} - -// display tabs -function tabifySections() { - - // hide TOC (if present) - $('#table-of-contents').hide(); - - // grab the list of `h2' from the page - var allSections = []; - $('h2') - .each(function() { - // Remove TODO keywords and tags (contained in spans) - var tabText = $(this).clone().find('span').remove().end() - .text().trim(); - var tabId = $(this).parent().attr('id'); - if (tabText) { - // - remove heading number (all leading digits) - // - remove progress logging (between square brackets) - // - remove leading and trailing spaces - tabText = tabText.replace(/^\d+\s+/, '').replace(/\[[\d/%]+\]/, '').trim(); - - allSections.push({ - text: tabText, - id: tabId - }); - } - }); - - // create the tab links - var tabs = $('
      '); - for (i = 0; i < allSections.length; i++) { - var item = allSections[i]; - html = $('
    • ' + item.text + '
    • '); - tabs.append(html); - } - - // insert tabs menu after title (`h1'), or at the beginning of the content - if($('.title').length !== 0) { - $('.title').after(tabs); - } - else { - $('#content').prepend(tabs); - } -} - -function selectTabAndScroll(href) { - // At this point we assume that href is local (starts with #) - // alert(href); - - // Find the tab to activate - var targetTab = $(href).closest('.ui-tabs-panel'); - var targetTabId = targetTab.attr('id'); - var targetTabAriaLabel = targetTab.attr('aria-labelledby'); - - var targetTabIndex = $("#content ul li") - .index($('[aria-labelledby="' + targetTabAriaLabel + '"]')); - - // Activate target tab - $('#content').tabs('option', 'active', targetTabIndex); - - // Rebuild minitoc - generateMiniToc(targetTabId); - - // Set the location hash - // document.location.hash = href; - - // Scroll to top if href was a tab - if (href == '#' + targetTabId) { - // alert(targetTabId); - $.scrollTo(0); - } - // Scroll to href if href was not a tab - else { - $.scrollTo(href); - } -} - -$(document).ready(function() { - $('#preamble').remove(); - $('#table-of-contents').remove(); - - // Prepare for tabs - tabifySections(); - - // Build the tabs from the #content div - $('#content').tabs(); - - // Set default animation - $('#content').tabs('option', 'show', true); - - // Rebuild minitoc when a tab is activated - $('#content').tabs({ - activate: function(event, ui) { - var divId = ui.newTab.attr('aria-controls'); - generateMiniToc(divId); - } - }); - - // Required to get the link of the tab in URL - $('#content ul').localScroll({ - target: '#content', - duration: 0, - hash: true - }); - - // Handle hash in URL - if ($('#content') && document.location.hash) { - hsExpandAnchor(document.location.hash); - selectTabAndScroll(document.location.hash); - } - // If no hash, build the minitoc anyway for selected tab - else { - var divId = $('#content div[aria-expanded=true]').attr('id'); - generateMiniToc(divId); - } - - // Handle click on internal links - $('.ui-tabs-panel a[href^="#"]').click(function(e) { - var href = $(this).attr('href'); - hsExpandAnchor(href); - selectTabAndScroll(href); - e.preventDefault(); - }); - - // Initialize hideShow - hsInit(); - - // add sticky headers to tables - $('table').stickyTableHeaders(); -}); - -function copyToClipboard(text) -{ - if (window.clipboardData && window.clipboardData.setData) { // Internet Explorer - window.clipboardData.setData("Text", text); - } - else { // Fallback solution - window.prompt("Copy to clipboard: Ctrl+C, Enter", text); - } -} - -$(document).ready(function() { - // Assuming that the ZeroClipboard swf file is in the same folder than bigblow, - // get the path to it (it will be relative to the current page location). - var bbScriptPath = $('script[src$="bigblow.js"]').attr('src'); // the js file path - var bbPathToZeroClipboardSwf = bbScriptPath.replace('bigblow.js', 'ZeroClipboard.swf'); - - // Add copy to clipboard snippets - $('.org-src-container').prepend('
      [copy]
      '); - - // Display/hide snippets on source block mouseenter/mouseleave - $(document).on('mouseenter', '.org-src-container', function () { - $(this).find('.snippet-copy-to-clipboard').show(); - - // Need to call zclip here, once the button is visible. - // Beacause when the button is not visible, zclip does nothing. - if ((window.location.protocol != 'file:') && ($(this).find('.zclip').length == 0)) { - $(this).find('.copy-to-clipboard-button').zclip({ - //path: 'http://www.steamdev.com/zclip/js/ZeroClipboard.swf', - //path: 'styles/bigblow/js/ZeroClipboard.swf', - path: bbPathToZeroClipboardSwf, - copy: function() { - return $(this).parent().parent().find('.src').text(); - } - }); - } - }).on('mouseleave', '.org-src-container', function () { - $(this).find('.snippet-copy-to-clipboard').hide(); - }); - - // Handle copy to clipboard (here, for a local file only 'file://...' - if (window.location.protocol == 'file:') { // if local file use browser-specific code - $('.copy-to-clipboard-button').click(function() { - // Get the text to be copied - var text = $(this).parent().parent().find('.src').text(); - text = text.replace(/\n/g, "\r\n"); - // alert(text); - copyToClipboard(text); - }); - } -}); - -$(function() { - $('li > code :contains("[X]")') - .parent() - .addClass('checked') - .end() - .remove(); - $('li > code :contains("[-]")') - .parent() - .addClass('halfchecked') - .end() - .remove(); - $('li > code :contains("[ ]")') - .parent() - .addClass('unchecked') - .end() - .remove(); -}); - -$(function() { - $('i :contains("[#A]")') - .replaceWith('[#A]'); - $('i :contains("[#B]")') - .replaceWith('[#B]'); - $('i :contains("[#C]")') - .replaceWith('[#C]'); -}); - -$(function() { - $('
      ^ Back to Top
      ').appendTo('body'); - - $(window).scroll(function() { - if ($(this).scrollTop() != 0) { - $('#toTop').fadeIn(); - } else { - $('#toTop').fadeOut(); - } - }); - - $('#toTop').click(function(e) { - $('html, body').animate({scrollTop: 0}, 800); - e.preventDefault(); // Disable default browser behavior - }); -}); - -function togglePanel(e) { - e.preventDefault(); - - $("#left-panel-contents").toggleClass('active').toggle(200); - $("#right-panel-contents").toggleClass('active').toggle(200); - - var slidePos = - $("#left-panel-button").css("left") == "-23px"? '182px': '-23px'; - - $("#left-panel-button"). - animate({"left": slidePos, "opacity": 0.9}, {duration: "200" }); - - // if ($("#left-panel-contents").hasClass('active')) { - // hsHideTodoKeyword('done'); - // } else { - // hsShowTodoKeyword('done'); - // } - - // return false; -} - -$(function() { - $('') - .appendTo('body'); - - $('
      ') - .appendTo('body'); - - $('#left-panel-button').click(togglePanel); -}); - -$(function() { - var ul = $('
        ').appendTo('#left-panel-contents'); - var countOfTodo = {}, listOfTodo = [], totalOfTodo = 0; - - // assign the counts (avoid double-counting elements from the ToC) - $('span.todo').not($('#table-of-contents span.todo')).each(function() { - var $thisTodo = $(this).text().trim(); - - if ($.inArray($thisTodo, listOfTodo) == -1) { - countOfTodo[$thisTodo] = 1; - listOfTodo.push($thisTodo); - } - else - countOfTodo[$thisTodo] += 1; - totalOfTodo += 1; - }); - - function scoreTodo(t) { - switch (t) { - case 'NEW': return 1; - case 'TODO': return 2; - case 'STRT': return 3; - case 'WAIT': return 4; - case 'DLGT': return 5; - case 'SDAY': return 6; - case 'DFRD': return 7; - case 'DONE': return 8; - case 'CANX': return 9; - default: return 0; - } - } - - function compareTodo(a, b) { - if (scoreTodo(a) < scoreTodo(b)) return -1; - if (scoreTodo(a) > scoreTodo(b)) return 1; - return 0; - } - - listOfTodo.sort(compareTodo); - - // display - for (i = 0; i < listOfTodo.length; i++) { - var $thisTodo = listOfTodo[i]; - $(ul).append('
      • '+ $thisTodo + '' - + ' (' + countOfTodo[$thisTodo] + ')
      • '); - } - - $('#listOfTodo') - .before('Next Actions (' + totalOfTodo + '):
        '); -}); - -$(function() { - var ul = $('
          ').appendTo('#left-panel-contents'); - var countOfDone = {}, listOfDone = [], totalOfDone = 0; - - // assign the counts (avoid double-counting elements from the ToC) - $('span.done').not($('#table-of-contents span.done')).each(function() { - var $thisDone = $(this).text().trim(); - - if ($.inArray($thisDone, listOfDone) == -1) { - countOfDone[$thisDone] = 1; - listOfDone.push($thisDone); - } - else - countOfDone[$thisDone] += 1; - totalOfDone += 1; - }); - - // display - for (i = 0; i < listOfDone.length; i++) { - var $thisDone = listOfDone[i]; - $(ul).append('
        • '+ $thisDone + '' - + ' (' + countOfDone[$thisDone] + ')
        • '); - } - - $('#listOfDone') - .before('Done Actions (' + totalOfDone + '):
          '); -}); - -$(function() { - var ul = $('
            ').appendTo('#right-panel-contents'); - var countOfTags = {}, listOfTags = [], totalOfTags = 0; - - // assign the counts (avoid double-counting elements from the ToC) - $('span.tag').not($('#table-of-contents span.tag')).each(function() { - var $thisTagGroup = $(this).text().trim().split(/\s/); - // \s matches spaces, tabs, new lines, etc. - - for (tag in $thisTagGroup) { - if ($.inArray($thisTagGroup[tag], listOfTags) == -1) { - countOfTags[$thisTagGroup[tag]] = 1; - listOfTags.push($thisTagGroup[tag]); - } - else - countOfTags[$thisTagGroup[tag]] += 1; - totalOfTags += 1; - } - }); - - listOfTags.sort(); - - // display - for (i = 0; i < listOfTags.length; i++) { - var $thisTag = listOfTags[i]; - // $(ul).append('
          • '+ - // $thisTag + ' (' + countOfTags[$thisTag] + ')
          • '); - $(ul).append('
          • ' + $thisTag - + '' - + ' (' + countOfTags[$thisTag] + ')
          • '); - } - - $('#listOfTags') - .before('Contexts (' + totalOfTags + '):
            '); -}); - -$(function() { - $('.done').parent(':header').parent().find(':header').addClass('DONEheader'); - $('.done').parent(':header').parent().css({color: '#999999'}); -}); - -$(function() { - $('span.todo').click(function(e) { - var orgKeyword = $(this).text().trim(); - $('.' + orgKeyword).toggleClass('selected'); - $('#content .' + orgKeyword).parent().parent() - .toggleClass('match' + orgKeyword); - $('#left-panel-wrapper .' + orgKeyword).parent() - .toggleClass('match' + orgKeyword); - e.preventDefault(); - }) -}); - -$(function() { - $('.tag span').click(function(e) { - var orgTag = $(this).text().trim(); - $('.' + orgTag).toggleClass('selected'); - $('#content .' + orgTag).parent().parent().parent() - .toggleClass('matchtag'); - $('#right-panel-wrapper .' + orgTag).parent().parent() - .toggleClass('matchtag'); - e.preventDefault(); - }) -}); - -function clickPreviousTab() { - var active = $('#content').tabs('option', 'active'); - // Avoid going back to last tab - if (active == 0) return; - - $('#content').tabs('option', 'active', active - 1); - - // Set the location href - var href = $('#content div[aria-expanded=true]').attr('id'); - document.location.hash = href; - $.scrollTo(0); -} - -function clickNextTab() { - var active = $('#content').tabs('option', 'active'); - $('#content').tabs('option', 'active', active + 1); - - // Set the location href - var href = $('#content div[aria-expanded=true]').attr('id'); - document.location.hash = href; - $.scrollTo(0); -} - -function orgDefkey(e) { - if (!e) - var e = window.event; - var keycode = (e.keyCode) ? e.keyCode : e.which; - var actualkey = String.fromCharCode(keycode); - switch (actualkey) { - case "?": // help (dashboard) - case "h": - togglePanel(e); - break; - case "n": // next - clickNextTab(); - break; - case "p": // previous - clickPreviousTab(); - break; - // case "b": // scroll down - should be mapped to Shift-SPC - // $(window).scrollTop($(window).scrollTop()-$(window).height()); - // break; - case "<": // scroll to top - $(window).scrollTop(0); - break; - case ">": // scroll to bottom - $(window).scrollTop($(document).height()); - break; - case "-": // collapse all - hsCollapseAll(); - break; - case "+": // expand all - hsExpandAll(); - break; - case "r": // go to next task - hsReviewTaskNext(); - break; - case "R": // go to previous task - hsReviewTaskPrev(); - break; - case "q": // quit reviewing - hsReviewTaskQuit(); - break; - case "g": // refresh the page (from the server, rather than the cache) - location.reload(true); - break; - } -} - -document.onkeypress = orgDefkey; diff --git a/org-html-themes/styles/bigblow/js/hideshow.js b/org-html-themes/styles/bigblow/js/hideshow.js deleted file mode 100644 index 72684d89..00000000 --- a/org-html-themes/styles/bigblow/js/hideshow.js +++ /dev/null @@ -1,332 +0,0 @@ -// hideshow.js --- HideShow JS file -// -// Copyright (C) 2014 All Right Reserved, Fabrice Niessen -// -// This file is free software: you can redistribute it and/or -// modify it under the terms of the GNU General Public License as -// published by the Free Software Foundation, either version 3 of -// the License, or (at your option) any later version. -// -// This file is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. -// -// Author: Fabrice Niessen <(concat "fniessen" at-sign "pirilampo.org")> -// URL: https://github.com/fniessen/hide-show/ -// Version: 20140912.1722 - -// var HS_COLLAPSIBLE_HEADERS = $('h3, h4, h5'); // collapsible headers - -if (typeof HS_STARTUP_FOLDED === 'undefined') { - var HS_STARTUP_FOLDED = false; // Show just the overview, or show all. -} - -if (typeof HS_SHOW_ALL_TEXT === 'undefined') { - var HS_SHOW_ALL_TEXT = '[Expand all]'; -} -if (typeof HS_HIDE_ALL_TEXT === 'undefined') { - var HS_HIDE_ALL_TEXT = '[Collapse all]'; -} - -if (typeof HS_ALWAYS_DISPLAY_ICON === 'undefined') { - var HS_ALWAYS_DISPLAY_ICON = false; // Display an icon for all states, or - // just when closed. -} - -if (typeof HS_ICON_CLOSED === 'undefined') { - var HS_ICON_CLOSED = '►'; // black right-pointing pointer -} -if (typeof HS_ICON_OPEN === 'undefined') { - var HS_ICON_OPEN = '▼'; // black down-pointing triangle -} -if (typeof HS_ICON_EMPTY === 'undefined') { - var HS_ICON_EMPTY = '■'; // black square -} - -if (typeof HS_SHOW_ALL_OPEN_DONE_TREES === 'undefined') { - var HS_SHOW_ALL_OPEN_DONE_TREES = false; // Expand all will open DONE trees. -} - -if (typeof HS_CLASS === 'undefined') { - var HS_CLASS = 'hsCollapsible'; -} - -// Expand a header -function hsExpand(header) { - hsExpand2(header, true); -} - -// Expand a header -function hsExpand2(header, expandDoneHeader) { - // Ignore non collapsible entries - if (!header.parent().hasClass(HS_CLASS)) return; - - // Do not expand DONE node if not required - if (hsIsDoneHeader(header) && !expandDoneHeader) return; - - header.children('span[class="ellipsis"]').remove(); - if (HS_ALWAYS_DISPLAY_ICON == true) { - header.append(' ' + HS_ICON_OPEN + ''); - } - header.parent().removeClass('hsCollapsed').addClass('hsExpanded'); - header.nextAll().show(); -} - -// Expand a header and all its parents -function hsExpandParents(header) { - hsExpand(header); - header.parents('.hsCollapsed').each(function() { - hsExpand($(this).children(':header')); - }); -} - -// Collapse a header and all its parents -function hsCollapseParents(header) { - hsCollapse(header); - header.parents('.hsExpanded').each(function() { - hsCollapse($(this).children(':header')); - }); -} - -// Collapse a header -function hsCollapse(header) { - // Ignore non collapsible entries - if (!header.parent().hasClass(HS_CLASS)) return; - - header.children('span[class="ellipsis"]').remove(); - header.append(' ' + HS_ICON_CLOSED + ''); - header.parent().removeClass('hsExpanded').addClass('hsCollapsed'); - // header.nextAll().hide('fast'); - header.nextAll().hide(); -} - -// Toggle a header -function hsToggleCollapsing(header) { - if (header.parent().hasClass('hsCollapsed')) - hsExpand(header); - else if (header.parent().hasClass('hsExpanded')) - hsCollapse(header); -} - -// Expand all headers -function hsExpandAll() { - $('#content .hsCollapsed').each(function() { - hsExpand2($(this).children(':header'), HS_SHOW_ALL_OPEN_DONE_TREES); - }); -} - -// Collapse all headers -function hsCollapseAll() { - $('#content .hsExpanded').each(function() { - hsCollapse($(this).children(':header')); - }); -} - -// Collapse all visible headers -function hsCollapseAllVisible() { - $('#content .hsExpanded:visible').each(function() { - hsCollapse($(this).children(':header')); - }); -} - -// Add click events to H3/H4/H5 headers which have contents. -function hsInit() { - for (var i = 3; i <= 5; i++) { - $('#content .outline-' + i).each(function() { - var header = $(this).children(':header'); - if (header.siblings().length > 0) { - $(this).addClass(HS_CLASS); - header.css({cursor: 'pointer'}); - header.click(function() { - hsToggleCollapsing($(this)); }); - - // Allow to override global Collapse/Expand default on an entry - // basis (see property `:HTML_CONTAINER_CLASS:') - if (header.parent().hasClass('hsCollapsed')) { - hsCollapse(header); - } else if (header.parent().hasClass('hsExpanded')) { - hsExpand(header); - } else { - hsSetDefaultVisibility(header); - } - } - else { - if (HS_ALWAYS_DISPLAY_ICON == true) { - header.append(' ' + HS_ICON_EMPTY - + ''); - } - $(this).addClass('hsEmpty'); - } - }); - } - - // Add buttons - $('.title').after($('
            ')); - $('.buttons').append($('' + HS_SHOW_ALL_TEXT + '') - .addClass('hsButton') - .click(hsExpandAll)); - $('.buttons').append($('' + HS_HIDE_ALL_TEXT + '') - .addClass('hsButton') - .click(hsCollapseAll)); -} - -// Returns true if a header is a DONE header -function hsIsDoneHeader(header) { - return $('span.done', header).length; -} - -// Sets the default visibility state to a header -function hsSetDefaultVisibility(header) { - if (HS_STARTUP_FOLDED) { - hsCollapse(header); - } - else { - if (!hsIsDoneHeader(header) | HS_SHOW_ALL_OPEN_DONE_TREES) { - hsExpand(header); - } - else { - hsCollapse(header); - } - } -} - -// Expands an anchor, i.e. expand all parent headers -function hsExpandAnchor(id) { - // alert(id); - if (id) { - // alert($(id + '.hsNode').length); - $(id).parents('.hsCollapsed').each(function() { - hsExpand2($(this).children(':header'), true); - }); - } -} - -// Search for next task to review, starting from beginning of current tab. -// If BACKWARD is true, search in the reverse direction. -function hsReviewTaskNext(backward) { - // If no tasks to review at all, do nothing. - if ($('.outline-2 span.todo').length == 0) return; - - if ($('.hsReviewing').length == 0) { // reviewing is starting - $('body').addClass('hsReviewing'); - $('.hsReviewPanel').addClass('hsReviewing'); - $('body').prepend('
            '); - hsAddReviewingPanels(); - - hsCollapseAll(); - // Get first task to review on each tab and expand it - $('.outline-2').each(function(){ - var firstTodo = $(this).find('span.todo:first').parent().parent(); - firstTodo.addClass('hsReview'); - hsExpandParents($(firstTodo).children(':header')); - }); - } - else { - // Get all todos - var todosElements = $('.outline-2:visible span.todo').parent().parent(); - // alert(todosElements.length); - var todos = jQuery.makeArray(todosElements); - if (backward) { - todos = todos.reverse(); - } - - // Find current review item and review the next one - var foundReview = false; - var index; - for (index = 0; index < todos.length; ++index) { - var todo = todos[index]; - if (foundReview) { - $(todo).addClass('hsReview'); - hsExpandParents($(todo).children(':header')); - break; - } - if ($(todo).hasClass('hsReview')) { - foundReview = true; - if (index < todos.length - 1) { - $(todo).removeClass('hsReview'); - hsCollapseParents($(todo).children(':header')); - } - } - } - - // Update reviewing panel - if (index < todos.length) { - var reviewItem = index + 1; - if (backward) { - reviewItem = todos.length - index; - } - - $('.outline-2:visible .hsReviewingPanel .hsReviewItem').text(reviewItem); - } - } - - // Scroll to the current review item - $('html, body').animate({ - scrollTop: $(".hsReview:visible").offset().top - }, 200); -} - -// go to previous task to review -function hsReviewTaskPrev() { - hsReviewTaskNext(true); -} - -// stop reviewing tasks -function hsReviewTaskQuit() { - $('body').removeClass('hsReviewing'); - $('.hsReviewPanel').removeClass('hsReviewing'); - $('.hsReview').removeClass('hsReview'); - $('#hsOverlay').remove(); - $('.hsReviewingPanel').remove(); -} - -function hsHideTodoKeyword(kw) { - $('span.' + kw).addClass('hsHidden').parent().parent().hide(); -} - -function hsShowTodoKeyword(kw) { - $('span.' + kw).removeClass('hsHidden').parent().parent().show(); - // XXX Show if parent is not collapsed! -} - -function hsAddReviewPanels() { - $('.outline-2').each(function(e) { - var nbItems = $(this).find('span.todo').length; - if (nbItems > 0) { - $(this).prepend('
            ' - + 'Press r or click here
            ' - + 'to review ' + nbItems + ' tasks
            ' - + '(out of ' + nbReviewTotalTasks + ' tasks)
            '); - } - }); -} - -function hsAddReviewingPanels() { - $('.outline-2').each(function(e) { - var nbItems = $(this).find('span.todo').length; - if (nbItems > 0) { - $(this).prepend('
            Reviewing task 1 / ' + nbItems + '
            ' - + '(out of ' + nbReviewTotalTasks + ' tasks)
            ' - + 'Shortcuts: ' - + 'r (next) - ' - + 'R (previous)' - + '
            '); - } - else { - $(this).prepend('
            No task to review
            ' - + '(out of ' + nbReviewTotalTasks + ' tasks)
            ' - + 'Shortcuts: ' - + 'r (next) - ' - + 'R (previous)' - + '
            '); - } - }); -} - -var nbReviewTotalTasks; - -$(document).ready(function() { - nbReviewTotalTasks = $('.outline-2 span.todo').length; - hsAddReviewPanels(); -}); diff --git a/org-html-themes/styles/bigblow/js/jquery-1.11.0.min.js b/org-html-themes/styles/bigblow/js/jquery-1.11.0.min.js deleted file mode 100644 index 73f33fb3..00000000 --- a/org-html-themes/styles/bigblow/js/jquery-1.11.0.min.js +++ /dev/null @@ -1,4 +0,0 @@ -/*! jQuery v1.11.0 | (c) 2005, 2014 jQuery Foundation, Inc. | jquery.org/license */ -!function(a,b){"object"==typeof module&&"object"==typeof module.exports?module.exports=a.document?b(a,!0):function(a){if(!a.document)throw new Error("jQuery requires a window with a document");return b(a)}:b(a)}("undefined"!=typeof window?window:this,function(a,b){var c=[],d=c.slice,e=c.concat,f=c.push,g=c.indexOf,h={},i=h.toString,j=h.hasOwnProperty,k="".trim,l={},m="1.11.0",n=function(a,b){return new n.fn.init(a,b)},o=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,p=/^-ms-/,q=/-([\da-z])/gi,r=function(a,b){return b.toUpperCase()};n.fn=n.prototype={jquery:m,constructor:n,selector:"",length:0,toArray:function(){return d.call(this)},get:function(a){return null!=a?0>a?this[a+this.length]:this[a]:d.call(this)},pushStack:function(a){var b=n.merge(this.constructor(),a);return b.prevObject=this,b.context=this.context,b},each:function(a,b){return n.each(this,a,b)},map:function(a){return this.pushStack(n.map(this,function(b,c){return a.call(b,c,b)}))},slice:function(){return this.pushStack(d.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(a){var b=this.length,c=+a+(0>a?b:0);return this.pushStack(c>=0&&b>c?[this[c]]:[])},end:function(){return this.prevObject||this.constructor(null)},push:f,sort:c.sort,splice:c.splice},n.extend=n.fn.extend=function(){var a,b,c,d,e,f,g=arguments[0]||{},h=1,i=arguments.length,j=!1;for("boolean"==typeof g&&(j=g,g=arguments[h]||{},h++),"object"==typeof g||n.isFunction(g)||(g={}),h===i&&(g=this,h--);i>h;h++)if(null!=(e=arguments[h]))for(d in e)a=g[d],c=e[d],g!==c&&(j&&c&&(n.isPlainObject(c)||(b=n.isArray(c)))?(b?(b=!1,f=a&&n.isArray(a)?a:[]):f=a&&n.isPlainObject(a)?a:{},g[d]=n.extend(j,f,c)):void 0!==c&&(g[d]=c));return g},n.extend({expando:"jQuery"+(m+Math.random()).replace(/\D/g,""),isReady:!0,error:function(a){throw new Error(a)},noop:function(){},isFunction:function(a){return"function"===n.type(a)},isArray:Array.isArray||function(a){return"array"===n.type(a)},isWindow:function(a){return null!=a&&a==a.window},isNumeric:function(a){return a-parseFloat(a)>=0},isEmptyObject:function(a){var b;for(b in a)return!1;return!0},isPlainObject:function(a){var b;if(!a||"object"!==n.type(a)||a.nodeType||n.isWindow(a))return!1;try{if(a.constructor&&!j.call(a,"constructor")&&!j.call(a.constructor.prototype,"isPrototypeOf"))return!1}catch(c){return!1}if(l.ownLast)for(b in a)return j.call(a,b);for(b in a);return void 0===b||j.call(a,b)},type:function(a){return null==a?a+"":"object"==typeof a||"function"==typeof a?h[i.call(a)]||"object":typeof a},globalEval:function(b){b&&n.trim(b)&&(a.execScript||function(b){a.eval.call(a,b)})(b)},camelCase:function(a){return a.replace(p,"ms-").replace(q,r)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toLowerCase()===b.toLowerCase()},each:function(a,b,c){var d,e=0,f=a.length,g=s(a);if(c){if(g){for(;f>e;e++)if(d=b.apply(a[e],c),d===!1)break}else for(e in a)if(d=b.apply(a[e],c),d===!1)break}else if(g){for(;f>e;e++)if(d=b.call(a[e],e,a[e]),d===!1)break}else for(e in a)if(d=b.call(a[e],e,a[e]),d===!1)break;return a},trim:k&&!k.call("\ufeff\xa0")?function(a){return null==a?"":k.call(a)}:function(a){return null==a?"":(a+"").replace(o,"")},makeArray:function(a,b){var c=b||[];return null!=a&&(s(Object(a))?n.merge(c,"string"==typeof a?[a]:a):f.call(c,a)),c},inArray:function(a,b,c){var d;if(b){if(g)return g.call(b,a,c);for(d=b.length,c=c?0>c?Math.max(0,d+c):c:0;d>c;c++)if(c in b&&b[c]===a)return c}return-1},merge:function(a,b){var c=+b.length,d=0,e=a.length;while(c>d)a[e++]=b[d++];if(c!==c)while(void 0!==b[d])a[e++]=b[d++];return a.length=e,a},grep:function(a,b,c){for(var d,e=[],f=0,g=a.length,h=!c;g>f;f++)d=!b(a[f],f),d!==h&&e.push(a[f]);return e},map:function(a,b,c){var d,f=0,g=a.length,h=s(a),i=[];if(h)for(;g>f;f++)d=b(a[f],f,c),null!=d&&i.push(d);else for(f in a)d=b(a[f],f,c),null!=d&&i.push(d);return e.apply([],i)},guid:1,proxy:function(a,b){var c,e,f;return"string"==typeof b&&(f=a[b],b=a,a=f),n.isFunction(a)?(c=d.call(arguments,2),e=function(){return a.apply(b||this,c.concat(d.call(arguments)))},e.guid=a.guid=a.guid||n.guid++,e):void 0},now:function(){return+new Date},support:l}),n.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(a,b){h["[object "+b+"]"]=b.toLowerCase()});function s(a){var b=a.length,c=n.type(a);return"function"===c||n.isWindow(a)?!1:1===a.nodeType&&b?!0:"array"===c||0===b||"number"==typeof b&&b>0&&b-1 in a}var t=function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s="sizzle"+-new Date,t=a.document,u=0,v=0,w=eb(),x=eb(),y=eb(),z=function(a,b){return a===b&&(j=!0),0},A="undefined",B=1<<31,C={}.hasOwnProperty,D=[],E=D.pop,F=D.push,G=D.push,H=D.slice,I=D.indexOf||function(a){for(var b=0,c=this.length;c>b;b++)if(this[b]===a)return b;return-1},J="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",K="[\\x20\\t\\r\\n\\f]",L="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",M=L.replace("w","w#"),N="\\["+K+"*("+L+")"+K+"*(?:([*^$|!~]?=)"+K+"*(?:(['\"])((?:\\\\.|[^\\\\])*?)\\3|("+M+")|)|)"+K+"*\\]",O=":("+L+")(?:\\(((['\"])((?:\\\\.|[^\\\\])*?)\\3|((?:\\\\.|[^\\\\()[\\]]|"+N.replace(3,8)+")*)|.*)\\)|)",P=new RegExp("^"+K+"+|((?:^|[^\\\\])(?:\\\\.)*)"+K+"+$","g"),Q=new RegExp("^"+K+"*,"+K+"*"),R=new RegExp("^"+K+"*([>+~]|"+K+")"+K+"*"),S=new RegExp("="+K+"*([^\\]'\"]*?)"+K+"*\\]","g"),T=new RegExp(O),U=new RegExp("^"+M+"$"),V={ID:new RegExp("^#("+L+")"),CLASS:new RegExp("^\\.("+L+")"),TAG:new RegExp("^("+L.replace("w","w*")+")"),ATTR:new RegExp("^"+N),PSEUDO:new RegExp("^"+O),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+K+"*(even|odd|(([+-]|)(\\d*)n|)"+K+"*(?:([+-]|)"+K+"*(\\d+)|))"+K+"*\\)|)","i"),bool:new RegExp("^(?:"+J+")$","i"),needsContext:new RegExp("^"+K+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+K+"*((?:-\\d)?\\d*)"+K+"*\\)|)(?=[^-]|$)","i")},W=/^(?:input|select|textarea|button)$/i,X=/^h\d$/i,Y=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,$=/[+~]/,_=/'|\\/g,ab=new RegExp("\\\\([\\da-f]{1,6}"+K+"?|("+K+")|.)","ig"),bb=function(a,b,c){var d="0x"+b-65536;return d!==d||c?b:0>d?String.fromCharCode(d+65536):String.fromCharCode(d>>10|55296,1023&d|56320)};try{G.apply(D=H.call(t.childNodes),t.childNodes),D[t.childNodes.length].nodeType}catch(cb){G={apply:D.length?function(a,b){F.apply(a,H.call(b))}:function(a,b){var c=a.length,d=0;while(a[c++]=b[d++]);a.length=c-1}}}function db(a,b,d,e){var f,g,h,i,j,m,p,q,u,v;if((b?b.ownerDocument||b:t)!==l&&k(b),b=b||l,d=d||[],!a||"string"!=typeof a)return d;if(1!==(i=b.nodeType)&&9!==i)return[];if(n&&!e){if(f=Z.exec(a))if(h=f[1]){if(9===i){if(g=b.getElementById(h),!g||!g.parentNode)return d;if(g.id===h)return d.push(g),d}else if(b.ownerDocument&&(g=b.ownerDocument.getElementById(h))&&r(b,g)&&g.id===h)return d.push(g),d}else{if(f[2])return G.apply(d,b.getElementsByTagName(a)),d;if((h=f[3])&&c.getElementsByClassName&&b.getElementsByClassName)return G.apply(d,b.getElementsByClassName(h)),d}if(c.qsa&&(!o||!o.test(a))){if(q=p=s,u=b,v=9===i&&a,1===i&&"object"!==b.nodeName.toLowerCase()){m=ob(a),(p=b.getAttribute("id"))?q=p.replace(_,"\\$&"):b.setAttribute("id",q),q="[id='"+q+"'] ",j=m.length;while(j--)m[j]=q+pb(m[j]);u=$.test(a)&&mb(b.parentNode)||b,v=m.join(",")}if(v)try{return G.apply(d,u.querySelectorAll(v)),d}catch(w){}finally{p||b.removeAttribute("id")}}}return xb(a.replace(P,"$1"),b,d,e)}function eb(){var a=[];function b(c,e){return a.push(c+" ")>d.cacheLength&&delete b[a.shift()],b[c+" "]=e}return b}function fb(a){return a[s]=!0,a}function gb(a){var b=l.createElement("div");try{return!!a(b)}catch(c){return!1}finally{b.parentNode&&b.parentNode.removeChild(b),b=null}}function hb(a,b){var c=a.split("|"),e=a.length;while(e--)d.attrHandle[c[e]]=b}function ib(a,b){var c=b&&a,d=c&&1===a.nodeType&&1===b.nodeType&&(~b.sourceIndex||B)-(~a.sourceIndex||B);if(d)return d;if(c)while(c=c.nextSibling)if(c===b)return-1;return a?1:-1}function jb(a){return function(b){var c=b.nodeName.toLowerCase();return"input"===c&&b.type===a}}function kb(a){return function(b){var c=b.nodeName.toLowerCase();return("input"===c||"button"===c)&&b.type===a}}function lb(a){return fb(function(b){return b=+b,fb(function(c,d){var e,f=a([],c.length,b),g=f.length;while(g--)c[e=f[g]]&&(c[e]=!(d[e]=c[e]))})})}function mb(a){return a&&typeof a.getElementsByTagName!==A&&a}c=db.support={},f=db.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return b?"HTML"!==b.nodeName:!1},k=db.setDocument=function(a){var b,e=a?a.ownerDocument||a:t,g=e.defaultView;return e!==l&&9===e.nodeType&&e.documentElement?(l=e,m=e.documentElement,n=!f(e),g&&g!==g.top&&(g.addEventListener?g.addEventListener("unload",function(){k()},!1):g.attachEvent&&g.attachEvent("onunload",function(){k()})),c.attributes=gb(function(a){return a.className="i",!a.getAttribute("className")}),c.getElementsByTagName=gb(function(a){return a.appendChild(e.createComment("")),!a.getElementsByTagName("*").length}),c.getElementsByClassName=Y.test(e.getElementsByClassName)&&gb(function(a){return a.innerHTML="
            ",a.firstChild.className="i",2===a.getElementsByClassName("i").length}),c.getById=gb(function(a){return m.appendChild(a).id=s,!e.getElementsByName||!e.getElementsByName(s).length}),c.getById?(d.find.ID=function(a,b){if(typeof b.getElementById!==A&&n){var c=b.getElementById(a);return c&&c.parentNode?[c]:[]}},d.filter.ID=function(a){var b=a.replace(ab,bb);return function(a){return a.getAttribute("id")===b}}):(delete d.find.ID,d.filter.ID=function(a){var b=a.replace(ab,bb);return function(a){var c=typeof a.getAttributeNode!==A&&a.getAttributeNode("id");return c&&c.value===b}}),d.find.TAG=c.getElementsByTagName?function(a,b){return typeof b.getElementsByTagName!==A?b.getElementsByTagName(a):void 0}:function(a,b){var c,d=[],e=0,f=b.getElementsByTagName(a);if("*"===a){while(c=f[e++])1===c.nodeType&&d.push(c);return d}return f},d.find.CLASS=c.getElementsByClassName&&function(a,b){return typeof b.getElementsByClassName!==A&&n?b.getElementsByClassName(a):void 0},p=[],o=[],(c.qsa=Y.test(e.querySelectorAll))&&(gb(function(a){a.innerHTML="",a.querySelectorAll("[t^='']").length&&o.push("[*^$]="+K+"*(?:''|\"\")"),a.querySelectorAll("[selected]").length||o.push("\\["+K+"*(?:value|"+J+")"),a.querySelectorAll(":checked").length||o.push(":checked")}),gb(function(a){var b=e.createElement("input");b.setAttribute("type","hidden"),a.appendChild(b).setAttribute("name","D"),a.querySelectorAll("[name=d]").length&&o.push("name"+K+"*[*^$|!~]?="),a.querySelectorAll(":enabled").length||o.push(":enabled",":disabled"),a.querySelectorAll("*,:x"),o.push(",.*:")})),(c.matchesSelector=Y.test(q=m.webkitMatchesSelector||m.mozMatchesSelector||m.oMatchesSelector||m.msMatchesSelector))&&gb(function(a){c.disconnectedMatch=q.call(a,"div"),q.call(a,"[s!='']:x"),p.push("!=",O)}),o=o.length&&new RegExp(o.join("|")),p=p.length&&new RegExp(p.join("|")),b=Y.test(m.compareDocumentPosition),r=b||Y.test(m.contains)?function(a,b){var c=9===a.nodeType?a.documentElement:a,d=b&&b.parentNode;return a===d||!(!d||1!==d.nodeType||!(c.contains?c.contains(d):a.compareDocumentPosition&&16&a.compareDocumentPosition(d)))}:function(a,b){if(b)while(b=b.parentNode)if(b===a)return!0;return!1},z=b?function(a,b){if(a===b)return j=!0,0;var d=!a.compareDocumentPosition-!b.compareDocumentPosition;return d?d:(d=(a.ownerDocument||a)===(b.ownerDocument||b)?a.compareDocumentPosition(b):1,1&d||!c.sortDetached&&b.compareDocumentPosition(a)===d?a===e||a.ownerDocument===t&&r(t,a)?-1:b===e||b.ownerDocument===t&&r(t,b)?1:i?I.call(i,a)-I.call(i,b):0:4&d?-1:1)}:function(a,b){if(a===b)return j=!0,0;var c,d=0,f=a.parentNode,g=b.parentNode,h=[a],k=[b];if(!f||!g)return a===e?-1:b===e?1:f?-1:g?1:i?I.call(i,a)-I.call(i,b):0;if(f===g)return ib(a,b);c=a;while(c=c.parentNode)h.unshift(c);c=b;while(c=c.parentNode)k.unshift(c);while(h[d]===k[d])d++;return d?ib(h[d],k[d]):h[d]===t?-1:k[d]===t?1:0},e):l},db.matches=function(a,b){return db(a,null,null,b)},db.matchesSelector=function(a,b){if((a.ownerDocument||a)!==l&&k(a),b=b.replace(S,"='$1']"),!(!c.matchesSelector||!n||p&&p.test(b)||o&&o.test(b)))try{var d=q.call(a,b);if(d||c.disconnectedMatch||a.document&&11!==a.document.nodeType)return d}catch(e){}return db(b,l,null,[a]).length>0},db.contains=function(a,b){return(a.ownerDocument||a)!==l&&k(a),r(a,b)},db.attr=function(a,b){(a.ownerDocument||a)!==l&&k(a);var e=d.attrHandle[b.toLowerCase()],f=e&&C.call(d.attrHandle,b.toLowerCase())?e(a,b,!n):void 0;return void 0!==f?f:c.attributes||!n?a.getAttribute(b):(f=a.getAttributeNode(b))&&f.specified?f.value:null},db.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)},db.uniqueSort=function(a){var b,d=[],e=0,f=0;if(j=!c.detectDuplicates,i=!c.sortStable&&a.slice(0),a.sort(z),j){while(b=a[f++])b===a[f]&&(e=d.push(f));while(e--)a.splice(d[e],1)}return i=null,a},e=db.getText=function(a){var b,c="",d=0,f=a.nodeType;if(f){if(1===f||9===f||11===f){if("string"==typeof a.textContent)return a.textContent;for(a=a.firstChild;a;a=a.nextSibling)c+=e(a)}else if(3===f||4===f)return a.nodeValue}else while(b=a[d++])c+=e(b);return c},d=db.selectors={cacheLength:50,createPseudo:fb,match:V,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(a){return a[1]=a[1].replace(ab,bb),a[3]=(a[4]||a[5]||"").replace(ab,bb),"~="===a[2]&&(a[3]=" "+a[3]+" "),a.slice(0,4)},CHILD:function(a){return a[1]=a[1].toLowerCase(),"nth"===a[1].slice(0,3)?(a[3]||db.error(a[0]),a[4]=+(a[4]?a[5]+(a[6]||1):2*("even"===a[3]||"odd"===a[3])),a[5]=+(a[7]+a[8]||"odd"===a[3])):a[3]&&db.error(a[0]),a},PSEUDO:function(a){var b,c=!a[5]&&a[2];return V.CHILD.test(a[0])?null:(a[3]&&void 0!==a[4]?a[2]=a[4]:c&&T.test(c)&&(b=ob(c,!0))&&(b=c.indexOf(")",c.length-b)-c.length)&&(a[0]=a[0].slice(0,b),a[2]=c.slice(0,b)),a.slice(0,3))}},filter:{TAG:function(a){var b=a.replace(ab,bb).toLowerCase();return"*"===a?function(){return!0}:function(a){return a.nodeName&&a.nodeName.toLowerCase()===b}},CLASS:function(a){var b=w[a+" "];return b||(b=new RegExp("(^|"+K+")"+a+"("+K+"|$)"))&&w(a,function(a){return b.test("string"==typeof a.className&&a.className||typeof a.getAttribute!==A&&a.getAttribute("class")||"")})},ATTR:function(a,b,c){return function(d){var e=db.attr(d,a);return null==e?"!="===b:b?(e+="","="===b?e===c:"!="===b?e!==c:"^="===b?c&&0===e.indexOf(c):"*="===b?c&&e.indexOf(c)>-1:"$="===b?c&&e.slice(-c.length)===c:"~="===b?(" "+e+" ").indexOf(c)>-1:"|="===b?e===c||e.slice(0,c.length+1)===c+"-":!1):!0}},CHILD:function(a,b,c,d,e){var f="nth"!==a.slice(0,3),g="last"!==a.slice(-4),h="of-type"===b;return 1===d&&0===e?function(a){return!!a.parentNode}:function(b,c,i){var j,k,l,m,n,o,p=f!==g?"nextSibling":"previousSibling",q=b.parentNode,r=h&&b.nodeName.toLowerCase(),t=!i&&!h;if(q){if(f){while(p){l=b;while(l=l[p])if(h?l.nodeName.toLowerCase()===r:1===l.nodeType)return!1;o=p="only"===a&&!o&&"nextSibling"}return!0}if(o=[g?q.firstChild:q.lastChild],g&&t){k=q[s]||(q[s]={}),j=k[a]||[],n=j[0]===u&&j[1],m=j[0]===u&&j[2],l=n&&q.childNodes[n];while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if(1===l.nodeType&&++m&&l===b){k[a]=[u,n,m];break}}else if(t&&(j=(b[s]||(b[s]={}))[a])&&j[0]===u)m=j[1];else while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if((h?l.nodeName.toLowerCase()===r:1===l.nodeType)&&++m&&(t&&((l[s]||(l[s]={}))[a]=[u,m]),l===b))break;return m-=e,m===d||m%d===0&&m/d>=0}}},PSEUDO:function(a,b){var c,e=d.pseudos[a]||d.setFilters[a.toLowerCase()]||db.error("unsupported pseudo: "+a);return e[s]?e(b):e.length>1?(c=[a,a,"",b],d.setFilters.hasOwnProperty(a.toLowerCase())?fb(function(a,c){var d,f=e(a,b),g=f.length;while(g--)d=I.call(a,f[g]),a[d]=!(c[d]=f[g])}):function(a){return e(a,0,c)}):e}},pseudos:{not:fb(function(a){var b=[],c=[],d=g(a.replace(P,"$1"));return d[s]?fb(function(a,b,c,e){var f,g=d(a,null,e,[]),h=a.length;while(h--)(f=g[h])&&(a[h]=!(b[h]=f))}):function(a,e,f){return b[0]=a,d(b,null,f,c),!c.pop()}}),has:fb(function(a){return function(b){return db(a,b).length>0}}),contains:fb(function(a){return function(b){return(b.textContent||b.innerText||e(b)).indexOf(a)>-1}}),lang:fb(function(a){return U.test(a||"")||db.error("unsupported lang: "+a),a=a.replace(ab,bb).toLowerCase(),function(b){var c;do if(c=n?b.lang:b.getAttribute("xml:lang")||b.getAttribute("lang"))return c=c.toLowerCase(),c===a||0===c.indexOf(a+"-");while((b=b.parentNode)&&1===b.nodeType);return!1}}),target:function(b){var c=a.location&&a.location.hash;return c&&c.slice(1)===b.id},root:function(a){return a===m},focus:function(a){return a===l.activeElement&&(!l.hasFocus||l.hasFocus())&&!!(a.type||a.href||~a.tabIndex)},enabled:function(a){return a.disabled===!1},disabled:function(a){return a.disabled===!0},checked:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&!!a.checked||"option"===b&&!!a.selected},selected:function(a){return a.parentNode&&a.parentNode.selectedIndex,a.selected===!0},empty:function(a){for(a=a.firstChild;a;a=a.nextSibling)if(a.nodeType<6)return!1;return!0},parent:function(a){return!d.pseudos.empty(a)},header:function(a){return X.test(a.nodeName)},input:function(a){return W.test(a.nodeName)},button:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&"button"===a.type||"button"===b},text:function(a){var b;return"input"===a.nodeName.toLowerCase()&&"text"===a.type&&(null==(b=a.getAttribute("type"))||"text"===b.toLowerCase())},first:lb(function(){return[0]}),last:lb(function(a,b){return[b-1]}),eq:lb(function(a,b,c){return[0>c?c+b:c]}),even:lb(function(a,b){for(var c=0;b>c;c+=2)a.push(c);return a}),odd:lb(function(a,b){for(var c=1;b>c;c+=2)a.push(c);return a}),lt:lb(function(a,b,c){for(var d=0>c?c+b:c;--d>=0;)a.push(d);return a}),gt:lb(function(a,b,c){for(var d=0>c?c+b:c;++db;b++)d+=a[b].value;return d}function qb(a,b,c){var d=b.dir,e=c&&"parentNode"===d,f=v++;return b.first?function(b,c,f){while(b=b[d])if(1===b.nodeType||e)return a(b,c,f)}:function(b,c,g){var h,i,j=[u,f];if(g){while(b=b[d])if((1===b.nodeType||e)&&a(b,c,g))return!0}else while(b=b[d])if(1===b.nodeType||e){if(i=b[s]||(b[s]={}),(h=i[d])&&h[0]===u&&h[1]===f)return j[2]=h[2];if(i[d]=j,j[2]=a(b,c,g))return!0}}}function rb(a){return a.length>1?function(b,c,d){var e=a.length;while(e--)if(!a[e](b,c,d))return!1;return!0}:a[0]}function sb(a,b,c,d,e){for(var f,g=[],h=0,i=a.length,j=null!=b;i>h;h++)(f=a[h])&&(!c||c(f,d,e))&&(g.push(f),j&&b.push(h));return g}function tb(a,b,c,d,e,f){return d&&!d[s]&&(d=tb(d)),e&&!e[s]&&(e=tb(e,f)),fb(function(f,g,h,i){var j,k,l,m=[],n=[],o=g.length,p=f||wb(b||"*",h.nodeType?[h]:h,[]),q=!a||!f&&b?p:sb(p,m,a,h,i),r=c?e||(f?a:o||d)?[]:g:q;if(c&&c(q,r,h,i),d){j=sb(r,n),d(j,[],h,i),k=j.length;while(k--)(l=j[k])&&(r[n[k]]=!(q[n[k]]=l))}if(f){if(e||a){if(e){j=[],k=r.length;while(k--)(l=r[k])&&j.push(q[k]=l);e(null,r=[],j,i)}k=r.length;while(k--)(l=r[k])&&(j=e?I.call(f,l):m[k])>-1&&(f[j]=!(g[j]=l))}}else r=sb(r===g?r.splice(o,r.length):r),e?e(null,g,r,i):G.apply(g,r)})}function ub(a){for(var b,c,e,f=a.length,g=d.relative[a[0].type],i=g||d.relative[" "],j=g?1:0,k=qb(function(a){return a===b},i,!0),l=qb(function(a){return I.call(b,a)>-1},i,!0),m=[function(a,c,d){return!g&&(d||c!==h)||((b=c).nodeType?k(a,c,d):l(a,c,d))}];f>j;j++)if(c=d.relative[a[j].type])m=[qb(rb(m),c)];else{if(c=d.filter[a[j].type].apply(null,a[j].matches),c[s]){for(e=++j;f>e;e++)if(d.relative[a[e].type])break;return tb(j>1&&rb(m),j>1&&pb(a.slice(0,j-1).concat({value:" "===a[j-2].type?"*":""})).replace(P,"$1"),c,e>j&&ub(a.slice(j,e)),f>e&&ub(a=a.slice(e)),f>e&&pb(a))}m.push(c)}return rb(m)}function vb(a,b){var c=b.length>0,e=a.length>0,f=function(f,g,i,j,k){var m,n,o,p=0,q="0",r=f&&[],s=[],t=h,v=f||e&&d.find.TAG("*",k),w=u+=null==t?1:Math.random()||.1,x=v.length;for(k&&(h=g!==l&&g);q!==x&&null!=(m=v[q]);q++){if(e&&m){n=0;while(o=a[n++])if(o(m,g,i)){j.push(m);break}k&&(u=w)}c&&((m=!o&&m)&&p--,f&&r.push(m))}if(p+=q,c&&q!==p){n=0;while(o=b[n++])o(r,s,g,i);if(f){if(p>0)while(q--)r[q]||s[q]||(s[q]=E.call(j));s=sb(s)}G.apply(j,s),k&&!f&&s.length>0&&p+b.length>1&&db.uniqueSort(j)}return k&&(u=w,h=t),r};return c?fb(f):f}g=db.compile=function(a,b){var c,d=[],e=[],f=y[a+" "];if(!f){b||(b=ob(a)),c=b.length;while(c--)f=ub(b[c]),f[s]?d.push(f):e.push(f);f=y(a,vb(e,d))}return f};function wb(a,b,c){for(var d=0,e=b.length;e>d;d++)db(a,b[d],c);return c}function xb(a,b,e,f){var h,i,j,k,l,m=ob(a);if(!f&&1===m.length){if(i=m[0]=m[0].slice(0),i.length>2&&"ID"===(j=i[0]).type&&c.getById&&9===b.nodeType&&n&&d.relative[i[1].type]){if(b=(d.find.ID(j.matches[0].replace(ab,bb),b)||[])[0],!b)return e;a=a.slice(i.shift().value.length)}h=V.needsContext.test(a)?0:i.length;while(h--){if(j=i[h],d.relative[k=j.type])break;if((l=d.find[k])&&(f=l(j.matches[0].replace(ab,bb),$.test(i[0].type)&&mb(b.parentNode)||b))){if(i.splice(h,1),a=f.length&&pb(i),!a)return G.apply(e,f),e;break}}}return g(a,m)(f,b,!n,e,$.test(a)&&mb(b.parentNode)||b),e}return c.sortStable=s.split("").sort(z).join("")===s,c.detectDuplicates=!!j,k(),c.sortDetached=gb(function(a){return 1&a.compareDocumentPosition(l.createElement("div"))}),gb(function(a){return a.innerHTML="","#"===a.firstChild.getAttribute("href")})||hb("type|href|height|width",function(a,b,c){return c?void 0:a.getAttribute(b,"type"===b.toLowerCase()?1:2)}),c.attributes&&gb(function(a){return a.innerHTML="",a.firstChild.setAttribute("value",""),""===a.firstChild.getAttribute("value")})||hb("value",function(a,b,c){return c||"input"!==a.nodeName.toLowerCase()?void 0:a.defaultValue}),gb(function(a){return null==a.getAttribute("disabled")})||hb(J,function(a,b,c){var d;return c?void 0:a[b]===!0?b.toLowerCase():(d=a.getAttributeNode(b))&&d.specified?d.value:null}),db}(a);n.find=t,n.expr=t.selectors,n.expr[":"]=n.expr.pseudos,n.unique=t.uniqueSort,n.text=t.getText,n.isXMLDoc=t.isXML,n.contains=t.contains;var u=n.expr.match.needsContext,v=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,w=/^.[^:#\[\.,]*$/;function x(a,b,c){if(n.isFunction(b))return n.grep(a,function(a,d){return!!b.call(a,d,a)!==c});if(b.nodeType)return n.grep(a,function(a){return a===b!==c});if("string"==typeof b){if(w.test(b))return n.filter(b,a,c);b=n.filter(b,a)}return n.grep(a,function(a){return n.inArray(a,b)>=0!==c})}n.filter=function(a,b,c){var d=b[0];return c&&(a=":not("+a+")"),1===b.length&&1===d.nodeType?n.find.matchesSelector(d,a)?[d]:[]:n.find.matches(a,n.grep(b,function(a){return 1===a.nodeType}))},n.fn.extend({find:function(a){var b,c=[],d=this,e=d.length;if("string"!=typeof a)return this.pushStack(n(a).filter(function(){for(b=0;e>b;b++)if(n.contains(d[b],this))return!0}));for(b=0;e>b;b++)n.find(a,d[b],c);return c=this.pushStack(e>1?n.unique(c):c),c.selector=this.selector?this.selector+" "+a:a,c},filter:function(a){return this.pushStack(x(this,a||[],!1))},not:function(a){return this.pushStack(x(this,a||[],!0))},is:function(a){return!!x(this,"string"==typeof a&&u.test(a)?n(a):a||[],!1).length}});var y,z=a.document,A=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,B=n.fn.init=function(a,b){var c,d;if(!a)return this;if("string"==typeof a){if(c="<"===a.charAt(0)&&">"===a.charAt(a.length-1)&&a.length>=3?[null,a,null]:A.exec(a),!c||!c[1]&&b)return!b||b.jquery?(b||y).find(a):this.constructor(b).find(a);if(c[1]){if(b=b instanceof n?b[0]:b,n.merge(this,n.parseHTML(c[1],b&&b.nodeType?b.ownerDocument||b:z,!0)),v.test(c[1])&&n.isPlainObject(b))for(c in b)n.isFunction(this[c])?this[c](b[c]):this.attr(c,b[c]);return this}if(d=z.getElementById(c[2]),d&&d.parentNode){if(d.id!==c[2])return y.find(a);this.length=1,this[0]=d}return this.context=z,this.selector=a,this}return a.nodeType?(this.context=this[0]=a,this.length=1,this):n.isFunction(a)?"undefined"!=typeof y.ready?y.ready(a):a(n):(void 0!==a.selector&&(this.selector=a.selector,this.context=a.context),n.makeArray(a,this))};B.prototype=n.fn,y=n(z);var C=/^(?:parents|prev(?:Until|All))/,D={children:!0,contents:!0,next:!0,prev:!0};n.extend({dir:function(a,b,c){var d=[],e=a[b];while(e&&9!==e.nodeType&&(void 0===c||1!==e.nodeType||!n(e).is(c)))1===e.nodeType&&d.push(e),e=e[b];return d},sibling:function(a,b){for(var c=[];a;a=a.nextSibling)1===a.nodeType&&a!==b&&c.push(a);return c}}),n.fn.extend({has:function(a){var b,c=n(a,this),d=c.length;return this.filter(function(){for(b=0;d>b;b++)if(n.contains(this,c[b]))return!0})},closest:function(a,b){for(var c,d=0,e=this.length,f=[],g=u.test(a)||"string"!=typeof a?n(a,b||this.context):0;e>d;d++)for(c=this[d];c&&c!==b;c=c.parentNode)if(c.nodeType<11&&(g?g.index(c)>-1:1===c.nodeType&&n.find.matchesSelector(c,a))){f.push(c);break}return this.pushStack(f.length>1?n.unique(f):f)},index:function(a){return a?"string"==typeof a?n.inArray(this[0],n(a)):n.inArray(a.jquery?a[0]:a,this):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(a,b){return this.pushStack(n.unique(n.merge(this.get(),n(a,b))))},addBack:function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}});function E(a,b){do a=a[b];while(a&&1!==a.nodeType);return a}n.each({parent:function(a){var b=a.parentNode;return b&&11!==b.nodeType?b:null},parents:function(a){return n.dir(a,"parentNode")},parentsUntil:function(a,b,c){return n.dir(a,"parentNode",c)},next:function(a){return E(a,"nextSibling")},prev:function(a){return E(a,"previousSibling")},nextAll:function(a){return n.dir(a,"nextSibling")},prevAll:function(a){return n.dir(a,"previousSibling")},nextUntil:function(a,b,c){return n.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return n.dir(a,"previousSibling",c)},siblings:function(a){return n.sibling((a.parentNode||{}).firstChild,a)},children:function(a){return n.sibling(a.firstChild)},contents:function(a){return n.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:n.merge([],a.childNodes)}},function(a,b){n.fn[a]=function(c,d){var e=n.map(this,b,c);return"Until"!==a.slice(-5)&&(d=c),d&&"string"==typeof d&&(e=n.filter(d,e)),this.length>1&&(D[a]||(e=n.unique(e)),C.test(a)&&(e=e.reverse())),this.pushStack(e)}});var F=/\S+/g,G={};function H(a){var b=G[a]={};return n.each(a.match(F)||[],function(a,c){b[c]=!0}),b}n.Callbacks=function(a){a="string"==typeof a?G[a]||H(a):n.extend({},a);var b,c,d,e,f,g,h=[],i=!a.once&&[],j=function(l){for(c=a.memory&&l,d=!0,f=g||0,g=0,e=h.length,b=!0;h&&e>f;f++)if(h[f].apply(l[0],l[1])===!1&&a.stopOnFalse){c=!1;break}b=!1,h&&(i?i.length&&j(i.shift()):c?h=[]:k.disable())},k={add:function(){if(h){var d=h.length;!function f(b){n.each(b,function(b,c){var d=n.type(c);"function"===d?a.unique&&k.has(c)||h.push(c):c&&c.length&&"string"!==d&&f(c)})}(arguments),b?e=h.length:c&&(g=d,j(c))}return this},remove:function(){return h&&n.each(arguments,function(a,c){var d;while((d=n.inArray(c,h,d))>-1)h.splice(d,1),b&&(e>=d&&e--,f>=d&&f--)}),this},has:function(a){return a?n.inArray(a,h)>-1:!(!h||!h.length)},empty:function(){return h=[],e=0,this},disable:function(){return h=i=c=void 0,this},disabled:function(){return!h},lock:function(){return i=void 0,c||k.disable(),this},locked:function(){return!i},fireWith:function(a,c){return!h||d&&!i||(c=c||[],c=[a,c.slice?c.slice():c],b?i.push(c):j(c)),this},fire:function(){return k.fireWith(this,arguments),this},fired:function(){return!!d}};return k},n.extend({Deferred:function(a){var b=[["resolve","done",n.Callbacks("once memory"),"resolved"],["reject","fail",n.Callbacks("once memory"),"rejected"],["notify","progress",n.Callbacks("memory")]],c="pending",d={state:function(){return c},always:function(){return e.done(arguments).fail(arguments),this},then:function(){var a=arguments;return n.Deferred(function(c){n.each(b,function(b,f){var g=n.isFunction(a[b])&&a[b];e[f[1]](function(){var a=g&&g.apply(this,arguments);a&&n.isFunction(a.promise)?a.promise().done(c.resolve).fail(c.reject).progress(c.notify):c[f[0]+"With"](this===d?c.promise():this,g?[a]:arguments)})}),a=null}).promise()},promise:function(a){return null!=a?n.extend(a,d):d}},e={};return d.pipe=d.then,n.each(b,function(a,f){var g=f[2],h=f[3];d[f[1]]=g.add,h&&g.add(function(){c=h},b[1^a][2].disable,b[2][2].lock),e[f[0]]=function(){return e[f[0]+"With"](this===e?d:this,arguments),this},e[f[0]+"With"]=g.fireWith}),d.promise(e),a&&a.call(e,e),e},when:function(a){var b=0,c=d.call(arguments),e=c.length,f=1!==e||a&&n.isFunction(a.promise)?e:0,g=1===f?a:n.Deferred(),h=function(a,b,c){return function(e){b[a]=this,c[a]=arguments.length>1?d.call(arguments):e,c===i?g.notifyWith(b,c):--f||g.resolveWith(b,c)}},i,j,k;if(e>1)for(i=new Array(e),j=new Array(e),k=new Array(e);e>b;b++)c[b]&&n.isFunction(c[b].promise)?c[b].promise().done(h(b,k,c)).fail(g.reject).progress(h(b,j,i)):--f;return f||g.resolveWith(k,c),g.promise()}});var I;n.fn.ready=function(a){return n.ready.promise().done(a),this},n.extend({isReady:!1,readyWait:1,holdReady:function(a){a?n.readyWait++:n.ready(!0)},ready:function(a){if(a===!0?!--n.readyWait:!n.isReady){if(!z.body)return setTimeout(n.ready);n.isReady=!0,a!==!0&&--n.readyWait>0||(I.resolveWith(z,[n]),n.fn.trigger&&n(z).trigger("ready").off("ready"))}}});function J(){z.addEventListener?(z.removeEventListener("DOMContentLoaded",K,!1),a.removeEventListener("load",K,!1)):(z.detachEvent("onreadystatechange",K),a.detachEvent("onload",K))}function K(){(z.addEventListener||"load"===event.type||"complete"===z.readyState)&&(J(),n.ready())}n.ready.promise=function(b){if(!I)if(I=n.Deferred(),"complete"===z.readyState)setTimeout(n.ready);else if(z.addEventListener)z.addEventListener("DOMContentLoaded",K,!1),a.addEventListener("load",K,!1);else{z.attachEvent("onreadystatechange",K),a.attachEvent("onload",K);var c=!1;try{c=null==a.frameElement&&z.documentElement}catch(d){}c&&c.doScroll&&!function e(){if(!n.isReady){try{c.doScroll("left")}catch(a){return setTimeout(e,50)}J(),n.ready()}}()}return I.promise(b)};var L="undefined",M;for(M in n(l))break;l.ownLast="0"!==M,l.inlineBlockNeedsLayout=!1,n(function(){var a,b,c=z.getElementsByTagName("body")[0];c&&(a=z.createElement("div"),a.style.cssText="border:0;width:0;height:0;position:absolute;top:0;left:-9999px;margin-top:1px",b=z.createElement("div"),c.appendChild(a).appendChild(b),typeof b.style.zoom!==L&&(b.style.cssText="border:0;margin:0;width:1px;padding:1px;display:inline;zoom:1",(l.inlineBlockNeedsLayout=3===b.offsetWidth)&&(c.style.zoom=1)),c.removeChild(a),a=b=null)}),function(){var a=z.createElement("div");if(null==l.deleteExpando){l.deleteExpando=!0;try{delete a.test}catch(b){l.deleteExpando=!1}}a=null}(),n.acceptData=function(a){var b=n.noData[(a.nodeName+" ").toLowerCase()],c=+a.nodeType||1;return 1!==c&&9!==c?!1:!b||b!==!0&&a.getAttribute("classid")===b};var N=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,O=/([A-Z])/g;function P(a,b,c){if(void 0===c&&1===a.nodeType){var d="data-"+b.replace(O,"-$1").toLowerCase();if(c=a.getAttribute(d),"string"==typeof c){try{c="true"===c?!0:"false"===c?!1:"null"===c?null:+c+""===c?+c:N.test(c)?n.parseJSON(c):c}catch(e){}n.data(a,b,c)}else c=void 0}return c}function Q(a){var b;for(b in a)if(("data"!==b||!n.isEmptyObject(a[b]))&&"toJSON"!==b)return!1;return!0}function R(a,b,d,e){if(n.acceptData(a)){var f,g,h=n.expando,i=a.nodeType,j=i?n.cache:a,k=i?a[h]:a[h]&&h;if(k&&j[k]&&(e||j[k].data)||void 0!==d||"string"!=typeof b)return k||(k=i?a[h]=c.pop()||n.guid++:h),j[k]||(j[k]=i?{}:{toJSON:n.noop}),("object"==typeof b||"function"==typeof b)&&(e?j[k]=n.extend(j[k],b):j[k].data=n.extend(j[k].data,b)),g=j[k],e||(g.data||(g.data={}),g=g.data),void 0!==d&&(g[n.camelCase(b)]=d),"string"==typeof b?(f=g[b],null==f&&(f=g[n.camelCase(b)])):f=g,f -}}function S(a,b,c){if(n.acceptData(a)){var d,e,f=a.nodeType,g=f?n.cache:a,h=f?a[n.expando]:n.expando;if(g[h]){if(b&&(d=c?g[h]:g[h].data)){n.isArray(b)?b=b.concat(n.map(b,n.camelCase)):b in d?b=[b]:(b=n.camelCase(b),b=b in d?[b]:b.split(" ")),e=b.length;while(e--)delete d[b[e]];if(c?!Q(d):!n.isEmptyObject(d))return}(c||(delete g[h].data,Q(g[h])))&&(f?n.cleanData([a],!0):l.deleteExpando||g!=g.window?delete g[h]:g[h]=null)}}}n.extend({cache:{},noData:{"applet ":!0,"embed ":!0,"object ":"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"},hasData:function(a){return a=a.nodeType?n.cache[a[n.expando]]:a[n.expando],!!a&&!Q(a)},data:function(a,b,c){return R(a,b,c)},removeData:function(a,b){return S(a,b)},_data:function(a,b,c){return R(a,b,c,!0)},_removeData:function(a,b){return S(a,b,!0)}}),n.fn.extend({data:function(a,b){var c,d,e,f=this[0],g=f&&f.attributes;if(void 0===a){if(this.length&&(e=n.data(f),1===f.nodeType&&!n._data(f,"parsedAttrs"))){c=g.length;while(c--)d=g[c].name,0===d.indexOf("data-")&&(d=n.camelCase(d.slice(5)),P(f,d,e[d]));n._data(f,"parsedAttrs",!0)}return e}return"object"==typeof a?this.each(function(){n.data(this,a)}):arguments.length>1?this.each(function(){n.data(this,a,b)}):f?P(f,a,n.data(f,a)):void 0},removeData:function(a){return this.each(function(){n.removeData(this,a)})}}),n.extend({queue:function(a,b,c){var d;return a?(b=(b||"fx")+"queue",d=n._data(a,b),c&&(!d||n.isArray(c)?d=n._data(a,b,n.makeArray(c)):d.push(c)),d||[]):void 0},dequeue:function(a,b){b=b||"fx";var c=n.queue(a,b),d=c.length,e=c.shift(),f=n._queueHooks(a,b),g=function(){n.dequeue(a,b)};"inprogress"===e&&(e=c.shift(),d--),e&&("fx"===b&&c.unshift("inprogress"),delete f.stop,e.call(a,g,f)),!d&&f&&f.empty.fire()},_queueHooks:function(a,b){var c=b+"queueHooks";return n._data(a,c)||n._data(a,c,{empty:n.Callbacks("once memory").add(function(){n._removeData(a,b+"queue"),n._removeData(a,c)})})}}),n.fn.extend({queue:function(a,b){var c=2;return"string"!=typeof a&&(b=a,a="fx",c--),arguments.lengthh;h++)b(a[h],c,g?d:d.call(a[h],h,b(a[h],c)));return e?a:j?b.call(a):i?b(a[0],c):f},X=/^(?:checkbox|radio)$/i;!function(){var a=z.createDocumentFragment(),b=z.createElement("div"),c=z.createElement("input");if(b.setAttribute("className","t"),b.innerHTML="
            a",l.leadingWhitespace=3===b.firstChild.nodeType,l.tbody=!b.getElementsByTagName("tbody").length,l.htmlSerialize=!!b.getElementsByTagName("link").length,l.html5Clone="<:nav>"!==z.createElement("nav").cloneNode(!0).outerHTML,c.type="checkbox",c.checked=!0,a.appendChild(c),l.appendChecked=c.checked,b.innerHTML="",l.noCloneChecked=!!b.cloneNode(!0).lastChild.defaultValue,a.appendChild(b),b.innerHTML="",l.checkClone=b.cloneNode(!0).cloneNode(!0).lastChild.checked,l.noCloneEvent=!0,b.attachEvent&&(b.attachEvent("onclick",function(){l.noCloneEvent=!1}),b.cloneNode(!0).click()),null==l.deleteExpando){l.deleteExpando=!0;try{delete b.test}catch(d){l.deleteExpando=!1}}a=b=c=null}(),function(){var b,c,d=z.createElement("div");for(b in{submit:!0,change:!0,focusin:!0})c="on"+b,(l[b+"Bubbles"]=c in a)||(d.setAttribute(c,"t"),l[b+"Bubbles"]=d.attributes[c].expando===!1);d=null}();var Y=/^(?:input|select|textarea)$/i,Z=/^key/,$=/^(?:mouse|contextmenu)|click/,_=/^(?:focusinfocus|focusoutblur)$/,ab=/^([^.]*)(?:\.(.+)|)$/;function bb(){return!0}function cb(){return!1}function db(){try{return z.activeElement}catch(a){}}n.event={global:{},add:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,o,p,q,r=n._data(a);if(r){c.handler&&(i=c,c=i.handler,e=i.selector),c.guid||(c.guid=n.guid++),(g=r.events)||(g=r.events={}),(k=r.handle)||(k=r.handle=function(a){return typeof n===L||a&&n.event.triggered===a.type?void 0:n.event.dispatch.apply(k.elem,arguments)},k.elem=a),b=(b||"").match(F)||[""],h=b.length;while(h--)f=ab.exec(b[h])||[],o=q=f[1],p=(f[2]||"").split(".").sort(),o&&(j=n.event.special[o]||{},o=(e?j.delegateType:j.bindType)||o,j=n.event.special[o]||{},l=n.extend({type:o,origType:q,data:d,handler:c,guid:c.guid,selector:e,needsContext:e&&n.expr.match.needsContext.test(e),namespace:p.join(".")},i),(m=g[o])||(m=g[o]=[],m.delegateCount=0,j.setup&&j.setup.call(a,d,p,k)!==!1||(a.addEventListener?a.addEventListener(o,k,!1):a.attachEvent&&a.attachEvent("on"+o,k))),j.add&&(j.add.call(a,l),l.handler.guid||(l.handler.guid=c.guid)),e?m.splice(m.delegateCount++,0,l):m.push(l),n.event.global[o]=!0);a=null}},remove:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,o,p,q,r=n.hasData(a)&&n._data(a);if(r&&(k=r.events)){b=(b||"").match(F)||[""],j=b.length;while(j--)if(h=ab.exec(b[j])||[],o=q=h[1],p=(h[2]||"").split(".").sort(),o){l=n.event.special[o]||{},o=(d?l.delegateType:l.bindType)||o,m=k[o]||[],h=h[2]&&new RegExp("(^|\\.)"+p.join("\\.(?:.*\\.|)")+"(\\.|$)"),i=f=m.length;while(f--)g=m[f],!e&&q!==g.origType||c&&c.guid!==g.guid||h&&!h.test(g.namespace)||d&&d!==g.selector&&("**"!==d||!g.selector)||(m.splice(f,1),g.selector&&m.delegateCount--,l.remove&&l.remove.call(a,g));i&&!m.length&&(l.teardown&&l.teardown.call(a,p,r.handle)!==!1||n.removeEvent(a,o,r.handle),delete k[o])}else for(o in k)n.event.remove(a,o+b[j],c,d,!0);n.isEmptyObject(k)&&(delete r.handle,n._removeData(a,"events"))}},trigger:function(b,c,d,e){var f,g,h,i,k,l,m,o=[d||z],p=j.call(b,"type")?b.type:b,q=j.call(b,"namespace")?b.namespace.split("."):[];if(h=l=d=d||z,3!==d.nodeType&&8!==d.nodeType&&!_.test(p+n.event.triggered)&&(p.indexOf(".")>=0&&(q=p.split("."),p=q.shift(),q.sort()),g=p.indexOf(":")<0&&"on"+p,b=b[n.expando]?b:new n.Event(p,"object"==typeof b&&b),b.isTrigger=e?2:3,b.namespace=q.join("."),b.namespace_re=b.namespace?new RegExp("(^|\\.)"+q.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,b.result=void 0,b.target||(b.target=d),c=null==c?[b]:n.makeArray(c,[b]),k=n.event.special[p]||{},e||!k.trigger||k.trigger.apply(d,c)!==!1)){if(!e&&!k.noBubble&&!n.isWindow(d)){for(i=k.delegateType||p,_.test(i+p)||(h=h.parentNode);h;h=h.parentNode)o.push(h),l=h;l===(d.ownerDocument||z)&&o.push(l.defaultView||l.parentWindow||a)}m=0;while((h=o[m++])&&!b.isPropagationStopped())b.type=m>1?i:k.bindType||p,f=(n._data(h,"events")||{})[b.type]&&n._data(h,"handle"),f&&f.apply(h,c),f=g&&h[g],f&&f.apply&&n.acceptData(h)&&(b.result=f.apply(h,c),b.result===!1&&b.preventDefault());if(b.type=p,!e&&!b.isDefaultPrevented()&&(!k._default||k._default.apply(o.pop(),c)===!1)&&n.acceptData(d)&&g&&d[p]&&!n.isWindow(d)){l=d[g],l&&(d[g]=null),n.event.triggered=p;try{d[p]()}catch(r){}n.event.triggered=void 0,l&&(d[g]=l)}return b.result}},dispatch:function(a){a=n.event.fix(a);var b,c,e,f,g,h=[],i=d.call(arguments),j=(n._data(this,"events")||{})[a.type]||[],k=n.event.special[a.type]||{};if(i[0]=a,a.delegateTarget=this,!k.preDispatch||k.preDispatch.call(this,a)!==!1){h=n.event.handlers.call(this,a,j),b=0;while((f=h[b++])&&!a.isPropagationStopped()){a.currentTarget=f.elem,g=0;while((e=f.handlers[g++])&&!a.isImmediatePropagationStopped())(!a.namespace_re||a.namespace_re.test(e.namespace))&&(a.handleObj=e,a.data=e.data,c=((n.event.special[e.origType]||{}).handle||e.handler).apply(f.elem,i),void 0!==c&&(a.result=c)===!1&&(a.preventDefault(),a.stopPropagation()))}return k.postDispatch&&k.postDispatch.call(this,a),a.result}},handlers:function(a,b){var c,d,e,f,g=[],h=b.delegateCount,i=a.target;if(h&&i.nodeType&&(!a.button||"click"!==a.type))for(;i!=this;i=i.parentNode||this)if(1===i.nodeType&&(i.disabled!==!0||"click"!==a.type)){for(e=[],f=0;h>f;f++)d=b[f],c=d.selector+" ",void 0===e[c]&&(e[c]=d.needsContext?n(c,this).index(i)>=0:n.find(c,this,null,[i]).length),e[c]&&e.push(d);e.length&&g.push({elem:i,handlers:e})}return h]","i"),ib=/^\s+/,jb=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,kb=/<([\w:]+)/,lb=/\s*$/g,sb={option:[1,""],legend:[1,"
            ","
            "],area:[1,"",""],param:[1,"",""],thead:[1,"","
            "],tr:[2,"","
            "],col:[2,"","
            "],td:[3,"","
            "],_default:l.htmlSerialize?[0,"",""]:[1,"X
            ","
            "]},tb=eb(z),ub=tb.appendChild(z.createElement("div"));sb.optgroup=sb.option,sb.tbody=sb.tfoot=sb.colgroup=sb.caption=sb.thead,sb.th=sb.td;function vb(a,b){var c,d,e=0,f=typeof a.getElementsByTagName!==L?a.getElementsByTagName(b||"*"):typeof a.querySelectorAll!==L?a.querySelectorAll(b||"*"):void 0;if(!f)for(f=[],c=a.childNodes||a;null!=(d=c[e]);e++)!b||n.nodeName(d,b)?f.push(d):n.merge(f,vb(d,b));return void 0===b||b&&n.nodeName(a,b)?n.merge([a],f):f}function wb(a){X.test(a.type)&&(a.defaultChecked=a.checked)}function xb(a,b){return n.nodeName(a,"table")&&n.nodeName(11!==b.nodeType?b:b.firstChild,"tr")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function yb(a){return a.type=(null!==n.find.attr(a,"type"))+"/"+a.type,a}function zb(a){var b=qb.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type"),a}function Ab(a,b){for(var c,d=0;null!=(c=a[d]);d++)n._data(c,"globalEval",!b||n._data(b[d],"globalEval"))}function Bb(a,b){if(1===b.nodeType&&n.hasData(a)){var c,d,e,f=n._data(a),g=n._data(b,f),h=f.events;if(h){delete g.handle,g.events={};for(c in h)for(d=0,e=h[c].length;e>d;d++)n.event.add(b,c,h[c][d])}g.data&&(g.data=n.extend({},g.data))}}function Cb(a,b){var c,d,e;if(1===b.nodeType){if(c=b.nodeName.toLowerCase(),!l.noCloneEvent&&b[n.expando]){e=n._data(b);for(d in e.events)n.removeEvent(b,d,e.handle);b.removeAttribute(n.expando)}"script"===c&&b.text!==a.text?(yb(b).text=a.text,zb(b)):"object"===c?(b.parentNode&&(b.outerHTML=a.outerHTML),l.html5Clone&&a.innerHTML&&!n.trim(b.innerHTML)&&(b.innerHTML=a.innerHTML)):"input"===c&&X.test(a.type)?(b.defaultChecked=b.checked=a.checked,b.value!==a.value&&(b.value=a.value)):"option"===c?b.defaultSelected=b.selected=a.defaultSelected:("input"===c||"textarea"===c)&&(b.defaultValue=a.defaultValue)}}n.extend({clone:function(a,b,c){var d,e,f,g,h,i=n.contains(a.ownerDocument,a);if(l.html5Clone||n.isXMLDoc(a)||!hb.test("<"+a.nodeName+">")?f=a.cloneNode(!0):(ub.innerHTML=a.outerHTML,ub.removeChild(f=ub.firstChild)),!(l.noCloneEvent&&l.noCloneChecked||1!==a.nodeType&&11!==a.nodeType||n.isXMLDoc(a)))for(d=vb(f),h=vb(a),g=0;null!=(e=h[g]);++g)d[g]&&Cb(e,d[g]);if(b)if(c)for(h=h||vb(a),d=d||vb(f),g=0;null!=(e=h[g]);g++)Bb(e,d[g]);else Bb(a,f);return d=vb(f,"script"),d.length>0&&Ab(d,!i&&vb(a,"script")),d=h=e=null,f},buildFragment:function(a,b,c,d){for(var e,f,g,h,i,j,k,m=a.length,o=eb(b),p=[],q=0;m>q;q++)if(f=a[q],f||0===f)if("object"===n.type(f))n.merge(p,f.nodeType?[f]:f);else if(mb.test(f)){h=h||o.appendChild(b.createElement("div")),i=(kb.exec(f)||["",""])[1].toLowerCase(),k=sb[i]||sb._default,h.innerHTML=k[1]+f.replace(jb,"<$1>")+k[2],e=k[0];while(e--)h=h.lastChild;if(!l.leadingWhitespace&&ib.test(f)&&p.push(b.createTextNode(ib.exec(f)[0])),!l.tbody){f="table"!==i||lb.test(f)?""!==k[1]||lb.test(f)?0:h:h.firstChild,e=f&&f.childNodes.length;while(e--)n.nodeName(j=f.childNodes[e],"tbody")&&!j.childNodes.length&&f.removeChild(j)}n.merge(p,h.childNodes),h.textContent="";while(h.firstChild)h.removeChild(h.firstChild);h=o.lastChild}else p.push(b.createTextNode(f));h&&o.removeChild(h),l.appendChecked||n.grep(vb(p,"input"),wb),q=0;while(f=p[q++])if((!d||-1===n.inArray(f,d))&&(g=n.contains(f.ownerDocument,f),h=vb(o.appendChild(f),"script"),g&&Ab(h),c)){e=0;while(f=h[e++])pb.test(f.type||"")&&c.push(f)}return h=null,o},cleanData:function(a,b){for(var d,e,f,g,h=0,i=n.expando,j=n.cache,k=l.deleteExpando,m=n.event.special;null!=(d=a[h]);h++)if((b||n.acceptData(d))&&(f=d[i],g=f&&j[f])){if(g.events)for(e in g.events)m[e]?n.event.remove(d,e):n.removeEvent(d,e,g.handle);j[f]&&(delete j[f],k?delete d[i]:typeof d.removeAttribute!==L?d.removeAttribute(i):d[i]=null,c.push(f))}}}),n.fn.extend({text:function(a){return W(this,function(a){return void 0===a?n.text(this):this.empty().append((this[0]&&this[0].ownerDocument||z).createTextNode(a))},null,a,arguments.length)},append:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=xb(this,a);b.appendChild(a)}})},prepend:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=xb(this,a);b.insertBefore(a,b.firstChild)}})},before:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this)})},after:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this.nextSibling)})},remove:function(a,b){for(var c,d=a?n.filter(a,this):this,e=0;null!=(c=d[e]);e++)b||1!==c.nodeType||n.cleanData(vb(c)),c.parentNode&&(b&&n.contains(c.ownerDocument,c)&&Ab(vb(c,"script")),c.parentNode.removeChild(c));return this},empty:function(){for(var a,b=0;null!=(a=this[b]);b++){1===a.nodeType&&n.cleanData(vb(a,!1));while(a.firstChild)a.removeChild(a.firstChild);a.options&&n.nodeName(a,"select")&&(a.options.length=0)}return this},clone:function(a,b){return a=null==a?!1:a,b=null==b?a:b,this.map(function(){return n.clone(this,a,b)})},html:function(a){return W(this,function(a){var b=this[0]||{},c=0,d=this.length;if(void 0===a)return 1===b.nodeType?b.innerHTML.replace(gb,""):void 0;if(!("string"!=typeof a||nb.test(a)||!l.htmlSerialize&&hb.test(a)||!l.leadingWhitespace&&ib.test(a)||sb[(kb.exec(a)||["",""])[1].toLowerCase()])){a=a.replace(jb,"<$1>");try{for(;d>c;c++)b=this[c]||{},1===b.nodeType&&(n.cleanData(vb(b,!1)),b.innerHTML=a);b=0}catch(e){}}b&&this.empty().append(a)},null,a,arguments.length)},replaceWith:function(){var a=arguments[0];return this.domManip(arguments,function(b){a=this.parentNode,n.cleanData(vb(this)),a&&a.replaceChild(b,this)}),a&&(a.length||a.nodeType)?this:this.remove()},detach:function(a){return this.remove(a,!0)},domManip:function(a,b){a=e.apply([],a);var c,d,f,g,h,i,j=0,k=this.length,m=this,o=k-1,p=a[0],q=n.isFunction(p);if(q||k>1&&"string"==typeof p&&!l.checkClone&&ob.test(p))return this.each(function(c){var d=m.eq(c);q&&(a[0]=p.call(this,c,d.html())),d.domManip(a,b)});if(k&&(i=n.buildFragment(a,this[0].ownerDocument,!1,this),c=i.firstChild,1===i.childNodes.length&&(i=c),c)){for(g=n.map(vb(i,"script"),yb),f=g.length;k>j;j++)d=i,j!==o&&(d=n.clone(d,!0,!0),f&&n.merge(g,vb(d,"script"))),b.call(this[j],d,j);if(f)for(h=g[g.length-1].ownerDocument,n.map(g,zb),j=0;f>j;j++)d=g[j],pb.test(d.type||"")&&!n._data(d,"globalEval")&&n.contains(h,d)&&(d.src?n._evalUrl&&n._evalUrl(d.src):n.globalEval((d.text||d.textContent||d.innerHTML||"").replace(rb,"")));i=c=null}return this}}),n.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){n.fn[a]=function(a){for(var c,d=0,e=[],g=n(a),h=g.length-1;h>=d;d++)c=d===h?this:this.clone(!0),n(g[d])[b](c),f.apply(e,c.get());return this.pushStack(e)}});var Db,Eb={};function Fb(b,c){var d=n(c.createElement(b)).appendTo(c.body),e=a.getDefaultComputedStyle?a.getDefaultComputedStyle(d[0]).display:n.css(d[0],"display");return d.detach(),e}function Gb(a){var b=z,c=Eb[a];return c||(c=Fb(a,b),"none"!==c&&c||(Db=(Db||n(" - diff --git a/ph3-beta-to-ui3.0-conv/analytics/headSnippet b/ph3-beta-to-ui3.0-conv/analytics/headSnippet deleted file mode 100644 index 7bab1518..00000000 --- a/ph3-beta-to-ui3.0-conv/analytics/headSnippet +++ /dev/null @@ -1,18 +0,0 @@ - - - diff --git a/ph3-beta-to-ui3.0-conv/build_exp.sh b/ph3-beta-to-ui3.0-conv/build_exp.sh deleted file mode 100755 index edd85dfc..00000000 --- a/ph3-beta-to-ui3.0-conv/build_exp.sh +++ /dev/null @@ -1,110 +0,0 @@ -#!/bin/bash - -echo "number of arguments = $#" -if [ "$#" -ne 12 ]; then - echo "Usage: ./script.sh - - - " - exit 1 -fi - -url=$1 -tag=$2 -EXP_SHORT_NAME=$3 -EXP_NAME=$4 -location=$5 -BROAD_AREA=$6 -DISPLAY_LAB_NAME=$7 -LAB_NAME=$8 -COLLEGE_NAME=$9 -PHASE=${10} -BROAD_AREA_LINK=${11} -LAB_LINK=${12} - - -echo $LAB_LINK - -rm -rf exprepos -rm -rf expbuilds - -mkdir -p exprepos -mkdir -p expbuilds - - -##### Clone repository -cd exprepos; git clone $url -q; cd ../ - -basename=$(basename $url) -reponame=${basename%.*} - -## switch to the given tag -cd exprepos/$reponame; git fetch --all; git checkout $tag; cd ../../ - -template=ui3template - -## conversion - -## Copy template files to the build directory of the experiment. - -mkdir -p expbuilds/$EXP_SHORT_NAME -cp -r $template/* expbuilds/$EXP_SHORT_NAME - - -## Copy content (simulations, and other files like markdown, images etc) from the source repo directory -## to the build directory and rename it to "round-template". - -cp -r exprepos/$reponame expbuilds/$EXP_SHORT_NAME -mv expbuilds/$EXP_SHORT_NAME/$reponame expbuilds/$EXP_SHORT_NAME/round-template - - -## Insert analytics snippet in the "experiment" directory. -head_snippet=$(tr -d '\n' < analytics/headSnippet) -body_snippet=$(tr -d '\n' < analytics/bodySnippet) - -function insert_analytics_snippets () { - fn=$1 - bodytag=$(grep "@${head_snippet//&/\\&}@" "$fn" - sed -i "s@$bodytag@$bodytag${body_snippet//&/\\&}@" "$fn" - else - echo "analytics script already present." - echo - fi -} - -pages=$(find expbuilds/$EXP_SHORT_NAME/round-template/experiment/ -type f -name "*.html") - -echo $pages - -# insert snippets in all html pages -for p in $pages -do - echo "$p" - insert_analytics_snippets "$p" -done - - -## Replace the placeholders for the data layer variables with actual values. - -find expbuilds/$EXP_SHORT_NAME/ -type f -name "*.html" -exec sed -i "s/{{BROAD_AREA}}/$BROAD_AREA/g" {} + -find expbuilds/$EXP_SHORT_NAME/ -type f -name "*.html" -exec sed -i "s/{{LAB_NAME}}/$DISPLAY_LAB_NAME/g" {} + -find expbuilds/$EXP_SHORT_NAME/ -type f -name "*.html" -exec sed -i "s/{{COLLEGE_NAME}}/$COLLEGE_NAME/g" {} + -find expbuilds/$EXP_SHORT_NAME/ -type f -name "*.html" -exec sed -i "s/{{PHASE}}/$PHASE/g" {} + -find expbuilds/$EXP_SHORT_NAME/ -type f -name "*.html" -exec sed -i "s/{{EXP_NAME}}/$EXP_NAME/g" {} + -find expbuilds/$EXP_SHORT_NAME/ -type f -name "*.html" -exec sed -i "s/{{EXP_SHORT_NAME}}/$EXP_SHORT_NAME/g" {} + -find expbuilds/$EXP_SHORT_NAME/ -type f -name "*.html" -exec sed -i "s,{{BA_LINK}},$BROAD_AREA_LINK,g" {} + -find expbuilds/$EXP_SHORT_NAME/ -type f -name "*.html" -exec sed -i "s,{{LAB_LINK}},$LAB_LINK,g" {} + - - -cp fixpointer.py expbuilds/$EXP_SHORT_NAME/round-template/experiment/simulation/ -cd expbuilds/$EXP_SHORT_NAME/round-template/experiment/simulation/ -python fixpointer.py -cp -r images ../../../ -cd .. -cp -r images/* ../../images/ - -exit 0 diff --git a/ph3-beta-to-ui3.0-conv/config.py b/ph3-beta-to-ui3.0-conv/config.py deleted file mode 100644 index 875dd5e7..00000000 --- a/ph3-beta-to-ui3.0-conv/config.py +++ /dev/null @@ -1,3 +0,0 @@ -import os -BUILD_SCRIPT = "build_exp.sh" -EXPERIMENT_LIST_FILE = "./experiment-list.json" diff --git a/ph3-beta-to-ui3.0-conv/config.pyc b/ph3-beta-to-ui3.0-conv/config.pyc deleted file mode 100644 index c913d8fc..00000000 Binary files a/ph3-beta-to-ui3.0-conv/config.pyc and /dev/null differ diff --git a/ph3-beta-to-ui3.0-conv/experiment-list.json b/ph3-beta-to-ui3.0-conv/experiment-list.json deleted file mode 100644 index e98062af..00000000 --- a/ph3-beta-to-ui3.0-conv/experiment-list.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "broadArea": { - "name": "Electronics and Communication Engineering", - "link": "http://www.vlab.co.in/broad-area-electronics-and-communications" - }, - "lab": "Digital Electronics IITR", - "phase": 3, - "collegeName": "IITR", - "baseUrl": "de-iitr.vlabs.ac.in", - "introduction": "Welcome to the Digital Electronics Lab", - "experiments": [ - { - "name": "Verification and interpretation of truth table for AND, OR, NOT, NAND, NOR, Ex-OR, Ex-NOR gates", - "short-name": "truth-table-gates", - "repo": "http://vlabs.iitb.ac.in/gitlab/vlabs-dev-central-hosting/digital-electronics-iitr/verification-and-interpretation-truth-table-gates-iitr.git", - "tag": "v1.0.0", - "deploy": true - }, - { - "name": "Construction of half and full adder using XOR and NAND gates and verification of its operation", - "short-name": "half-full-adder", - "repo": "http://vlabs.iitb.ac.in/gitlab/vlabs-dev-central-hosting/digital-electronics-iitr/construction-half-full-adder-verification-of-operation-iitr", - "tag": "v1.0.0", - "deploy": true - } - ], - "targetAudience": { - "UG": ["B. Tech./ B.E in Electronics and Communications"], - "PG": [ - "MS/Ph. D. Beginners in Electronics and Communications and related topics" - ] - }, - "objective": "To learn and understand the basic concepts of digital electronics.", - "courseAlignment": { - "description": "The syllabi of this lab aligns to the following universities in India.", - "universities": [ - "M. Morris Mano and M. D. Ciletti, “Digital Design”, Pearson Education.", - "David J. Comer, “Digital Logic & State Machine Design”, Oxford University Press", - "Taub, Schilieng, “Digital Integrated Electronics”.", - "John F Wakerly, “Digital Design: Principles and Practices”, Prentice Hall." - ] - }, - "version": "v5.11.0" -} diff --git a/ph3-beta-to-ui3.0-conv/fixpointer.py b/ph3-beta-to-ui3.0-conv/fixpointer.py deleted file mode 100644 index 21fec3b1..00000000 --- a/ph3-beta-to-ui3.0-conv/fixpointer.py +++ /dev/null @@ -1,10 +0,0 @@ - -if __name__ == "__main__": - with open('index.html', 'r') as fp: - html = fp.read() - si = html.find('') - html_new = html[:si] + '' + html[si:] - - with open('index.html', 'w') as fp: - fp.write(html_new) - diff --git a/ph3-beta-to-ui3.0-conv/fixpointer.py~ b/ph3-beta-to-ui3.0-conv/fixpointer.py~ deleted file mode 100644 index 4d644caf..00000000 --- a/ph3-beta-to-ui3.0-conv/fixpointer.py~ +++ /dev/null @@ -1,9 +0,0 @@ - if __name__ == "__main__": - with open('index.html', 'r') as fp: - html = fp.read() - si = html.find('') - html_new = html[:si] + '' + html[si:] - - with open('index.html', 'w') as fp: - fp.write(html_new) - diff --git a/ph3-beta-to-ui3.0-conv/host_experiments.py b/ph3-beta-to-ui3.0-conv/host_experiments.py deleted file mode 100644 index ff16682a..00000000 --- a/ph3-beta-to-ui3.0-conv/host_experiments.py +++ /dev/null @@ -1,46 +0,0 @@ -import json -import os -import re - -from config import * -from utils import * - -def build_exp(exp, broad_area_name, display_lab_name, lab_name, college_name, phase, broad_area_link, lab_link): - script_cmd = "./%s '%s' '%s' '%s' '%s' '%s' '%s' '%s' '%s' '%s' '%s' '%s' '%s'" % (BUILD_SCRIPT, exp["repo"], exp["tag"], exp['short-name'], exp['name'], ".", broad_area_name, display_lab_name, lab_name, college_name, phase, broad_area_link, lab_link) - try: - (ret_code, output) = execute_command(script_cmd) - print "script run successful" - except Exception, e: - print "script run unsuccessful : " + str(e) - raise e - - return exp['repo'] - -def copy_exps_to_server(build_loc, exp_copy_loc): - rsync_cmd = "mkdir -p '%s'; rsync -a '%s' '%s'" % (exp_copy_loc, build_loc, exp_copy_loc) - try: - (ret_code, output) = execute_command(rsync_cmd) - print "copy to remote successful" - except Exception, e: - print "copy to remote unsuccessful : " + str(e) - raise e - -def host_experiments(): - with open(EXPERIMENT_LIST_FILE) as f: - data = json.load(f) - - for exp in data["experiments"]: - if (exp["deploy"]): - lab_name = re.sub(r' +', '-', data["lab"].lower()) - lab_link = os.path.join(data["baseUrl"], lab_name) - exp_copy_loc = "/var/www/html/" + lab_name + "/stage/exp/" - build_exp(exp, - data["broadArea"]["name"], - data["lab"], lab_name, data['collegeName'], - data['phase'], data["broadArea"]["link"], - "https://"+lab_link) - - print lab_link - - copy_exps_to_server("expbuilds/" + exp["short-name"], exp_copy_loc) - return "" diff --git a/ph3-beta-to-ui3.0-conv/host_experiments.pyc b/ph3-beta-to-ui3.0-conv/host_experiments.pyc deleted file mode 100644 index 76a468e0..00000000 Binary files a/ph3-beta-to-ui3.0-conv/host_experiments.pyc and /dev/null differ diff --git a/ph3-beta-to-ui3.0-conv/install_infra.py b/ph3-beta-to-ui3.0-conv/install_infra.py deleted file mode 100644 index b26fc2af..00000000 --- a/ph3-beta-to-ui3.0-conv/install_infra.py +++ /dev/null @@ -1,18 +0,0 @@ -from utils import * -from config import * -def create_path(loc): - execute_command("mkdir -p %s" % (loc)) - -def install_infra(): - create_path(INFRA_LOC) - create_path(BUILT_EXP_LOC) - fetch_repo(INFRA_REPO, INFRA_BRANCH, INFRA_ID) - -def clean_infra(): - remove_infra_cmd = "%s %s" % ("rm -rf", INFRA_LOC) - try: - (ret_code, output) = execute_command(remove_infra_cmd) - print "clean infra successful" - except Exception, e: - print "clean infra unsuccessful : " + str(e) - raise e diff --git a/ph3-beta-to-ui3.0-conv/install_infra.pyc b/ph3-beta-to-ui3.0-conv/install_infra.pyc deleted file mode 100644 index 4be3af2d..00000000 Binary files a/ph3-beta-to-ui3.0-conv/install_infra.pyc and /dev/null differ diff --git a/ph3-beta-to-ui3.0-conv/makefile b/ph3-beta-to-ui3.0-conv/makefile deleted file mode 100644 index 4120563d..00000000 --- a/ph3-beta-to-ui3.0-conv/makefile +++ /dev/null @@ -1,12 +0,0 @@ -host-experiments: - (export PYTHONPATH=`pwd`; python targets.py target=host-experiments) - -install-infra: - (export PYTHONPATH=`pwd`; python targets.py target=install-infra) - -all: install-infra host-experiments - echo "Install the infra and hosts the experiments" - rm -rf ~/tmp/iitb-exp/build - -clean-infra: - (export PYTHONPATH=`pwd`; python targets.py target=clean-infra) diff --git a/ph3-beta-to-ui3.0-conv/targets.py b/ph3-beta-to-ui3.0-conv/targets.py deleted file mode 100644 index 6360a3a5..00000000 --- a/ph3-beta-to-ui3.0-conv/targets.py +++ /dev/null @@ -1,25 +0,0 @@ -import sys - -from install_infra import * -from host_experiments import * - -def parse_args(*args): - arg_dict = {} - pairs = args[0] - for pair in pairs: - (key, val) = pair.split('=') - arg_dict[key] = val - - return arg_dict - -if __name__ == '__main__': - arguments = parse_args(sys.argv[1:]) - target = arguments['target'] - if target == "install-infra": - install_infra() - elif target == "host-experiments": - arr = host_experiments() - print arr - elif target == "clean-infra": - arr = clean_infra() - print arr diff --git a/ph3-beta-to-ui3.0-conv/ui3template/assets/css/bootstrap.min.css b/ph3-beta-to-ui3.0-conv/ui3template/assets/css/bootstrap.min.css deleted file mode 100644 index 86b6845b..00000000 --- a/ph3-beta-to-ui3.0-conv/ui3template/assets/css/bootstrap.min.css +++ /dev/null @@ -1,7 +0,0 @@ -/*! - * Bootstrap v4.4.1 (https://getbootstrap.com/) - * Copyright 2011-2019 The Bootstrap Authors - * Copyright 2011-2019 Twitter, Inc. - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) - */:root{--blue:#007bff;--indigo:#6610f2;--purple:#6f42c1;--pink:#e83e8c;--red:#dc3545;--orange:#fd7e14;--yellow:#ffc107;--green:#28a745;--teal:#20c997;--cyan:#17a2b8;--white:#fff;--gray:#6c757d;--gray-dark:#343a40;--primary:#007bff;--secondary:#6c757d;--success:#28a745;--info:#17a2b8;--warning:#ffc107;--danger:#dc3545;--light:#f8f9fa;--dark:#343a40;--breakpoint-xs:0;--breakpoint-sm:576px;--breakpoint-md:768px;--breakpoint-lg:992px;--breakpoint-xl:1200px;--font-family-sans-serif:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-family-monospace:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace}*,::after,::before{box-sizing:border-box}html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}article,aside,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-size:1rem;font-weight:400;line-height:1.5;color:#212529;text-align:left;background-color:#fff}[tabindex="-1"]:focus:not(:focus-visible){outline:0!important}hr{box-sizing:content-box;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem}p{margin-top:0;margin-bottom:1rem}abbr[data-original-title],abbr[title]{text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;border-bottom:0;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#007bff;text-decoration:none;background-color:transparent}a:hover{color:#0056b3;text-decoration:underline}a:not([href]){color:inherit;text-decoration:none}a:not([href]):hover{color:inherit;text-decoration:none}code,kbd,pre,samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:1em}pre{margin-top:0;margin-bottom:1rem;overflow:auto}figure{margin:0 0 1rem}img{vertical-align:middle;border-style:none}svg{overflow:hidden;vertical-align:middle}table{border-collapse:collapse}caption{padding-top:.75rem;padding-bottom:.75rem;color:#6c757d;text-align:left;caption-side:bottom}th{text-align:inherit}label{display:inline-block;margin-bottom:.5rem}button{border-radius:0}button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,input{overflow:visible}button,select{text-transform:none}select{word-wrap:normal}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{padding:0;border-style:none}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=date],input[type=datetime-local],input[type=month],input[type=time]{-webkit-appearance:listbox}textarea{overflow:auto;resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;max-width:100%;padding:0;margin-bottom:.5rem;font-size:1.5rem;line-height:inherit;color:inherit;white-space:normal}progress{vertical-align:baseline}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:none}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}summary{display:list-item;cursor:pointer}template{display:none}[hidden]{display:none!important}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{margin-bottom:.5rem;font-weight:500;line-height:1.2}.h1,h1{font-size:2.5rem}.h2,h2{font-size:2rem}.h3,h3{font-size:1.75rem}.h4,h4{font-size:1.5rem}.h5,h5{font-size:1.25rem}.h6,h6{font-size:1rem}.lead{font-size:1.25rem;font-weight:300}.display-1{font-size:6rem;font-weight:300;line-height:1.2}.display-2{font-size:5.5rem;font-weight:300;line-height:1.2}.display-3{font-size:4.5rem;font-weight:300;line-height:1.2}.display-4{font-size:3.5rem;font-weight:300;line-height:1.2}hr{margin-top:1rem;margin-bottom:1rem;border:0;border-top:1px solid rgba(0,0,0,.1)}.small,small{font-size:80%;font-weight:400}.mark,mark{padding:.2em;background-color:#fcf8e3}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;list-style:none}.list-inline-item{display:inline-block}.list-inline-item:not(:last-child){margin-right:.5rem}.initialism{font-size:90%;text-transform:uppercase}.blockquote{margin-bottom:1rem;font-size:1.25rem}.blockquote-footer{display:block;font-size:80%;color:#6c757d}.blockquote-footer::before{content:"\2014\00A0"}.img-fluid{max-width:100%;height:auto}.img-thumbnail{padding:.25rem;background-color:#fff;border:1px solid #dee2e6;border-radius:.25rem;max-width:100%;height:auto}.figure{display:inline-block}.figure-img{margin-bottom:.5rem;line-height:1}.figure-caption{font-size:90%;color:#6c757d}code{font-size:87.5%;color:#e83e8c;word-wrap:break-word}a>code{color:inherit}kbd{padding:.2rem .4rem;font-size:87.5%;color:#fff;background-color:#212529;border-radius:.2rem}kbd kbd{padding:0;font-size:100%;font-weight:700}pre{display:block;font-size:87.5%;color:#212529}pre code{font-size:inherit;color:inherit;word-break:normal}.pre-scrollable{max-height:340px;overflow-y:scroll}.container{width:100%;padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media (min-width:576px){.container{max-width:540px}}@media (min-width:768px){.container{max-width:720px}}@media (min-width:992px){.container{max-width:960px}}@media (min-width:1200px){.container{max-width:1140px}}.container-fluid,.container-lg,.container-md,.container-sm,.container-xl{width:100%;padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media (min-width:576px){.container,.container-sm{max-width:540px}}@media (min-width:768px){.container,.container-md,.container-sm{max-width:720px}}@media (min-width:992px){.container,.container-lg,.container-md,.container-sm{max-width:960px}}@media (min-width:1200px){.container,.container-lg,.container-md,.container-sm,.container-xl{max-width:1140px}}.row{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-right:-15px;margin-left:-15px}.no-gutters{margin-right:0;margin-left:0}.no-gutters>.col,.no-gutters>[class*=col-]{padding-right:0;padding-left:0}.col,.col-1,.col-10,.col-11,.col-12,.col-2,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9,.col-auto,.col-lg,.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-lg-auto,.col-md,.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-auto,.col-sm,.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-auto,.col-xl,.col-xl-1,.col-xl-10,.col-xl-11,.col-xl-12,.col-xl-2,.col-xl-3,.col-xl-4,.col-xl-5,.col-xl-6,.col-xl-7,.col-xl-8,.col-xl-9,.col-xl-auto{position:relative;width:100%;padding-right:15px;padding-left:15px}.col{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.row-cols-1>*{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.row-cols-2>*{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.row-cols-3>*{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.row-cols-4>*{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.row-cols-5>*{-ms-flex:0 0 20%;flex:0 0 20%;max-width:20%}.row-cols-6>*{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-first{-ms-flex-order:-1;order:-1}.order-last{-ms-flex-order:13;order:13}.order-0{-ms-flex-order:0;order:0}.order-1{-ms-flex-order:1;order:1}.order-2{-ms-flex-order:2;order:2}.order-3{-ms-flex-order:3;order:3}.order-4{-ms-flex-order:4;order:4}.order-5{-ms-flex-order:5;order:5}.order-6{-ms-flex-order:6;order:6}.order-7{-ms-flex-order:7;order:7}.order-8{-ms-flex-order:8;order:8}.order-9{-ms-flex-order:9;order:9}.order-10{-ms-flex-order:10;order:10}.order-11{-ms-flex-order:11;order:11}.order-12{-ms-flex-order:12;order:12}.offset-1{margin-left:8.333333%}.offset-2{margin-left:16.666667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.333333%}.offset-5{margin-left:41.666667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.333333%}.offset-8{margin-left:66.666667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.333333%}.offset-11{margin-left:91.666667%}@media (min-width:576px){.col-sm{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.row-cols-sm-1>*{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.row-cols-sm-2>*{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.row-cols-sm-3>*{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.row-cols-sm-4>*{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.row-cols-sm-5>*{-ms-flex:0 0 20%;flex:0 0 20%;max-width:20%}.row-cols-sm-6>*{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-sm-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-sm-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-sm-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-sm-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-sm-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-sm-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-sm-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-sm-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-sm-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-sm-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-sm-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-sm-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-sm-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-sm-first{-ms-flex-order:-1;order:-1}.order-sm-last{-ms-flex-order:13;order:13}.order-sm-0{-ms-flex-order:0;order:0}.order-sm-1{-ms-flex-order:1;order:1}.order-sm-2{-ms-flex-order:2;order:2}.order-sm-3{-ms-flex-order:3;order:3}.order-sm-4{-ms-flex-order:4;order:4}.order-sm-5{-ms-flex-order:5;order:5}.order-sm-6{-ms-flex-order:6;order:6}.order-sm-7{-ms-flex-order:7;order:7}.order-sm-8{-ms-flex-order:8;order:8}.order-sm-9{-ms-flex-order:9;order:9}.order-sm-10{-ms-flex-order:10;order:10}.order-sm-11{-ms-flex-order:11;order:11}.order-sm-12{-ms-flex-order:12;order:12}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.333333%}.offset-sm-2{margin-left:16.666667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.333333%}.offset-sm-5{margin-left:41.666667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.333333%}.offset-sm-8{margin-left:66.666667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.333333%}.offset-sm-11{margin-left:91.666667%}}@media (min-width:768px){.col-md{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.row-cols-md-1>*{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.row-cols-md-2>*{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.row-cols-md-3>*{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.row-cols-md-4>*{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.row-cols-md-5>*{-ms-flex:0 0 20%;flex:0 0 20%;max-width:20%}.row-cols-md-6>*{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-md-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-md-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-md-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-md-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-md-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-md-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-md-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-md-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-md-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-md-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-md-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-md-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-md-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-md-first{-ms-flex-order:-1;order:-1}.order-md-last{-ms-flex-order:13;order:13}.order-md-0{-ms-flex-order:0;order:0}.order-md-1{-ms-flex-order:1;order:1}.order-md-2{-ms-flex-order:2;order:2}.order-md-3{-ms-flex-order:3;order:3}.order-md-4{-ms-flex-order:4;order:4}.order-md-5{-ms-flex-order:5;order:5}.order-md-6{-ms-flex-order:6;order:6}.order-md-7{-ms-flex-order:7;order:7}.order-md-8{-ms-flex-order:8;order:8}.order-md-9{-ms-flex-order:9;order:9}.order-md-10{-ms-flex-order:10;order:10}.order-md-11{-ms-flex-order:11;order:11}.order-md-12{-ms-flex-order:12;order:12}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.333333%}.offset-md-2{margin-left:16.666667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.333333%}.offset-md-5{margin-left:41.666667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.333333%}.offset-md-8{margin-left:66.666667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.333333%}.offset-md-11{margin-left:91.666667%}}@media (min-width:992px){.col-lg{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.row-cols-lg-1>*{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.row-cols-lg-2>*{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.row-cols-lg-3>*{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.row-cols-lg-4>*{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.row-cols-lg-5>*{-ms-flex:0 0 20%;flex:0 0 20%;max-width:20%}.row-cols-lg-6>*{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-lg-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-lg-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-lg-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-lg-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-lg-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-lg-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-lg-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-lg-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-lg-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-lg-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-lg-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-lg-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-lg-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-lg-first{-ms-flex-order:-1;order:-1}.order-lg-last{-ms-flex-order:13;order:13}.order-lg-0{-ms-flex-order:0;order:0}.order-lg-1{-ms-flex-order:1;order:1}.order-lg-2{-ms-flex-order:2;order:2}.order-lg-3{-ms-flex-order:3;order:3}.order-lg-4{-ms-flex-order:4;order:4}.order-lg-5{-ms-flex-order:5;order:5}.order-lg-6{-ms-flex-order:6;order:6}.order-lg-7{-ms-flex-order:7;order:7}.order-lg-8{-ms-flex-order:8;order:8}.order-lg-9{-ms-flex-order:9;order:9}.order-lg-10{-ms-flex-order:10;order:10}.order-lg-11{-ms-flex-order:11;order:11}.order-lg-12{-ms-flex-order:12;order:12}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.333333%}.offset-lg-2{margin-left:16.666667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.333333%}.offset-lg-5{margin-left:41.666667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.333333%}.offset-lg-8{margin-left:66.666667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.333333%}.offset-lg-11{margin-left:91.666667%}}@media (min-width:1200px){.col-xl{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.row-cols-xl-1>*{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.row-cols-xl-2>*{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.row-cols-xl-3>*{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.row-cols-xl-4>*{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.row-cols-xl-5>*{-ms-flex:0 0 20%;flex:0 0 20%;max-width:20%}.row-cols-xl-6>*{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-xl-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-xl-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-xl-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-xl-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-xl-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-xl-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-xl-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-xl-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-xl-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-xl-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-xl-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-xl-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-xl-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-xl-first{-ms-flex-order:-1;order:-1}.order-xl-last{-ms-flex-order:13;order:13}.order-xl-0{-ms-flex-order:0;order:0}.order-xl-1{-ms-flex-order:1;order:1}.order-xl-2{-ms-flex-order:2;order:2}.order-xl-3{-ms-flex-order:3;order:3}.order-xl-4{-ms-flex-order:4;order:4}.order-xl-5{-ms-flex-order:5;order:5}.order-xl-6{-ms-flex-order:6;order:6}.order-xl-7{-ms-flex-order:7;order:7}.order-xl-8{-ms-flex-order:8;order:8}.order-xl-9{-ms-flex-order:9;order:9}.order-xl-10{-ms-flex-order:10;order:10}.order-xl-11{-ms-flex-order:11;order:11}.order-xl-12{-ms-flex-order:12;order:12}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.333333%}.offset-xl-2{margin-left:16.666667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.333333%}.offset-xl-5{margin-left:41.666667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.333333%}.offset-xl-8{margin-left:66.666667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.333333%}.offset-xl-11{margin-left:91.666667%}}.table{width:100%;margin-bottom:1rem;color:#212529}.table td,.table th{padding:.75rem;vertical-align:top;border-top:1px solid #dee2e6}.table thead th{vertical-align:bottom;border-bottom:2px solid #dee2e6}.table tbody+tbody{border-top:2px solid #dee2e6}.table-sm td,.table-sm th{padding:.3rem}.table-bordered{border:1px solid #dee2e6}.table-bordered td,.table-bordered th{border:1px solid #dee2e6}.table-bordered thead td,.table-bordered thead th{border-bottom-width:2px}.table-borderless tbody+tbody,.table-borderless td,.table-borderless th,.table-borderless thead th{border:0}.table-striped tbody tr:nth-of-type(odd){background-color:rgba(0,0,0,.05)}.table-hover tbody tr:hover{color:#212529;background-color:rgba(0,0,0,.075)}.table-primary,.table-primary>td,.table-primary>th{background-color:#b8daff}.table-primary tbody+tbody,.table-primary td,.table-primary th,.table-primary thead th{border-color:#7abaff}.table-hover .table-primary:hover{background-color:#9fcdff}.table-hover .table-primary:hover>td,.table-hover .table-primary:hover>th{background-color:#9fcdff}.table-secondary,.table-secondary>td,.table-secondary>th{background-color:#d6d8db}.table-secondary tbody+tbody,.table-secondary td,.table-secondary th,.table-secondary thead th{border-color:#b3b7bb}.table-hover .table-secondary:hover{background-color:#c8cbcf}.table-hover .table-secondary:hover>td,.table-hover .table-secondary:hover>th{background-color:#c8cbcf}.table-success,.table-success>td,.table-success>th{background-color:#c3e6cb}.table-success tbody+tbody,.table-success td,.table-success th,.table-success thead th{border-color:#8fd19e}.table-hover .table-success:hover{background-color:#b1dfbb}.table-hover .table-success:hover>td,.table-hover .table-success:hover>th{background-color:#b1dfbb}.table-info,.table-info>td,.table-info>th{background-color:#bee5eb}.table-info tbody+tbody,.table-info td,.table-info th,.table-info thead th{border-color:#86cfda}.table-hover .table-info:hover{background-color:#abdde5}.table-hover .table-info:hover>td,.table-hover .table-info:hover>th{background-color:#abdde5}.table-warning,.table-warning>td,.table-warning>th{background-color:#ffeeba}.table-warning tbody+tbody,.table-warning td,.table-warning th,.table-warning thead th{border-color:#ffdf7e}.table-hover .table-warning:hover{background-color:#ffe8a1}.table-hover .table-warning:hover>td,.table-hover .table-warning:hover>th{background-color:#ffe8a1}.table-danger,.table-danger>td,.table-danger>th{background-color:#f5c6cb}.table-danger tbody+tbody,.table-danger td,.table-danger th,.table-danger thead th{border-color:#ed969e}.table-hover .table-danger:hover{background-color:#f1b0b7}.table-hover .table-danger:hover>td,.table-hover .table-danger:hover>th{background-color:#f1b0b7}.table-light,.table-light>td,.table-light>th{background-color:#fdfdfe}.table-light tbody+tbody,.table-light td,.table-light th,.table-light thead th{border-color:#fbfcfc}.table-hover .table-light:hover{background-color:#ececf6}.table-hover .table-light:hover>td,.table-hover .table-light:hover>th{background-color:#ececf6}.table-dark,.table-dark>td,.table-dark>th{background-color:#c6c8ca}.table-dark tbody+tbody,.table-dark td,.table-dark th,.table-dark thead th{border-color:#95999c}.table-hover .table-dark:hover{background-color:#b9bbbe}.table-hover .table-dark:hover>td,.table-hover .table-dark:hover>th{background-color:#b9bbbe}.table-active,.table-active>td,.table-active>th{background-color:rgba(0,0,0,.075)}.table-hover .table-active:hover{background-color:rgba(0,0,0,.075)}.table-hover .table-active:hover>td,.table-hover .table-active:hover>th{background-color:rgba(0,0,0,.075)}.table .thead-dark th{color:#fff;background-color:#343a40;border-color:#454d55}.table .thead-light th{color:#495057;background-color:#e9ecef;border-color:#dee2e6}.table-dark{color:#fff;background-color:#343a40}.table-dark td,.table-dark th,.table-dark thead th{border-color:#454d55}.table-dark.table-bordered{border:0}.table-dark.table-striped tbody tr:nth-of-type(odd){background-color:rgba(255,255,255,.05)}.table-dark.table-hover tbody tr:hover{color:#fff;background-color:rgba(255,255,255,.075)}@media (max-width:575.98px){.table-responsive-sm{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-sm>.table-bordered{border:0}}@media (max-width:767.98px){.table-responsive-md{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-md>.table-bordered{border:0}}@media (max-width:991.98px){.table-responsive-lg{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-lg>.table-bordered{border:0}}@media (max-width:1199.98px){.table-responsive-xl{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-xl>.table-bordered{border:0}}.table-responsive{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive>.table-bordered{border:0}.form-control{display:block;width:100%;height:calc(1.5em + .75rem + 2px);padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#495057;background-color:#fff;background-clip:padding-box;border:1px solid #ced4da;border-radius:.25rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-control{transition:none}}.form-control::-ms-expand{background-color:transparent;border:0}.form-control:-moz-focusring{color:transparent;text-shadow:0 0 0 #495057}.form-control:focus{color:#495057;background-color:#fff;border-color:#80bdff;outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.form-control::-webkit-input-placeholder{color:#6c757d;opacity:1}.form-control::-moz-placeholder{color:#6c757d;opacity:1}.form-control:-ms-input-placeholder{color:#6c757d;opacity:1}.form-control::-ms-input-placeholder{color:#6c757d;opacity:1}.form-control::placeholder{color:#6c757d;opacity:1}.form-control:disabled,.form-control[readonly]{background-color:#e9ecef;opacity:1}select.form-control:focus::-ms-value{color:#495057;background-color:#fff}.form-control-file,.form-control-range{display:block;width:100%}.col-form-label{padding-top:calc(.375rem + 1px);padding-bottom:calc(.375rem + 1px);margin-bottom:0;font-size:inherit;line-height:1.5}.col-form-label-lg{padding-top:calc(.5rem + 1px);padding-bottom:calc(.5rem + 1px);font-size:1.25rem;line-height:1.5}.col-form-label-sm{padding-top:calc(.25rem + 1px);padding-bottom:calc(.25rem + 1px);font-size:.875rem;line-height:1.5}.form-control-plaintext{display:block;width:100%;padding:.375rem 0;margin-bottom:0;font-size:1rem;line-height:1.5;color:#212529;background-color:transparent;border:solid transparent;border-width:1px 0}.form-control-plaintext.form-control-lg,.form-control-plaintext.form-control-sm{padding-right:0;padding-left:0}.form-control-sm{height:calc(1.5em + .5rem + 2px);padding:.25rem .5rem;font-size:.875rem;line-height:1.5;border-radius:.2rem}.form-control-lg{height:calc(1.5em + 1rem + 2px);padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:.3rem}select.form-control[multiple],select.form-control[size]{height:auto}textarea.form-control{height:auto}.form-group{margin-bottom:1rem}.form-text{display:block;margin-top:.25rem}.form-row{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-right:-5px;margin-left:-5px}.form-row>.col,.form-row>[class*=col-]{padding-right:5px;padding-left:5px}.form-check{position:relative;display:block;padding-left:1.25rem}.form-check-input{position:absolute;margin-top:.3rem;margin-left:-1.25rem}.form-check-input:disabled~.form-check-label,.form-check-input[disabled]~.form-check-label{color:#6c757d}.form-check-label{margin-bottom:0}.form-check-inline{display:-ms-inline-flexbox;display:inline-flex;-ms-flex-align:center;align-items:center;padding-left:0;margin-right:.75rem}.form-check-inline .form-check-input{position:static;margin-top:0;margin-right:.3125rem;margin-left:0}.valid-feedback{display:none;width:100%;margin-top:.25rem;font-size:80%;color:#28a745}.valid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;line-height:1.5;color:#fff;background-color:rgba(40,167,69,.9);border-radius:.25rem}.is-valid~.valid-feedback,.is-valid~.valid-tooltip,.was-validated :valid~.valid-feedback,.was-validated :valid~.valid-tooltip{display:block}.form-control.is-valid,.was-validated .form-control:valid{border-color:#28a745;padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.form-control.is-valid:focus,.was-validated .form-control:valid:focus{border-color:#28a745;box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.was-validated textarea.form-control:valid,textarea.form-control.is-valid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.custom-select.is-valid,.was-validated .custom-select:valid{border-color:#28a745;padding-right:calc(.75em + 2.3125rem);background:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") no-repeat right .75rem center/8px 10px,url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e") #fff no-repeat center right 1.75rem/calc(.75em + .375rem) calc(.75em + .375rem)}.custom-select.is-valid:focus,.was-validated .custom-select:valid:focus{border-color:#28a745;box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.form-check-input.is-valid~.form-check-label,.was-validated .form-check-input:valid~.form-check-label{color:#28a745}.form-check-input.is-valid~.valid-feedback,.form-check-input.is-valid~.valid-tooltip,.was-validated .form-check-input:valid~.valid-feedback,.was-validated .form-check-input:valid~.valid-tooltip{display:block}.custom-control-input.is-valid~.custom-control-label,.was-validated .custom-control-input:valid~.custom-control-label{color:#28a745}.custom-control-input.is-valid~.custom-control-label::before,.was-validated .custom-control-input:valid~.custom-control-label::before{border-color:#28a745}.custom-control-input.is-valid:checked~.custom-control-label::before,.was-validated .custom-control-input:valid:checked~.custom-control-label::before{border-color:#34ce57;background-color:#34ce57}.custom-control-input.is-valid:focus~.custom-control-label::before,.was-validated .custom-control-input:valid:focus~.custom-control-label::before{box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.custom-control-input.is-valid:focus:not(:checked)~.custom-control-label::before,.was-validated .custom-control-input:valid:focus:not(:checked)~.custom-control-label::before{border-color:#28a745}.custom-file-input.is-valid~.custom-file-label,.was-validated .custom-file-input:valid~.custom-file-label{border-color:#28a745}.custom-file-input.is-valid:focus~.custom-file-label,.was-validated .custom-file-input:valid:focus~.custom-file-label{border-color:#28a745;box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.invalid-feedback{display:none;width:100%;margin-top:.25rem;font-size:80%;color:#dc3545}.invalid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;line-height:1.5;color:#fff;background-color:rgba(220,53,69,.9);border-radius:.25rem}.is-invalid~.invalid-feedback,.is-invalid~.invalid-tooltip,.was-validated :invalid~.invalid-feedback,.was-validated :invalid~.invalid-tooltip{display:block}.form-control.is-invalid,.was-validated .form-control:invalid{border-color:#dc3545;padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.form-control.is-invalid:focus,.was-validated .form-control:invalid:focus{border-color:#dc3545;box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.was-validated textarea.form-control:invalid,textarea.form-control.is-invalid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.custom-select.is-invalid,.was-validated .custom-select:invalid{border-color:#dc3545;padding-right:calc(.75em + 2.3125rem);background:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") no-repeat right .75rem center/8px 10px,url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e") #fff no-repeat center right 1.75rem/calc(.75em + .375rem) calc(.75em + .375rem)}.custom-select.is-invalid:focus,.was-validated .custom-select:invalid:focus{border-color:#dc3545;box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.form-check-input.is-invalid~.form-check-label,.was-validated .form-check-input:invalid~.form-check-label{color:#dc3545}.form-check-input.is-invalid~.invalid-feedback,.form-check-input.is-invalid~.invalid-tooltip,.was-validated .form-check-input:invalid~.invalid-feedback,.was-validated .form-check-input:invalid~.invalid-tooltip{display:block}.custom-control-input.is-invalid~.custom-control-label,.was-validated .custom-control-input:invalid~.custom-control-label{color:#dc3545}.custom-control-input.is-invalid~.custom-control-label::before,.was-validated .custom-control-input:invalid~.custom-control-label::before{border-color:#dc3545}.custom-control-input.is-invalid:checked~.custom-control-label::before,.was-validated .custom-control-input:invalid:checked~.custom-control-label::before{border-color:#e4606d;background-color:#e4606d}.custom-control-input.is-invalid:focus~.custom-control-label::before,.was-validated .custom-control-input:invalid:focus~.custom-control-label::before{box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.custom-control-input.is-invalid:focus:not(:checked)~.custom-control-label::before,.was-validated .custom-control-input:invalid:focus:not(:checked)~.custom-control-label::before{border-color:#dc3545}.custom-file-input.is-invalid~.custom-file-label,.was-validated .custom-file-input:invalid~.custom-file-label{border-color:#dc3545}.custom-file-input.is-invalid:focus~.custom-file-label,.was-validated .custom-file-input:invalid:focus~.custom-file-label{border-color:#dc3545;box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.form-inline{display:-ms-flexbox;display:flex;-ms-flex-flow:row wrap;flex-flow:row wrap;-ms-flex-align:center;align-items:center}.form-inline .form-check{width:100%}@media (min-width:576px){.form-inline label{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;margin-bottom:0}.form-inline .form-group{display:-ms-flexbox;display:flex;-ms-flex:0 0 auto;flex:0 0 auto;-ms-flex-flow:row wrap;flex-flow:row wrap;-ms-flex-align:center;align-items:center;margin-bottom:0}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .form-control-plaintext{display:inline-block}.form-inline .custom-select,.form-inline .input-group{width:auto}.form-inline .form-check{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:auto;padding-left:0}.form-inline .form-check-input{position:relative;-ms-flex-negative:0;flex-shrink:0;margin-top:0;margin-right:.25rem;margin-left:0}.form-inline .custom-control{-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center}.form-inline .custom-control-label{margin-bottom:0}}.btn{display:inline-block;font-weight:400;color:#212529;text-align:center;vertical-align:middle;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-color:transparent;border:1px solid transparent;padding:.375rem .75rem;font-size:1rem;line-height:1.5;border-radius:.25rem;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.btn{transition:none}}.btn:hover{color:#212529;text-decoration:none}.btn.focus,.btn:focus{outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.btn.disabled,.btn:disabled{opacity:.65}a.btn.disabled,fieldset:disabled a.btn{pointer-events:none}.btn-primary{color:#fff;background-color:#007bff;border-color:#007bff}.btn-primary:hover{color:#fff;background-color:#0069d9;border-color:#0062cc}.btn-primary.focus,.btn-primary:focus{color:#fff;background-color:#0069d9;border-color:#0062cc;box-shadow:0 0 0 .2rem rgba(38,143,255,.5)}.btn-primary.disabled,.btn-primary:disabled{color:#fff;background-color:#007bff;border-color:#007bff}.btn-primary:not(:disabled):not(.disabled).active,.btn-primary:not(:disabled):not(.disabled):active,.show>.btn-primary.dropdown-toggle{color:#fff;background-color:#0062cc;border-color:#005cbf}.btn-primary:not(:disabled):not(.disabled).active:focus,.btn-primary:not(:disabled):not(.disabled):active:focus,.show>.btn-primary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(38,143,255,.5)}.btn-secondary{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-secondary:hover{color:#fff;background-color:#5a6268;border-color:#545b62}.btn-secondary.focus,.btn-secondary:focus{color:#fff;background-color:#5a6268;border-color:#545b62;box-shadow:0 0 0 .2rem rgba(130,138,145,.5)}.btn-secondary.disabled,.btn-secondary:disabled{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-secondary:not(:disabled):not(.disabled).active,.btn-secondary:not(:disabled):not(.disabled):active,.show>.btn-secondary.dropdown-toggle{color:#fff;background-color:#545b62;border-color:#4e555b}.btn-secondary:not(:disabled):not(.disabled).active:focus,.btn-secondary:not(:disabled):not(.disabled):active:focus,.show>.btn-secondary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(130,138,145,.5)}.btn-success{color:#fff;background-color:#28a745;border-color:#28a745}.btn-success:hover{color:#fff;background-color:#218838;border-color:#1e7e34}.btn-success.focus,.btn-success:focus{color:#fff;background-color:#218838;border-color:#1e7e34;box-shadow:0 0 0 .2rem rgba(72,180,97,.5)}.btn-success.disabled,.btn-success:disabled{color:#fff;background-color:#28a745;border-color:#28a745}.btn-success:not(:disabled):not(.disabled).active,.btn-success:not(:disabled):not(.disabled):active,.show>.btn-success.dropdown-toggle{color:#fff;background-color:#1e7e34;border-color:#1c7430}.btn-success:not(:disabled):not(.disabled).active:focus,.btn-success:not(:disabled):not(.disabled):active:focus,.show>.btn-success.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(72,180,97,.5)}.btn-info{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-info:hover{color:#fff;background-color:#138496;border-color:#117a8b}.btn-info.focus,.btn-info:focus{color:#fff;background-color:#138496;border-color:#117a8b;box-shadow:0 0 0 .2rem rgba(58,176,195,.5)}.btn-info.disabled,.btn-info:disabled{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-info:not(:disabled):not(.disabled).active,.btn-info:not(:disabled):not(.disabled):active,.show>.btn-info.dropdown-toggle{color:#fff;background-color:#117a8b;border-color:#10707f}.btn-info:not(:disabled):not(.disabled).active:focus,.btn-info:not(:disabled):not(.disabled):active:focus,.show>.btn-info.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(58,176,195,.5)}.btn-warning{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-warning:hover{color:#212529;background-color:#e0a800;border-color:#d39e00}.btn-warning.focus,.btn-warning:focus{color:#212529;background-color:#e0a800;border-color:#d39e00;box-shadow:0 0 0 .2rem rgba(222,170,12,.5)}.btn-warning.disabled,.btn-warning:disabled{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-warning:not(:disabled):not(.disabled).active,.btn-warning:not(:disabled):not(.disabled):active,.show>.btn-warning.dropdown-toggle{color:#212529;background-color:#d39e00;border-color:#c69500}.btn-warning:not(:disabled):not(.disabled).active:focus,.btn-warning:not(:disabled):not(.disabled):active:focus,.show>.btn-warning.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(222,170,12,.5)}.btn-danger{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-danger:hover{color:#fff;background-color:#c82333;border-color:#bd2130}.btn-danger.focus,.btn-danger:focus{color:#fff;background-color:#c82333;border-color:#bd2130;box-shadow:0 0 0 .2rem rgba(225,83,97,.5)}.btn-danger.disabled,.btn-danger:disabled{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-danger:not(:disabled):not(.disabled).active,.btn-danger:not(:disabled):not(.disabled):active,.show>.btn-danger.dropdown-toggle{color:#fff;background-color:#bd2130;border-color:#b21f2d}.btn-danger:not(:disabled):not(.disabled).active:focus,.btn-danger:not(:disabled):not(.disabled):active:focus,.show>.btn-danger.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(225,83,97,.5)}.btn-light{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-light:hover{color:#212529;background-color:#e2e6ea;border-color:#dae0e5}.btn-light.focus,.btn-light:focus{color:#212529;background-color:#e2e6ea;border-color:#dae0e5;box-shadow:0 0 0 .2rem rgba(216,217,219,.5)}.btn-light.disabled,.btn-light:disabled{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-light:not(:disabled):not(.disabled).active,.btn-light:not(:disabled):not(.disabled):active,.show>.btn-light.dropdown-toggle{color:#212529;background-color:#dae0e5;border-color:#d3d9df}.btn-light:not(:disabled):not(.disabled).active:focus,.btn-light:not(:disabled):not(.disabled):active:focus,.show>.btn-light.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(216,217,219,.5)}.btn-dark{color:#fff;background-color:#343a40;border-color:#343a40}.btn-dark:hover{color:#fff;background-color:#23272b;border-color:#1d2124}.btn-dark.focus,.btn-dark:focus{color:#fff;background-color:#23272b;border-color:#1d2124;box-shadow:0 0 0 .2rem rgba(82,88,93,.5)}.btn-dark.disabled,.btn-dark:disabled{color:#fff;background-color:#343a40;border-color:#343a40}.btn-dark:not(:disabled):not(.disabled).active,.btn-dark:not(:disabled):not(.disabled):active,.show>.btn-dark.dropdown-toggle{color:#fff;background-color:#1d2124;border-color:#171a1d}.btn-dark:not(:disabled):not(.disabled).active:focus,.btn-dark:not(:disabled):not(.disabled):active:focus,.show>.btn-dark.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(82,88,93,.5)}.btn-outline-primary{color:#007bff;border-color:#007bff}.btn-outline-primary:hover{color:#fff;background-color:#007bff;border-color:#007bff}.btn-outline-primary.focus,.btn-outline-primary:focus{box-shadow:0 0 0 .2rem rgba(0,123,255,.5)}.btn-outline-primary.disabled,.btn-outline-primary:disabled{color:#007bff;background-color:transparent}.btn-outline-primary:not(:disabled):not(.disabled).active,.btn-outline-primary:not(:disabled):not(.disabled):active,.show>.btn-outline-primary.dropdown-toggle{color:#fff;background-color:#007bff;border-color:#007bff}.btn-outline-primary:not(:disabled):not(.disabled).active:focus,.btn-outline-primary:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-primary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(0,123,255,.5)}.btn-outline-secondary{color:#6c757d;border-color:#6c757d}.btn-outline-secondary:hover{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-outline-secondary.focus,.btn-outline-secondary:focus{box-shadow:0 0 0 .2rem rgba(108,117,125,.5)}.btn-outline-secondary.disabled,.btn-outline-secondary:disabled{color:#6c757d;background-color:transparent}.btn-outline-secondary:not(:disabled):not(.disabled).active,.btn-outline-secondary:not(:disabled):not(.disabled):active,.show>.btn-outline-secondary.dropdown-toggle{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-outline-secondary:not(:disabled):not(.disabled).active:focus,.btn-outline-secondary:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-secondary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(108,117,125,.5)}.btn-outline-success{color:#28a745;border-color:#28a745}.btn-outline-success:hover{color:#fff;background-color:#28a745;border-color:#28a745}.btn-outline-success.focus,.btn-outline-success:focus{box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.btn-outline-success.disabled,.btn-outline-success:disabled{color:#28a745;background-color:transparent}.btn-outline-success:not(:disabled):not(.disabled).active,.btn-outline-success:not(:disabled):not(.disabled):active,.show>.btn-outline-success.dropdown-toggle{color:#fff;background-color:#28a745;border-color:#28a745}.btn-outline-success:not(:disabled):not(.disabled).active:focus,.btn-outline-success:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-success.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.btn-outline-info{color:#17a2b8;border-color:#17a2b8}.btn-outline-info:hover{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-outline-info.focus,.btn-outline-info:focus{box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.btn-outline-info.disabled,.btn-outline-info:disabled{color:#17a2b8;background-color:transparent}.btn-outline-info:not(:disabled):not(.disabled).active,.btn-outline-info:not(:disabled):not(.disabled):active,.show>.btn-outline-info.dropdown-toggle{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-outline-info:not(:disabled):not(.disabled).active:focus,.btn-outline-info:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-info.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.btn-outline-warning{color:#ffc107;border-color:#ffc107}.btn-outline-warning:hover{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-outline-warning.focus,.btn-outline-warning:focus{box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.btn-outline-warning.disabled,.btn-outline-warning:disabled{color:#ffc107;background-color:transparent}.btn-outline-warning:not(:disabled):not(.disabled).active,.btn-outline-warning:not(:disabled):not(.disabled):active,.show>.btn-outline-warning.dropdown-toggle{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-outline-warning:not(:disabled):not(.disabled).active:focus,.btn-outline-warning:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-warning.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.btn-outline-danger{color:#dc3545;border-color:#dc3545}.btn-outline-danger:hover{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-outline-danger.focus,.btn-outline-danger:focus{box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.btn-outline-danger.disabled,.btn-outline-danger:disabled{color:#dc3545;background-color:transparent}.btn-outline-danger:not(:disabled):not(.disabled).active,.btn-outline-danger:not(:disabled):not(.disabled):active,.show>.btn-outline-danger.dropdown-toggle{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-outline-danger:not(:disabled):not(.disabled).active:focus,.btn-outline-danger:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-danger.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.btn-outline-light{color:#f8f9fa;border-color:#f8f9fa}.btn-outline-light:hover{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-outline-light.focus,.btn-outline-light:focus{box-shadow:0 0 0 .2rem rgba(248,249,250,.5)}.btn-outline-light.disabled,.btn-outline-light:disabled{color:#f8f9fa;background-color:transparent}.btn-outline-light:not(:disabled):not(.disabled).active,.btn-outline-light:not(:disabled):not(.disabled):active,.show>.btn-outline-light.dropdown-toggle{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-outline-light:not(:disabled):not(.disabled).active:focus,.btn-outline-light:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-light.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(248,249,250,.5)}.btn-outline-dark{color:#343a40;border-color:#343a40}.btn-outline-dark:hover{color:#fff;background-color:#343a40;border-color:#343a40}.btn-outline-dark.focus,.btn-outline-dark:focus{box-shadow:0 0 0 .2rem rgba(52,58,64,.5)}.btn-outline-dark.disabled,.btn-outline-dark:disabled{color:#343a40;background-color:transparent}.btn-outline-dark:not(:disabled):not(.disabled).active,.btn-outline-dark:not(:disabled):not(.disabled):active,.show>.btn-outline-dark.dropdown-toggle{color:#fff;background-color:#343a40;border-color:#343a40}.btn-outline-dark:not(:disabled):not(.disabled).active:focus,.btn-outline-dark:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-dark.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(52,58,64,.5)}.btn-link{font-weight:400;color:#007bff;text-decoration:none}.btn-link:hover{color:#0056b3;text-decoration:underline}.btn-link.focus,.btn-link:focus{text-decoration:underline;box-shadow:none}.btn-link.disabled,.btn-link:disabled{color:#6c757d;pointer-events:none}.btn-group-lg>.btn,.btn-lg{padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:.3rem}.btn-group-sm>.btn,.btn-sm{padding:.25rem .5rem;font-size:.875rem;line-height:1.5;border-radius:.2rem}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:.5rem}input[type=button].btn-block,input[type=reset].btn-block,input[type=submit].btn-block{width:100%}.fade{transition:opacity .15s linear}@media (prefers-reduced-motion:reduce){.fade{transition:none}}.fade:not(.show){opacity:0}.collapse:not(.show){display:none}.collapsing{position:relative;height:0;overflow:hidden;transition:height .35s ease}@media (prefers-reduced-motion:reduce){.collapsing{transition:none}}.dropdown,.dropleft,.dropright,.dropup{position:relative}.dropdown-toggle{white-space:nowrap}.dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid;border-right:.3em solid transparent;border-bottom:0;border-left:.3em solid transparent}.dropdown-toggle:empty::after{margin-left:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:10rem;padding:.5rem 0;margin:.125rem 0 0;font-size:1rem;color:#212529;text-align:left;list-style:none;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.15);border-radius:.25rem}.dropdown-menu-left{right:auto;left:0}.dropdown-menu-right{right:0;left:auto}@media (min-width:576px){.dropdown-menu-sm-left{right:auto;left:0}.dropdown-menu-sm-right{right:0;left:auto}}@media (min-width:768px){.dropdown-menu-md-left{right:auto;left:0}.dropdown-menu-md-right{right:0;left:auto}}@media (min-width:992px){.dropdown-menu-lg-left{right:auto;left:0}.dropdown-menu-lg-right{right:0;left:auto}}@media (min-width:1200px){.dropdown-menu-xl-left{right:auto;left:0}.dropdown-menu-xl-right{right:0;left:auto}}.dropup .dropdown-menu{top:auto;bottom:100%;margin-top:0;margin-bottom:.125rem}.dropup .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:0;border-right:.3em solid transparent;border-bottom:.3em solid;border-left:.3em solid transparent}.dropup .dropdown-toggle:empty::after{margin-left:0}.dropright .dropdown-menu{top:0;right:auto;left:100%;margin-top:0;margin-left:.125rem}.dropright .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:0;border-bottom:.3em solid transparent;border-left:.3em solid}.dropright .dropdown-toggle:empty::after{margin-left:0}.dropright .dropdown-toggle::after{vertical-align:0}.dropleft .dropdown-menu{top:0;right:100%;left:auto;margin-top:0;margin-right:.125rem}.dropleft .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:""}.dropleft .dropdown-toggle::after{display:none}.dropleft .dropdown-toggle::before{display:inline-block;margin-right:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:.3em solid;border-bottom:.3em solid transparent}.dropleft .dropdown-toggle:empty::after{margin-left:0}.dropleft .dropdown-toggle::before{vertical-align:0}.dropdown-menu[x-placement^=bottom],.dropdown-menu[x-placement^=left],.dropdown-menu[x-placement^=right],.dropdown-menu[x-placement^=top]{right:auto;bottom:auto}.dropdown-divider{height:0;margin:.5rem 0;overflow:hidden;border-top:1px solid #e9ecef}.dropdown-item{display:block;width:100%;padding:.25rem 1.5rem;clear:both;font-weight:400;color:#212529;text-align:inherit;white-space:nowrap;background-color:transparent;border:0}.dropdown-item:focus,.dropdown-item:hover{color:#16181b;text-decoration:none;background-color:#f8f9fa}.dropdown-item.active,.dropdown-item:active{color:#fff;text-decoration:none;background-color:#007bff}.dropdown-item.disabled,.dropdown-item:disabled{color:#6c757d;pointer-events:none;background-color:transparent}.dropdown-menu.show{display:block}.dropdown-header{display:block;padding:.5rem 1.5rem;margin-bottom:0;font-size:.875rem;color:#6c757d;white-space:nowrap}.dropdown-item-text{display:block;padding:.25rem 1.5rem;color:#212529}.btn-group,.btn-group-vertical{position:relative;display:-ms-inline-flexbox;display:inline-flex;vertical-align:middle}.btn-group-vertical>.btn,.btn-group>.btn{position:relative;-ms-flex:1 1 auto;flex:1 1 auto}.btn-group-vertical>.btn:hover,.btn-group>.btn:hover{z-index:1}.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus{z-index:1}.btn-toolbar{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-pack:start;justify-content:flex-start}.btn-toolbar .input-group{width:auto}.btn-group>.btn-group:not(:first-child),.btn-group>.btn:not(:first-child){margin-left:-1px}.btn-group>.btn-group:not(:last-child)>.btn,.btn-group>.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn-group:not(:first-child)>.btn,.btn-group>.btn:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.dropdown-toggle-split{padding-right:.5625rem;padding-left:.5625rem}.dropdown-toggle-split::after,.dropright .dropdown-toggle-split::after,.dropup .dropdown-toggle-split::after{margin-left:0}.dropleft .dropdown-toggle-split::before{margin-right:0}.btn-group-sm>.btn+.dropdown-toggle-split,.btn-sm+.dropdown-toggle-split{padding-right:.375rem;padding-left:.375rem}.btn-group-lg>.btn+.dropdown-toggle-split,.btn-lg+.dropdown-toggle-split{padding-right:.75rem;padding-left:.75rem}.btn-group-vertical{-ms-flex-direction:column;flex-direction:column;-ms-flex-align:start;align-items:flex-start;-ms-flex-pack:center;justify-content:center}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group{width:100%}.btn-group-vertical>.btn-group:not(:first-child),.btn-group-vertical>.btn:not(:first-child){margin-top:-1px}.btn-group-vertical>.btn-group:not(:last-child)>.btn,.btn-group-vertical>.btn:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:not(:first-child)>.btn,.btn-group-vertical>.btn:not(:first-child){border-top-left-radius:0;border-top-right-radius:0}.btn-group-toggle>.btn,.btn-group-toggle>.btn-group>.btn{margin-bottom:0}.btn-group-toggle>.btn input[type=checkbox],.btn-group-toggle>.btn input[type=radio],.btn-group-toggle>.btn-group>.btn input[type=checkbox],.btn-group-toggle>.btn-group>.btn input[type=radio]{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.input-group{position:relative;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-align:stretch;align-items:stretch;width:100%}.input-group>.custom-file,.input-group>.custom-select,.input-group>.form-control,.input-group>.form-control-plaintext{position:relative;-ms-flex:1 1 0%;flex:1 1 0%;min-width:0;margin-bottom:0}.input-group>.custom-file+.custom-file,.input-group>.custom-file+.custom-select,.input-group>.custom-file+.form-control,.input-group>.custom-select+.custom-file,.input-group>.custom-select+.custom-select,.input-group>.custom-select+.form-control,.input-group>.form-control+.custom-file,.input-group>.form-control+.custom-select,.input-group>.form-control+.form-control,.input-group>.form-control-plaintext+.custom-file,.input-group>.form-control-plaintext+.custom-select,.input-group>.form-control-plaintext+.form-control{margin-left:-1px}.input-group>.custom-file .custom-file-input:focus~.custom-file-label,.input-group>.custom-select:focus,.input-group>.form-control:focus{z-index:3}.input-group>.custom-file .custom-file-input:focus{z-index:4}.input-group>.custom-select:not(:last-child),.input-group>.form-control:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.input-group>.custom-select:not(:first-child),.input-group>.form-control:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.input-group>.custom-file{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}.input-group>.custom-file:not(:last-child) .custom-file-label,.input-group>.custom-file:not(:last-child) .custom-file-label::after{border-top-right-radius:0;border-bottom-right-radius:0}.input-group>.custom-file:not(:first-child) .custom-file-label{border-top-left-radius:0;border-bottom-left-radius:0}.input-group-append,.input-group-prepend{display:-ms-flexbox;display:flex}.input-group-append .btn,.input-group-prepend .btn{position:relative;z-index:2}.input-group-append .btn:focus,.input-group-prepend .btn:focus{z-index:3}.input-group-append .btn+.btn,.input-group-append .btn+.input-group-text,.input-group-append .input-group-text+.btn,.input-group-append .input-group-text+.input-group-text,.input-group-prepend .btn+.btn,.input-group-prepend .btn+.input-group-text,.input-group-prepend .input-group-text+.btn,.input-group-prepend .input-group-text+.input-group-text{margin-left:-1px}.input-group-prepend{margin-right:-1px}.input-group-append{margin-left:-1px}.input-group-text{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;padding:.375rem .75rem;margin-bottom:0;font-size:1rem;font-weight:400;line-height:1.5;color:#495057;text-align:center;white-space:nowrap;background-color:#e9ecef;border:1px solid #ced4da;border-radius:.25rem}.input-group-text input[type=checkbox],.input-group-text input[type=radio]{margin-top:0}.input-group-lg>.custom-select,.input-group-lg>.form-control:not(textarea){height:calc(1.5em + 1rem + 2px)}.input-group-lg>.custom-select,.input-group-lg>.form-control,.input-group-lg>.input-group-append>.btn,.input-group-lg>.input-group-append>.input-group-text,.input-group-lg>.input-group-prepend>.btn,.input-group-lg>.input-group-prepend>.input-group-text{padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:.3rem}.input-group-sm>.custom-select,.input-group-sm>.form-control:not(textarea){height:calc(1.5em + .5rem + 2px)}.input-group-sm>.custom-select,.input-group-sm>.form-control,.input-group-sm>.input-group-append>.btn,.input-group-sm>.input-group-append>.input-group-text,.input-group-sm>.input-group-prepend>.btn,.input-group-sm>.input-group-prepend>.input-group-text{padding:.25rem .5rem;font-size:.875rem;line-height:1.5;border-radius:.2rem}.input-group-lg>.custom-select,.input-group-sm>.custom-select{padding-right:1.75rem}.input-group>.input-group-append:last-child>.btn:not(:last-child):not(.dropdown-toggle),.input-group>.input-group-append:last-child>.input-group-text:not(:last-child),.input-group>.input-group-append:not(:last-child)>.btn,.input-group>.input-group-append:not(:last-child)>.input-group-text,.input-group>.input-group-prepend>.btn,.input-group>.input-group-prepend>.input-group-text{border-top-right-radius:0;border-bottom-right-radius:0}.input-group>.input-group-append>.btn,.input-group>.input-group-append>.input-group-text,.input-group>.input-group-prepend:first-child>.btn:not(:first-child),.input-group>.input-group-prepend:first-child>.input-group-text:not(:first-child),.input-group>.input-group-prepend:not(:first-child)>.btn,.input-group>.input-group-prepend:not(:first-child)>.input-group-text{border-top-left-radius:0;border-bottom-left-radius:0}.custom-control{position:relative;display:block;min-height:1.5rem;padding-left:1.5rem}.custom-control-inline{display:-ms-inline-flexbox;display:inline-flex;margin-right:1rem}.custom-control-input{position:absolute;left:0;z-index:-1;width:1rem;height:1.25rem;opacity:0}.custom-control-input:checked~.custom-control-label::before{color:#fff;border-color:#007bff;background-color:#007bff}.custom-control-input:focus~.custom-control-label::before{box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.custom-control-input:focus:not(:checked)~.custom-control-label::before{border-color:#80bdff}.custom-control-input:not(:disabled):active~.custom-control-label::before{color:#fff;background-color:#b3d7ff;border-color:#b3d7ff}.custom-control-input:disabled~.custom-control-label,.custom-control-input[disabled]~.custom-control-label{color:#6c757d}.custom-control-input:disabled~.custom-control-label::before,.custom-control-input[disabled]~.custom-control-label::before{background-color:#e9ecef}.custom-control-label{position:relative;margin-bottom:0;vertical-align:top}.custom-control-label::before{position:absolute;top:.25rem;left:-1.5rem;display:block;width:1rem;height:1rem;pointer-events:none;content:"";background-color:#fff;border:#adb5bd solid 1px}.custom-control-label::after{position:absolute;top:.25rem;left:-1.5rem;display:block;width:1rem;height:1rem;content:"";background:no-repeat 50%/50% 50%}.custom-checkbox .custom-control-label::before{border-radius:.25rem}.custom-checkbox .custom-control-input:checked~.custom-control-label::after{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26l2.974 2.99L8 2.193z'/%3e%3c/svg%3e")}.custom-checkbox .custom-control-input:indeterminate~.custom-control-label::before{border-color:#007bff;background-color:#007bff}.custom-checkbox .custom-control-input:indeterminate~.custom-control-label::after{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='4' viewBox='0 0 4 4'%3e%3cpath stroke='%23fff' d='M0 2h4'/%3e%3c/svg%3e")}.custom-checkbox .custom-control-input:disabled:checked~.custom-control-label::before{background-color:rgba(0,123,255,.5)}.custom-checkbox .custom-control-input:disabled:indeterminate~.custom-control-label::before{background-color:rgba(0,123,255,.5)}.custom-radio .custom-control-label::before{border-radius:50%}.custom-radio .custom-control-input:checked~.custom-control-label::after{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e")}.custom-radio .custom-control-input:disabled:checked~.custom-control-label::before{background-color:rgba(0,123,255,.5)}.custom-switch{padding-left:2.25rem}.custom-switch .custom-control-label::before{left:-2.25rem;width:1.75rem;pointer-events:all;border-radius:.5rem}.custom-switch .custom-control-label::after{top:calc(.25rem + 2px);left:calc(-2.25rem + 2px);width:calc(1rem - 4px);height:calc(1rem - 4px);background-color:#adb5bd;border-radius:.5rem;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out,-webkit-transform .15s ease-in-out;transition:transform .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:transform .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out,-webkit-transform .15s ease-in-out}@media (prefers-reduced-motion:reduce){.custom-switch .custom-control-label::after{transition:none}}.custom-switch .custom-control-input:checked~.custom-control-label::after{background-color:#fff;-webkit-transform:translateX(.75rem);transform:translateX(.75rem)}.custom-switch .custom-control-input:disabled:checked~.custom-control-label::before{background-color:rgba(0,123,255,.5)}.custom-select{display:inline-block;width:100%;height:calc(1.5em + .75rem + 2px);padding:.375rem 1.75rem .375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#495057;vertical-align:middle;background:#fff url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") no-repeat right .75rem center/8px 10px;border:1px solid #ced4da;border-radius:.25rem;-webkit-appearance:none;-moz-appearance:none;appearance:none}.custom-select:focus{border-color:#80bdff;outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.custom-select:focus::-ms-value{color:#495057;background-color:#fff}.custom-select[multiple],.custom-select[size]:not([size="1"]){height:auto;padding-right:.75rem;background-image:none}.custom-select:disabled{color:#6c757d;background-color:#e9ecef}.custom-select::-ms-expand{display:none}.custom-select:-moz-focusring{color:transparent;text-shadow:0 0 0 #495057}.custom-select-sm{height:calc(1.5em + .5rem + 2px);padding-top:.25rem;padding-bottom:.25rem;padding-left:.5rem;font-size:.875rem}.custom-select-lg{height:calc(1.5em + 1rem + 2px);padding-top:.5rem;padding-bottom:.5rem;padding-left:1rem;font-size:1.25rem}.custom-file{position:relative;display:inline-block;width:100%;height:calc(1.5em + .75rem + 2px);margin-bottom:0}.custom-file-input{position:relative;z-index:2;width:100%;height:calc(1.5em + .75rem + 2px);margin:0;opacity:0}.custom-file-input:focus~.custom-file-label{border-color:#80bdff;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.custom-file-input:disabled~.custom-file-label,.custom-file-input[disabled]~.custom-file-label{background-color:#e9ecef}.custom-file-input:lang(en)~.custom-file-label::after{content:"Browse"}.custom-file-input~.custom-file-label[data-browse]::after{content:attr(data-browse)}.custom-file-label{position:absolute;top:0;right:0;left:0;z-index:1;height:calc(1.5em + .75rem + 2px);padding:.375rem .75rem;font-weight:400;line-height:1.5;color:#495057;background-color:#fff;border:1px solid #ced4da;border-radius:.25rem}.custom-file-label::after{position:absolute;top:0;right:0;bottom:0;z-index:3;display:block;height:calc(1.5em + .75rem);padding:.375rem .75rem;line-height:1.5;color:#495057;content:"Browse";background-color:#e9ecef;border-left:inherit;border-radius:0 .25rem .25rem 0}.custom-range{width:100%;height:1.4rem;padding:0;background-color:transparent;-webkit-appearance:none;-moz-appearance:none;appearance:none}.custom-range:focus{outline:0}.custom-range:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(0,123,255,.25)}.custom-range:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(0,123,255,.25)}.custom-range:focus::-ms-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(0,123,255,.25)}.custom-range::-moz-focus-outer{border:0}.custom-range::-webkit-slider-thumb{width:1rem;height:1rem;margin-top:-.25rem;background-color:#007bff;border:0;border-radius:1rem;-webkit-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;-webkit-appearance:none;appearance:none}@media (prefers-reduced-motion:reduce){.custom-range::-webkit-slider-thumb{-webkit-transition:none;transition:none}}.custom-range::-webkit-slider-thumb:active{background-color:#b3d7ff}.custom-range::-webkit-slider-runnable-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#dee2e6;border-color:transparent;border-radius:1rem}.custom-range::-moz-range-thumb{width:1rem;height:1rem;background-color:#007bff;border:0;border-radius:1rem;-moz-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;-moz-appearance:none;appearance:none}@media (prefers-reduced-motion:reduce){.custom-range::-moz-range-thumb{-moz-transition:none;transition:none}}.custom-range::-moz-range-thumb:active{background-color:#b3d7ff}.custom-range::-moz-range-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#dee2e6;border-color:transparent;border-radius:1rem}.custom-range::-ms-thumb{width:1rem;height:1rem;margin-top:0;margin-right:.2rem;margin-left:.2rem;background-color:#007bff;border:0;border-radius:1rem;-ms-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;appearance:none}@media (prefers-reduced-motion:reduce){.custom-range::-ms-thumb{-ms-transition:none;transition:none}}.custom-range::-ms-thumb:active{background-color:#b3d7ff}.custom-range::-ms-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:transparent;border-color:transparent;border-width:.5rem}.custom-range::-ms-fill-lower{background-color:#dee2e6;border-radius:1rem}.custom-range::-ms-fill-upper{margin-right:15px;background-color:#dee2e6;border-radius:1rem}.custom-range:disabled::-webkit-slider-thumb{background-color:#adb5bd}.custom-range:disabled::-webkit-slider-runnable-track{cursor:default}.custom-range:disabled::-moz-range-thumb{background-color:#adb5bd}.custom-range:disabled::-moz-range-track{cursor:default}.custom-range:disabled::-ms-thumb{background-color:#adb5bd}.custom-control-label::before,.custom-file-label,.custom-select{transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.custom-control-label::before,.custom-file-label,.custom-select{transition:none}}.nav{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}.nav-link{display:block;padding:.5rem 1rem}.nav-link:focus,.nav-link:hover{text-decoration:none}.nav-link.disabled{color:#6c757d;pointer-events:none;cursor:default}.nav-tabs{border-bottom:1px solid #dee2e6}.nav-tabs .nav-item{margin-bottom:-1px}.nav-tabs .nav-link{border:1px solid transparent;border-top-left-radius:.25rem;border-top-right-radius:.25rem}.nav-tabs .nav-link:focus,.nav-tabs .nav-link:hover{border-color:#e9ecef #e9ecef #dee2e6}.nav-tabs .nav-link.disabled{color:#6c757d;background-color:transparent;border-color:transparent}.nav-tabs .nav-item.show .nav-link,.nav-tabs .nav-link.active{color:#495057;background-color:#fff;border-color:#dee2e6 #dee2e6 #fff}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}.nav-pills .nav-link{border-radius:.25rem}.nav-pills .nav-link.active,.nav-pills .show>.nav-link{color:#fff;background-color:#007bff}.nav-fill .nav-item{-ms-flex:1 1 auto;flex:1 1 auto;text-align:center}.nav-justified .nav-item{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;text-align:center}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.navbar{position:relative;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between;padding:.5rem 1rem}.navbar .container,.navbar .container-fluid,.navbar .container-lg,.navbar .container-md,.navbar .container-sm,.navbar .container-xl{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between}.navbar-brand{display:inline-block;padding-top:.3125rem;padding-bottom:.3125rem;margin-right:1rem;font-size:1.25rem;line-height:inherit;white-space:nowrap}.navbar-brand:focus,.navbar-brand:hover{text-decoration:none}.navbar-nav{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;padding-left:0;margin-bottom:0;list-style:none}.navbar-nav .nav-link{padding-right:0;padding-left:0}.navbar-nav .dropdown-menu{position:static;float:none}.navbar-text{display:inline-block;padding-top:.5rem;padding-bottom:.5rem}.navbar-collapse{-ms-flex-preferred-size:100%;flex-basis:100%;-ms-flex-positive:1;flex-grow:1;-ms-flex-align:center;align-items:center}.navbar-toggler{padding:.25rem .75rem;font-size:1.25rem;line-height:1;background-color:transparent;border:1px solid transparent;border-radius:.25rem}.navbar-toggler:focus,.navbar-toggler:hover{text-decoration:none}.navbar-toggler-icon{display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;content:"";background:no-repeat center center;background-size:100% 100%}@media (max-width:575.98px){.navbar-expand-sm>.container,.navbar-expand-sm>.container-fluid,.navbar-expand-sm>.container-lg,.navbar-expand-sm>.container-md,.navbar-expand-sm>.container-sm,.navbar-expand-sm>.container-xl{padding-right:0;padding-left:0}}@media (min-width:576px){.navbar-expand-sm{-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand-sm .navbar-nav{-ms-flex-direction:row;flex-direction:row}.navbar-expand-sm .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-sm .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-sm>.container,.navbar-expand-sm>.container-fluid,.navbar-expand-sm>.container-lg,.navbar-expand-sm>.container-md,.navbar-expand-sm>.container-sm,.navbar-expand-sm>.container-xl{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand-sm .navbar-collapse{display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand-sm .navbar-toggler{display:none}}@media (max-width:767.98px){.navbar-expand-md>.container,.navbar-expand-md>.container-fluid,.navbar-expand-md>.container-lg,.navbar-expand-md>.container-md,.navbar-expand-md>.container-sm,.navbar-expand-md>.container-xl{padding-right:0;padding-left:0}}@media (min-width:768px){.navbar-expand-md{-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand-md .navbar-nav{-ms-flex-direction:row;flex-direction:row}.navbar-expand-md .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-md .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-md>.container,.navbar-expand-md>.container-fluid,.navbar-expand-md>.container-lg,.navbar-expand-md>.container-md,.navbar-expand-md>.container-sm,.navbar-expand-md>.container-xl{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand-md .navbar-collapse{display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand-md .navbar-toggler{display:none}}@media (max-width:991.98px){.navbar-expand-lg>.container,.navbar-expand-lg>.container-fluid,.navbar-expand-lg>.container-lg,.navbar-expand-lg>.container-md,.navbar-expand-lg>.container-sm,.navbar-expand-lg>.container-xl{padding-right:0;padding-left:0}}@media (min-width:992px){.navbar-expand-lg{-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand-lg .navbar-nav{-ms-flex-direction:row;flex-direction:row}.navbar-expand-lg .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-lg .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-lg>.container,.navbar-expand-lg>.container-fluid,.navbar-expand-lg>.container-lg,.navbar-expand-lg>.container-md,.navbar-expand-lg>.container-sm,.navbar-expand-lg>.container-xl{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand-lg .navbar-collapse{display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand-lg .navbar-toggler{display:none}}@media (max-width:1199.98px){.navbar-expand-xl>.container,.navbar-expand-xl>.container-fluid,.navbar-expand-xl>.container-lg,.navbar-expand-xl>.container-md,.navbar-expand-xl>.container-sm,.navbar-expand-xl>.container-xl{padding-right:0;padding-left:0}}@media (min-width:1200px){.navbar-expand-xl{-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand-xl .navbar-nav{-ms-flex-direction:row;flex-direction:row}.navbar-expand-xl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xl .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-xl>.container,.navbar-expand-xl>.container-fluid,.navbar-expand-xl>.container-lg,.navbar-expand-xl>.container-md,.navbar-expand-xl>.container-sm,.navbar-expand-xl>.container-xl{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand-xl .navbar-collapse{display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand-xl .navbar-toggler{display:none}}.navbar-expand{-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand>.container,.navbar-expand>.container-fluid,.navbar-expand>.container-lg,.navbar-expand>.container-md,.navbar-expand>.container-sm,.navbar-expand>.container-xl{padding-right:0;padding-left:0}.navbar-expand .navbar-nav{-ms-flex-direction:row;flex-direction:row}.navbar-expand .navbar-nav .dropdown-menu{position:absolute}.navbar-expand .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand>.container,.navbar-expand>.container-fluid,.navbar-expand>.container-lg,.navbar-expand>.container-md,.navbar-expand>.container-sm,.navbar-expand>.container-xl{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand .navbar-collapse{display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand .navbar-toggler{display:none}.navbar-light .navbar-brand{color:rgba(0,0,0,.9)}.navbar-light .navbar-brand:focus,.navbar-light .navbar-brand:hover{color:rgba(0,0,0,.9)}.navbar-light .navbar-nav .nav-link{color:rgba(0,0,0,.5)}.navbar-light .navbar-nav .nav-link:focus,.navbar-light .navbar-nav .nav-link:hover{color:rgba(0,0,0,.7)}.navbar-light .navbar-nav .nav-link.disabled{color:rgba(0,0,0,.3)}.navbar-light .navbar-nav .active>.nav-link,.navbar-light .navbar-nav .nav-link.active,.navbar-light .navbar-nav .nav-link.show,.navbar-light .navbar-nav .show>.nav-link{color:rgba(0,0,0,.9)}.navbar-light .navbar-toggler{color:rgba(0,0,0,.5);border-color:rgba(0,0,0,.1)}.navbar-light .navbar-toggler-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='rgba(0, 0, 0, 0.5)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}.navbar-light .navbar-text{color:rgba(0,0,0,.5)}.navbar-light .navbar-text a{color:rgba(0,0,0,.9)}.navbar-light .navbar-text a:focus,.navbar-light .navbar-text a:hover{color:rgba(0,0,0,.9)}.navbar-dark .navbar-brand{color:#fff}.navbar-dark .navbar-brand:focus,.navbar-dark .navbar-brand:hover{color:#fff}.navbar-dark .navbar-nav .nav-link{color:rgba(255,255,255,.5)}.navbar-dark .navbar-nav .nav-link:focus,.navbar-dark .navbar-nav .nav-link:hover{color:rgba(255,255,255,.75)}.navbar-dark .navbar-nav .nav-link.disabled{color:rgba(255,255,255,.25)}.navbar-dark .navbar-nav .active>.nav-link,.navbar-dark .navbar-nav .nav-link.active,.navbar-dark .navbar-nav .nav-link.show,.navbar-dark .navbar-nav .show>.nav-link{color:#fff}.navbar-dark .navbar-toggler{color:rgba(255,255,255,.5);border-color:rgba(255,255,255,.1)}.navbar-dark .navbar-toggler-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='rgba(255, 255, 255, 0.5)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}.navbar-dark .navbar-text{color:rgba(255,255,255,.5)}.navbar-dark .navbar-text a{color:#fff}.navbar-dark .navbar-text a:focus,.navbar-dark .navbar-text a:hover{color:#fff}.card{position:relative;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;min-width:0;word-wrap:break-word;background-color:#fff;background-clip:border-box;border:1px solid rgba(0,0,0,.125);border-radius:.25rem}.card>hr{margin-right:0;margin-left:0}.card>.list-group:first-child .list-group-item:first-child{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.card>.list-group:last-child .list-group-item:last-child{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.card-body{-ms-flex:1 1 auto;flex:1 1 auto;min-height:1px;padding:1.25rem}.card-title{margin-bottom:.75rem}.card-subtitle{margin-top:-.375rem;margin-bottom:0}.card-text:last-child{margin-bottom:0}.card-link:hover{text-decoration:none}.card-link+.card-link{margin-left:1.25rem}.card-header{padding:.75rem 1.25rem;margin-bottom:0;background-color:rgba(0,0,0,.03);border-bottom:1px solid rgba(0,0,0,.125)}.card-header:first-child{border-radius:calc(.25rem - 1px) calc(.25rem - 1px) 0 0}.card-header+.list-group .list-group-item:first-child{border-top:0}.card-footer{padding:.75rem 1.25rem;background-color:rgba(0,0,0,.03);border-top:1px solid rgba(0,0,0,.125)}.card-footer:last-child{border-radius:0 0 calc(.25rem - 1px) calc(.25rem - 1px)}.card-header-tabs{margin-right:-.625rem;margin-bottom:-.75rem;margin-left:-.625rem;border-bottom:0}.card-header-pills{margin-right:-.625rem;margin-left:-.625rem}.card-img-overlay{position:absolute;top:0;right:0;bottom:0;left:0;padding:1.25rem}.card-img,.card-img-bottom,.card-img-top{-ms-flex-negative:0;flex-shrink:0;width:100%}.card-img,.card-img-top{border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.card-img,.card-img-bottom{border-bottom-right-radius:calc(.25rem - 1px);border-bottom-left-radius:calc(.25rem - 1px)}.card-deck .card{margin-bottom:15px}@media (min-width:576px){.card-deck{display:-ms-flexbox;display:flex;-ms-flex-flow:row wrap;flex-flow:row wrap;margin-right:-15px;margin-left:-15px}.card-deck .card{-ms-flex:1 0 0%;flex:1 0 0%;margin-right:15px;margin-bottom:0;margin-left:15px}}.card-group>.card{margin-bottom:15px}@media (min-width:576px){.card-group{display:-ms-flexbox;display:flex;-ms-flex-flow:row wrap;flex-flow:row wrap}.card-group>.card{-ms-flex:1 0 0%;flex:1 0 0%;margin-bottom:0}.card-group>.card+.card{margin-left:0;border-left:0}.card-group>.card:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.card-group>.card:not(:last-child) .card-header,.card-group>.card:not(:last-child) .card-img-top{border-top-right-radius:0}.card-group>.card:not(:last-child) .card-footer,.card-group>.card:not(:last-child) .card-img-bottom{border-bottom-right-radius:0}.card-group>.card:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.card-group>.card:not(:first-child) .card-header,.card-group>.card:not(:first-child) .card-img-top{border-top-left-radius:0}.card-group>.card:not(:first-child) .card-footer,.card-group>.card:not(:first-child) .card-img-bottom{border-bottom-left-radius:0}}.card-columns .card{margin-bottom:.75rem}@media (min-width:576px){.card-columns{-webkit-column-count:3;-moz-column-count:3;column-count:3;-webkit-column-gap:1.25rem;-moz-column-gap:1.25rem;column-gap:1.25rem;orphans:1;widows:1}.card-columns .card{display:inline-block;width:100%}}.accordion>.card{overflow:hidden}.accordion>.card:not(:last-of-type){border-bottom:0;border-bottom-right-radius:0;border-bottom-left-radius:0}.accordion>.card:not(:first-of-type){border-top-left-radius:0;border-top-right-radius:0}.accordion>.card>.card-header{border-radius:0;margin-bottom:-1px}.breadcrumb{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;padding:.75rem 1rem;margin-bottom:1rem;list-style:none;background-color:#e9ecef;border-radius:.25rem}.breadcrumb-item+.breadcrumb-item{padding-left:.5rem}.breadcrumb-item+.breadcrumb-item::before{display:inline-block;padding-right:.5rem;color:#6c757d;content:"/"}.breadcrumb-item+.breadcrumb-item:hover::before{text-decoration:underline}.breadcrumb-item+.breadcrumb-item:hover::before{text-decoration:none}.breadcrumb-item.active{color:#6c757d}.pagination{display:-ms-flexbox;display:flex;padding-left:0;list-style:none;border-radius:.25rem}.page-link{position:relative;display:block;padding:.5rem .75rem;margin-left:-1px;line-height:1.25;color:#007bff;background-color:#fff;border:1px solid #dee2e6}.page-link:hover{z-index:2;color:#0056b3;text-decoration:none;background-color:#e9ecef;border-color:#dee2e6}.page-link:focus{z-index:3;outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.page-item:first-child .page-link{margin-left:0;border-top-left-radius:.25rem;border-bottom-left-radius:.25rem}.page-item:last-child .page-link{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}.page-item.active .page-link{z-index:3;color:#fff;background-color:#007bff;border-color:#007bff}.page-item.disabled .page-link{color:#6c757d;pointer-events:none;cursor:auto;background-color:#fff;border-color:#dee2e6}.pagination-lg .page-link{padding:.75rem 1.5rem;font-size:1.25rem;line-height:1.5}.pagination-lg .page-item:first-child .page-link{border-top-left-radius:.3rem;border-bottom-left-radius:.3rem}.pagination-lg .page-item:last-child .page-link{border-top-right-radius:.3rem;border-bottom-right-radius:.3rem}.pagination-sm .page-link{padding:.25rem .5rem;font-size:.875rem;line-height:1.5}.pagination-sm .page-item:first-child .page-link{border-top-left-radius:.2rem;border-bottom-left-radius:.2rem}.pagination-sm .page-item:last-child .page-link{border-top-right-radius:.2rem;border-bottom-right-radius:.2rem}.badge{display:inline-block;padding:.25em .4em;font-size:75%;font-weight:700;line-height:1;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25rem;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.badge{transition:none}}a.badge:focus,a.badge:hover{text-decoration:none}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.badge-pill{padding-right:.6em;padding-left:.6em;border-radius:10rem}.badge-primary{color:#fff;background-color:#007bff}a.badge-primary:focus,a.badge-primary:hover{color:#fff;background-color:#0062cc}a.badge-primary.focus,a.badge-primary:focus{outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.5)}.badge-secondary{color:#fff;background-color:#6c757d}a.badge-secondary:focus,a.badge-secondary:hover{color:#fff;background-color:#545b62}a.badge-secondary.focus,a.badge-secondary:focus{outline:0;box-shadow:0 0 0 .2rem rgba(108,117,125,.5)}.badge-success{color:#fff;background-color:#28a745}a.badge-success:focus,a.badge-success:hover{color:#fff;background-color:#1e7e34}a.badge-success.focus,a.badge-success:focus{outline:0;box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.badge-info{color:#fff;background-color:#17a2b8}a.badge-info:focus,a.badge-info:hover{color:#fff;background-color:#117a8b}a.badge-info.focus,a.badge-info:focus{outline:0;box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.badge-warning{color:#212529;background-color:#ffc107}a.badge-warning:focus,a.badge-warning:hover{color:#212529;background-color:#d39e00}a.badge-warning.focus,a.badge-warning:focus{outline:0;box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.badge-danger{color:#fff;background-color:#dc3545}a.badge-danger:focus,a.badge-danger:hover{color:#fff;background-color:#bd2130}a.badge-danger.focus,a.badge-danger:focus{outline:0;box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.badge-light{color:#212529;background-color:#f8f9fa}a.badge-light:focus,a.badge-light:hover{color:#212529;background-color:#dae0e5}a.badge-light.focus,a.badge-light:focus{outline:0;box-shadow:0 0 0 .2rem rgba(248,249,250,.5)}.badge-dark{color:#fff;background-color:#343a40}a.badge-dark:focus,a.badge-dark:hover{color:#fff;background-color:#1d2124}a.badge-dark.focus,a.badge-dark:focus{outline:0;box-shadow:0 0 0 .2rem rgba(52,58,64,.5)}.jumbotron{padding:2rem 1rem;margin-bottom:2rem;background-color:#e9ecef;border-radius:.3rem}@media (min-width:576px){.jumbotron{padding:4rem 2rem}}.jumbotron-fluid{padding-right:0;padding-left:0;border-radius:0}.alert{position:relative;padding:.75rem 1.25rem;margin-bottom:1rem;border:1px solid transparent;border-radius:.25rem}.alert-heading{color:inherit}.alert-link{font-weight:700}.alert-dismissible{padding-right:4rem}.alert-dismissible .close{position:absolute;top:0;right:0;padding:.75rem 1.25rem;color:inherit}.alert-primary{color:#004085;background-color:#cce5ff;border-color:#b8daff}.alert-primary hr{border-top-color:#9fcdff}.alert-primary .alert-link{color:#002752}.alert-secondary{color:#383d41;background-color:#e2e3e5;border-color:#d6d8db}.alert-secondary hr{border-top-color:#c8cbcf}.alert-secondary .alert-link{color:#202326}.alert-success{color:#155724;background-color:#d4edda;border-color:#c3e6cb}.alert-success hr{border-top-color:#b1dfbb}.alert-success .alert-link{color:#0b2e13}.alert-info{color:#0c5460;background-color:#d1ecf1;border-color:#bee5eb}.alert-info hr{border-top-color:#abdde5}.alert-info .alert-link{color:#062c33}.alert-warning{color:#856404;background-color:#fff3cd;border-color:#ffeeba}.alert-warning hr{border-top-color:#ffe8a1}.alert-warning .alert-link{color:#533f03}.alert-danger{color:#721c24;background-color:#f8d7da;border-color:#f5c6cb}.alert-danger hr{border-top-color:#f1b0b7}.alert-danger .alert-link{color:#491217}.alert-light{color:#818182;background-color:#fefefe;border-color:#fdfdfe}.alert-light hr{border-top-color:#ececf6}.alert-light .alert-link{color:#686868}.alert-dark{color:#1b1e21;background-color:#d6d8d9;border-color:#c6c8ca}.alert-dark hr{border-top-color:#b9bbbe}.alert-dark .alert-link{color:#040505}@-webkit-keyframes progress-bar-stripes{from{background-position:1rem 0}to{background-position:0 0}}@keyframes progress-bar-stripes{from{background-position:1rem 0}to{background-position:0 0}}.progress{display:-ms-flexbox;display:flex;height:1rem;overflow:hidden;font-size:.75rem;background-color:#e9ecef;border-radius:.25rem}.progress-bar{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:center;justify-content:center;overflow:hidden;color:#fff;text-align:center;white-space:nowrap;background-color:#007bff;transition:width .6s ease}@media (prefers-reduced-motion:reduce){.progress-bar{transition:none}}.progress-bar-striped{background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-size:1rem 1rem}.progress-bar-animated{-webkit-animation:progress-bar-stripes 1s linear infinite;animation:progress-bar-stripes 1s linear infinite}@media (prefers-reduced-motion:reduce){.progress-bar-animated{-webkit-animation:none;animation:none}}.media{display:-ms-flexbox;display:flex;-ms-flex-align:start;align-items:flex-start}.media-body{-ms-flex:1;flex:1}.list-group{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;padding-left:0;margin-bottom:0}.list-group-item-action{width:100%;color:#495057;text-align:inherit}.list-group-item-action:focus,.list-group-item-action:hover{z-index:1;color:#495057;text-decoration:none;background-color:#f8f9fa}.list-group-item-action:active{color:#212529;background-color:#e9ecef}.list-group-item{position:relative;display:block;padding:.75rem 1.25rem;background-color:#fff;border:1px solid rgba(0,0,0,.125)}.list-group-item:first-child{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.list-group-item:last-child{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.list-group-item.disabled,.list-group-item:disabled{color:#6c757d;pointer-events:none;background-color:#fff}.list-group-item.active{z-index:2;color:#fff;background-color:#007bff;border-color:#007bff}.list-group-item+.list-group-item{border-top-width:0}.list-group-item+.list-group-item.active{margin-top:-1px;border-top-width:1px}.list-group-horizontal{-ms-flex-direction:row;flex-direction:row}.list-group-horizontal .list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal .list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal .list-group-item.active{margin-top:0}.list-group-horizontal .list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal .list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}@media (min-width:576px){.list-group-horizontal-sm{-ms-flex-direction:row;flex-direction:row}.list-group-horizontal-sm .list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-sm .list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-sm .list-group-item.active{margin-top:0}.list-group-horizontal-sm .list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-sm .list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width:768px){.list-group-horizontal-md{-ms-flex-direction:row;flex-direction:row}.list-group-horizontal-md .list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-md .list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-md .list-group-item.active{margin-top:0}.list-group-horizontal-md .list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-md .list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width:992px){.list-group-horizontal-lg{-ms-flex-direction:row;flex-direction:row}.list-group-horizontal-lg .list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-lg .list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-lg .list-group-item.active{margin-top:0}.list-group-horizontal-lg .list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-lg .list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width:1200px){.list-group-horizontal-xl{-ms-flex-direction:row;flex-direction:row}.list-group-horizontal-xl .list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-xl .list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-xl .list-group-item.active{margin-top:0}.list-group-horizontal-xl .list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-xl .list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}.list-group-flush .list-group-item{border-right-width:0;border-left-width:0;border-radius:0}.list-group-flush .list-group-item:first-child{border-top-width:0}.list-group-flush:last-child .list-group-item:last-child{border-bottom-width:0}.list-group-item-primary{color:#004085;background-color:#b8daff}.list-group-item-primary.list-group-item-action:focus,.list-group-item-primary.list-group-item-action:hover{color:#004085;background-color:#9fcdff}.list-group-item-primary.list-group-item-action.active{color:#fff;background-color:#004085;border-color:#004085}.list-group-item-secondary{color:#383d41;background-color:#d6d8db}.list-group-item-secondary.list-group-item-action:focus,.list-group-item-secondary.list-group-item-action:hover{color:#383d41;background-color:#c8cbcf}.list-group-item-secondary.list-group-item-action.active{color:#fff;background-color:#383d41;border-color:#383d41}.list-group-item-success{color:#155724;background-color:#c3e6cb}.list-group-item-success.list-group-item-action:focus,.list-group-item-success.list-group-item-action:hover{color:#155724;background-color:#b1dfbb}.list-group-item-success.list-group-item-action.active{color:#fff;background-color:#155724;border-color:#155724}.list-group-item-info{color:#0c5460;background-color:#bee5eb}.list-group-item-info.list-group-item-action:focus,.list-group-item-info.list-group-item-action:hover{color:#0c5460;background-color:#abdde5}.list-group-item-info.list-group-item-action.active{color:#fff;background-color:#0c5460;border-color:#0c5460}.list-group-item-warning{color:#856404;background-color:#ffeeba}.list-group-item-warning.list-group-item-action:focus,.list-group-item-warning.list-group-item-action:hover{color:#856404;background-color:#ffe8a1}.list-group-item-warning.list-group-item-action.active{color:#fff;background-color:#856404;border-color:#856404}.list-group-item-danger{color:#721c24;background-color:#f5c6cb}.list-group-item-danger.list-group-item-action:focus,.list-group-item-danger.list-group-item-action:hover{color:#721c24;background-color:#f1b0b7}.list-group-item-danger.list-group-item-action.active{color:#fff;background-color:#721c24;border-color:#721c24}.list-group-item-light{color:#818182;background-color:#fdfdfe}.list-group-item-light.list-group-item-action:focus,.list-group-item-light.list-group-item-action:hover{color:#818182;background-color:#ececf6}.list-group-item-light.list-group-item-action.active{color:#fff;background-color:#818182;border-color:#818182}.list-group-item-dark{color:#1b1e21;background-color:#c6c8ca}.list-group-item-dark.list-group-item-action:focus,.list-group-item-dark.list-group-item-action:hover{color:#1b1e21;background-color:#b9bbbe}.list-group-item-dark.list-group-item-action.active{color:#fff;background-color:#1b1e21;border-color:#1b1e21}.close{float:right;font-size:1.5rem;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;opacity:.5}.close:hover{color:#000;text-decoration:none}.close:not(:disabled):not(.disabled):focus,.close:not(:disabled):not(.disabled):hover{opacity:.75}button.close{padding:0;background-color:transparent;border:0;-webkit-appearance:none;-moz-appearance:none;appearance:none}a.close.disabled{pointer-events:none}.toast{max-width:350px;overflow:hidden;font-size:.875rem;background-color:rgba(255,255,255,.85);background-clip:padding-box;border:1px solid rgba(0,0,0,.1);box-shadow:0 .25rem .75rem rgba(0,0,0,.1);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);opacity:0;border-radius:.25rem}.toast:not(:last-child){margin-bottom:.75rem}.toast.showing{opacity:1}.toast.show{display:block;opacity:1}.toast.hide{display:none}.toast-header{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;padding:.25rem .75rem;color:#6c757d;background-color:rgba(255,255,255,.85);background-clip:padding-box;border-bottom:1px solid rgba(0,0,0,.05)}.toast-body{padding:.75rem}.modal-open{overflow:hidden}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal{position:fixed;top:0;left:0;z-index:1050;display:none;width:100%;height:100%;overflow:hidden;outline:0}.modal-dialog{position:relative;width:auto;margin:.5rem;pointer-events:none}.modal.fade .modal-dialog{transition:-webkit-transform .3s ease-out;transition:transform .3s ease-out;transition:transform .3s ease-out,-webkit-transform .3s ease-out;-webkit-transform:translate(0,-50px);transform:translate(0,-50px)}@media (prefers-reduced-motion:reduce){.modal.fade .modal-dialog{transition:none}}.modal.show .modal-dialog{-webkit-transform:none;transform:none}.modal.modal-static .modal-dialog{-webkit-transform:scale(1.02);transform:scale(1.02)}.modal-dialog-scrollable{display:-ms-flexbox;display:flex;max-height:calc(100% - 1rem)}.modal-dialog-scrollable .modal-content{max-height:calc(100vh - 1rem);overflow:hidden}.modal-dialog-scrollable .modal-footer,.modal-dialog-scrollable .modal-header{-ms-flex-negative:0;flex-shrink:0}.modal-dialog-scrollable .modal-body{overflow-y:auto}.modal-dialog-centered{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;min-height:calc(100% - 1rem)}.modal-dialog-centered::before{display:block;height:calc(100vh - 1rem);content:""}.modal-dialog-centered.modal-dialog-scrollable{-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:center;justify-content:center;height:100%}.modal-dialog-centered.modal-dialog-scrollable .modal-content{max-height:none}.modal-dialog-centered.modal-dialog-scrollable::before{content:none}.modal-content{position:relative;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;width:100%;pointer-events:auto;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.3rem;outline:0}.modal-backdrop{position:fixed;top:0;left:0;z-index:1040;width:100vw;height:100vh;background-color:#000}.modal-backdrop.fade{opacity:0}.modal-backdrop.show{opacity:.5}.modal-header{display:-ms-flexbox;display:flex;-ms-flex-align:start;align-items:flex-start;-ms-flex-pack:justify;justify-content:space-between;padding:1rem 1rem;border-bottom:1px solid #dee2e6;border-top-left-radius:calc(.3rem - 1px);border-top-right-radius:calc(.3rem - 1px)}.modal-header .close{padding:1rem 1rem;margin:-1rem -1rem -1rem auto}.modal-title{margin-bottom:0;line-height:1.5}.modal-body{position:relative;-ms-flex:1 1 auto;flex:1 1 auto;padding:1rem}.modal-footer{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-align:center;align-items:center;-ms-flex-pack:end;justify-content:flex-end;padding:.75rem;border-top:1px solid #dee2e6;border-bottom-right-radius:calc(.3rem - 1px);border-bottom-left-radius:calc(.3rem - 1px)}.modal-footer>*{margin:.25rem}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width:576px){.modal-dialog{max-width:500px;margin:1.75rem auto}.modal-dialog-scrollable{max-height:calc(100% - 3.5rem)}.modal-dialog-scrollable .modal-content{max-height:calc(100vh - 3.5rem)}.modal-dialog-centered{min-height:calc(100% - 3.5rem)}.modal-dialog-centered::before{height:calc(100vh - 3.5rem)}.modal-sm{max-width:300px}}@media (min-width:992px){.modal-lg,.modal-xl{max-width:800px}}@media (min-width:1200px){.modal-xl{max-width:1140px}}.tooltip{position:absolute;z-index:1070;display:block;margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;opacity:0}.tooltip.show{opacity:.9}.tooltip .arrow{position:absolute;display:block;width:.8rem;height:.4rem}.tooltip .arrow::before{position:absolute;content:"";border-color:transparent;border-style:solid}.bs-tooltip-auto[x-placement^=top],.bs-tooltip-top{padding:.4rem 0}.bs-tooltip-auto[x-placement^=top] .arrow,.bs-tooltip-top .arrow{bottom:0}.bs-tooltip-auto[x-placement^=top] .arrow::before,.bs-tooltip-top .arrow::before{top:0;border-width:.4rem .4rem 0;border-top-color:#000}.bs-tooltip-auto[x-placement^=right],.bs-tooltip-right{padding:0 .4rem}.bs-tooltip-auto[x-placement^=right] .arrow,.bs-tooltip-right .arrow{left:0;width:.4rem;height:.8rem}.bs-tooltip-auto[x-placement^=right] .arrow::before,.bs-tooltip-right .arrow::before{right:0;border-width:.4rem .4rem .4rem 0;border-right-color:#000}.bs-tooltip-auto[x-placement^=bottom],.bs-tooltip-bottom{padding:.4rem 0}.bs-tooltip-auto[x-placement^=bottom] .arrow,.bs-tooltip-bottom .arrow{top:0}.bs-tooltip-auto[x-placement^=bottom] .arrow::before,.bs-tooltip-bottom .arrow::before{bottom:0;border-width:0 .4rem .4rem;border-bottom-color:#000}.bs-tooltip-auto[x-placement^=left],.bs-tooltip-left{padding:0 .4rem}.bs-tooltip-auto[x-placement^=left] .arrow,.bs-tooltip-left .arrow{right:0;width:.4rem;height:.8rem}.bs-tooltip-auto[x-placement^=left] .arrow::before,.bs-tooltip-left .arrow::before{left:0;border-width:.4rem 0 .4rem .4rem;border-left-color:#000}.tooltip-inner{max-width:200px;padding:.25rem .5rem;color:#fff;text-align:center;background-color:#000;border-radius:.25rem}.popover{position:absolute;top:0;left:0;z-index:1060;display:block;max-width:276px;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.3rem}.popover .arrow{position:absolute;display:block;width:1rem;height:.5rem;margin:0 .3rem}.popover .arrow::after,.popover .arrow::before{position:absolute;display:block;content:"";border-color:transparent;border-style:solid}.bs-popover-auto[x-placement^=top],.bs-popover-top{margin-bottom:.5rem}.bs-popover-auto[x-placement^=top]>.arrow,.bs-popover-top>.arrow{bottom:calc(-.5rem - 1px)}.bs-popover-auto[x-placement^=top]>.arrow::before,.bs-popover-top>.arrow::before{bottom:0;border-width:.5rem .5rem 0;border-top-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=top]>.arrow::after,.bs-popover-top>.arrow::after{bottom:1px;border-width:.5rem .5rem 0;border-top-color:#fff}.bs-popover-auto[x-placement^=right],.bs-popover-right{margin-left:.5rem}.bs-popover-auto[x-placement^=right]>.arrow,.bs-popover-right>.arrow{left:calc(-.5rem - 1px);width:.5rem;height:1rem;margin:.3rem 0}.bs-popover-auto[x-placement^=right]>.arrow::before,.bs-popover-right>.arrow::before{left:0;border-width:.5rem .5rem .5rem 0;border-right-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=right]>.arrow::after,.bs-popover-right>.arrow::after{left:1px;border-width:.5rem .5rem .5rem 0;border-right-color:#fff}.bs-popover-auto[x-placement^=bottom],.bs-popover-bottom{margin-top:.5rem}.bs-popover-auto[x-placement^=bottom]>.arrow,.bs-popover-bottom>.arrow{top:calc(-.5rem - 1px)}.bs-popover-auto[x-placement^=bottom]>.arrow::before,.bs-popover-bottom>.arrow::before{top:0;border-width:0 .5rem .5rem .5rem;border-bottom-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=bottom]>.arrow::after,.bs-popover-bottom>.arrow::after{top:1px;border-width:0 .5rem .5rem .5rem;border-bottom-color:#fff}.bs-popover-auto[x-placement^=bottom] .popover-header::before,.bs-popover-bottom .popover-header::before{position:absolute;top:0;left:50%;display:block;width:1rem;margin-left:-.5rem;content:"";border-bottom:1px solid #f7f7f7}.bs-popover-auto[x-placement^=left],.bs-popover-left{margin-right:.5rem}.bs-popover-auto[x-placement^=left]>.arrow,.bs-popover-left>.arrow{right:calc(-.5rem - 1px);width:.5rem;height:1rem;margin:.3rem 0}.bs-popover-auto[x-placement^=left]>.arrow::before,.bs-popover-left>.arrow::before{right:0;border-width:.5rem 0 .5rem .5rem;border-left-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=left]>.arrow::after,.bs-popover-left>.arrow::after{right:1px;border-width:.5rem 0 .5rem .5rem;border-left-color:#fff}.popover-header{padding:.5rem .75rem;margin-bottom:0;font-size:1rem;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-top-left-radius:calc(.3rem - 1px);border-top-right-radius:calc(.3rem - 1px)}.popover-header:empty{display:none}.popover-body{padding:.5rem .75rem;color:#212529}.carousel{position:relative}.carousel.pointer-event{-ms-touch-action:pan-y;touch-action:pan-y}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner::after{display:block;clear:both;content:""}.carousel-item{position:relative;display:none;float:left;width:100%;margin-right:-100%;-webkit-backface-visibility:hidden;backface-visibility:hidden;transition:-webkit-transform .6s ease-in-out;transition:transform .6s ease-in-out;transition:transform .6s ease-in-out,-webkit-transform .6s ease-in-out}@media (prefers-reduced-motion:reduce){.carousel-item{transition:none}}.carousel-item-next,.carousel-item-prev,.carousel-item.active{display:block}.active.carousel-item-right,.carousel-item-next:not(.carousel-item-left){-webkit-transform:translateX(100%);transform:translateX(100%)}.active.carousel-item-left,.carousel-item-prev:not(.carousel-item-right){-webkit-transform:translateX(-100%);transform:translateX(-100%)}.carousel-fade .carousel-item{opacity:0;transition-property:opacity;-webkit-transform:none;transform:none}.carousel-fade .carousel-item-next.carousel-item-left,.carousel-fade .carousel-item-prev.carousel-item-right,.carousel-fade .carousel-item.active{z-index:1;opacity:1}.carousel-fade .active.carousel-item-left,.carousel-fade .active.carousel-item-right{z-index:0;opacity:0;transition:opacity 0s .6s}@media (prefers-reduced-motion:reduce){.carousel-fade .active.carousel-item-left,.carousel-fade .active.carousel-item-right{transition:none}}.carousel-control-next,.carousel-control-prev{position:absolute;top:0;bottom:0;z-index:1;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:15%;color:#fff;text-align:center;opacity:.5;transition:opacity .15s ease}@media (prefers-reduced-motion:reduce){.carousel-control-next,.carousel-control-prev{transition:none}}.carousel-control-next:focus,.carousel-control-next:hover,.carousel-control-prev:focus,.carousel-control-prev:hover{color:#fff;text-decoration:none;outline:0;opacity:.9}.carousel-control-prev{left:0}.carousel-control-next{right:0}.carousel-control-next-icon,.carousel-control-prev-icon{display:inline-block;width:20px;height:20px;background:no-repeat 50%/100% 100%}.carousel-control-prev-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath d='M5.25 0l-4 4 4 4 1.5-1.5L4.25 4l2.5-2.5L5.25 0z'/%3e%3c/svg%3e")}.carousel-control-next-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath d='M2.75 0l-1.5 1.5L3.75 4l-2.5 2.5L2.75 8l4-4-4-4z'/%3e%3c/svg%3e")}.carousel-indicators{position:absolute;right:0;bottom:0;left:0;z-index:15;display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center;padding-left:0;margin-right:15%;margin-left:15%;list-style:none}.carousel-indicators li{box-sizing:content-box;-ms-flex:0 1 auto;flex:0 1 auto;width:30px;height:3px;margin-right:3px;margin-left:3px;text-indent:-999px;cursor:pointer;background-color:#fff;background-clip:padding-box;border-top:10px solid transparent;border-bottom:10px solid transparent;opacity:.5;transition:opacity .6s ease}@media (prefers-reduced-motion:reduce){.carousel-indicators li{transition:none}}.carousel-indicators .active{opacity:1}.carousel-caption{position:absolute;right:15%;bottom:20px;left:15%;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center}@-webkit-keyframes spinner-border{to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes spinner-border{to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}.spinner-border{display:inline-block;width:2rem;height:2rem;vertical-align:text-bottom;border:.25em solid currentColor;border-right-color:transparent;border-radius:50%;-webkit-animation:spinner-border .75s linear infinite;animation:spinner-border .75s linear infinite}.spinner-border-sm{width:1rem;height:1rem;border-width:.2em}@-webkit-keyframes spinner-grow{0%{-webkit-transform:scale(0);transform:scale(0)}50%{opacity:1}}@keyframes spinner-grow{0%{-webkit-transform:scale(0);transform:scale(0)}50%{opacity:1}}.spinner-grow{display:inline-block;width:2rem;height:2rem;vertical-align:text-bottom;background-color:currentColor;border-radius:50%;opacity:0;-webkit-animation:spinner-grow .75s linear infinite;animation:spinner-grow .75s linear infinite}.spinner-grow-sm{width:1rem;height:1rem}.align-baseline{vertical-align:baseline!important}.align-top{vertical-align:top!important}.align-middle{vertical-align:middle!important}.align-bottom{vertical-align:bottom!important}.align-text-bottom{vertical-align:text-bottom!important}.align-text-top{vertical-align:text-top!important}.bg-primary{background-color:#007bff!important}a.bg-primary:focus,a.bg-primary:hover,button.bg-primary:focus,button.bg-primary:hover{background-color:#0062cc!important}.bg-secondary{background-color:#6c757d!important}a.bg-secondary:focus,a.bg-secondary:hover,button.bg-secondary:focus,button.bg-secondary:hover{background-color:#545b62!important}.bg-success{background-color:#28a745!important}a.bg-success:focus,a.bg-success:hover,button.bg-success:focus,button.bg-success:hover{background-color:#1e7e34!important}.bg-info{background-color:#17a2b8!important}a.bg-info:focus,a.bg-info:hover,button.bg-info:focus,button.bg-info:hover{background-color:#117a8b!important}.bg-warning{background-color:#ffc107!important}a.bg-warning:focus,a.bg-warning:hover,button.bg-warning:focus,button.bg-warning:hover{background-color:#d39e00!important}.bg-danger{background-color:#dc3545!important}a.bg-danger:focus,a.bg-danger:hover,button.bg-danger:focus,button.bg-danger:hover{background-color:#bd2130!important}.bg-light{background-color:#f8f9fa!important}a.bg-light:focus,a.bg-light:hover,button.bg-light:focus,button.bg-light:hover{background-color:#dae0e5!important}.bg-dark{background-color:#343a40!important}a.bg-dark:focus,a.bg-dark:hover,button.bg-dark:focus,button.bg-dark:hover{background-color:#1d2124!important}.bg-white{background-color:#fff!important}.bg-transparent{background-color:transparent!important}.border{border:1px solid #dee2e6!important}.border-top{border-top:1px solid #dee2e6!important}.border-right{border-right:1px solid #dee2e6!important}.border-bottom{border-bottom:1px solid #dee2e6!important}.border-left{border-left:1px solid #dee2e6!important}.border-0{border:0!important}.border-top-0{border-top:0!important}.border-right-0{border-right:0!important}.border-bottom-0{border-bottom:0!important}.border-left-0{border-left:0!important}.border-primary{border-color:#007bff!important}.border-secondary{border-color:#6c757d!important}.border-success{border-color:#28a745!important}.border-info{border-color:#17a2b8!important}.border-warning{border-color:#ffc107!important}.border-danger{border-color:#dc3545!important}.border-light{border-color:#f8f9fa!important}.border-dark{border-color:#343a40!important}.border-white{border-color:#fff!important}.rounded-sm{border-radius:.2rem!important}.rounded{border-radius:.25rem!important}.rounded-top{border-top-left-radius:.25rem!important;border-top-right-radius:.25rem!important}.rounded-right{border-top-right-radius:.25rem!important;border-bottom-right-radius:.25rem!important}.rounded-bottom{border-bottom-right-radius:.25rem!important;border-bottom-left-radius:.25rem!important}.rounded-left{border-top-left-radius:.25rem!important;border-bottom-left-radius:.25rem!important}.rounded-lg{border-radius:.3rem!important}.rounded-circle{border-radius:50%!important}.rounded-pill{border-radius:50rem!important}.rounded-0{border-radius:0!important}.clearfix::after{display:block;clear:both;content:""}.d-none{display:none!important}.d-inline{display:inline!important}.d-inline-block{display:inline-block!important}.d-block{display:block!important}.d-table{display:table!important}.d-table-row{display:table-row!important}.d-table-cell{display:table-cell!important}.d-flex{display:-ms-flexbox!important;display:flex!important}.d-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}@media (min-width:576px){.d-sm-none{display:none!important}.d-sm-inline{display:inline!important}.d-sm-inline-block{display:inline-block!important}.d-sm-block{display:block!important}.d-sm-table{display:table!important}.d-sm-table-row{display:table-row!important}.d-sm-table-cell{display:table-cell!important}.d-sm-flex{display:-ms-flexbox!important;display:flex!important}.d-sm-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}@media (min-width:768px){.d-md-none{display:none!important}.d-md-inline{display:inline!important}.d-md-inline-block{display:inline-block!important}.d-md-block{display:block!important}.d-md-table{display:table!important}.d-md-table-row{display:table-row!important}.d-md-table-cell{display:table-cell!important}.d-md-flex{display:-ms-flexbox!important;display:flex!important}.d-md-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}@media (min-width:992px){.d-lg-none{display:none!important}.d-lg-inline{display:inline!important}.d-lg-inline-block{display:inline-block!important}.d-lg-block{display:block!important}.d-lg-table{display:table!important}.d-lg-table-row{display:table-row!important}.d-lg-table-cell{display:table-cell!important}.d-lg-flex{display:-ms-flexbox!important;display:flex!important}.d-lg-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}@media (min-width:1200px){.d-xl-none{display:none!important}.d-xl-inline{display:inline!important}.d-xl-inline-block{display:inline-block!important}.d-xl-block{display:block!important}.d-xl-table{display:table!important}.d-xl-table-row{display:table-row!important}.d-xl-table-cell{display:table-cell!important}.d-xl-flex{display:-ms-flexbox!important;display:flex!important}.d-xl-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}@media print{.d-print-none{display:none!important}.d-print-inline{display:inline!important}.d-print-inline-block{display:inline-block!important}.d-print-block{display:block!important}.d-print-table{display:table!important}.d-print-table-row{display:table-row!important}.d-print-table-cell{display:table-cell!important}.d-print-flex{display:-ms-flexbox!important;display:flex!important}.d-print-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}.embed-responsive{position:relative;display:block;width:100%;padding:0;overflow:hidden}.embed-responsive::before{display:block;content:""}.embed-responsive .embed-responsive-item,.embed-responsive embed,.embed-responsive iframe,.embed-responsive object,.embed-responsive video{position:absolute;top:0;bottom:0;left:0;width:100%;height:100%;border:0}.embed-responsive-21by9::before{padding-top:42.857143%}.embed-responsive-16by9::before{padding-top:56.25%}.embed-responsive-4by3::before{padding-top:75%}.embed-responsive-1by1::before{padding-top:100%}.flex-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-center{-ms-flex-align:center!important;align-items:center!important}.align-items-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}@media (min-width:576px){.flex-sm-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-sm-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-sm-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-sm-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-sm-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-sm-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-sm-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-sm-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-sm-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-sm-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-sm-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-sm-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-sm-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-sm-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-sm-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-sm-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-sm-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-sm-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-sm-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-sm-center{-ms-flex-align:center!important;align-items:center!important}.align-items-sm-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-sm-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-sm-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-sm-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-sm-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-sm-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-sm-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-sm-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-sm-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-sm-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-sm-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-sm-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-sm-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-sm-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}@media (min-width:768px){.flex-md-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-md-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-md-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-md-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-md-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-md-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-md-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-md-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-md-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-md-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-md-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-md-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-md-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-md-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-md-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-md-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-md-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-md-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-md-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-md-center{-ms-flex-align:center!important;align-items:center!important}.align-items-md-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-md-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-md-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-md-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-md-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-md-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-md-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-md-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-md-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-md-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-md-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-md-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-md-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-md-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}@media (min-width:992px){.flex-lg-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-lg-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-lg-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-lg-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-lg-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-lg-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-lg-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-lg-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-lg-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-lg-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-lg-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-lg-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-lg-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-lg-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-lg-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-lg-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-lg-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-lg-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-lg-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-lg-center{-ms-flex-align:center!important;align-items:center!important}.align-items-lg-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-lg-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-lg-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-lg-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-lg-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-lg-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-lg-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-lg-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-lg-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-lg-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-lg-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-lg-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-lg-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-lg-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}@media (min-width:1200px){.flex-xl-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-xl-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-xl-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-xl-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-xl-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-xl-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-xl-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-xl-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-xl-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-xl-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-xl-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-xl-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-xl-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-xl-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-xl-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-xl-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-xl-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-xl-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-xl-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-xl-center{-ms-flex-align:center!important;align-items:center!important}.align-items-xl-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-xl-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-xl-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-xl-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-xl-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-xl-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-xl-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-xl-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-xl-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-xl-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-xl-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-xl-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-xl-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-xl-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}.float-left{float:left!important}.float-right{float:right!important}.float-none{float:none!important}@media (min-width:576px){.float-sm-left{float:left!important}.float-sm-right{float:right!important}.float-sm-none{float:none!important}}@media (min-width:768px){.float-md-left{float:left!important}.float-md-right{float:right!important}.float-md-none{float:none!important}}@media (min-width:992px){.float-lg-left{float:left!important}.float-lg-right{float:right!important}.float-lg-none{float:none!important}}@media (min-width:1200px){.float-xl-left{float:left!important}.float-xl-right{float:right!important}.float-xl-none{float:none!important}}.overflow-auto{overflow:auto!important}.overflow-hidden{overflow:hidden!important}.position-static{position:static!important}.position-relative{position:relative!important}.position-absolute{position:absolute!important}.position-fixed{position:fixed!important}.position-sticky{position:-webkit-sticky!important;position:sticky!important}.fixed-top{position:fixed;top:0;right:0;left:0;z-index:1030}.fixed-bottom{position:fixed;right:0;bottom:0;left:0;z-index:1030}@supports ((position:-webkit-sticky) or (position:sticky)){.sticky-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;overflow:visible;clip:auto;white-space:normal}.shadow-sm{box-shadow:0 .125rem .25rem rgba(0,0,0,.075)!important}.shadow{box-shadow:0 .5rem 1rem rgba(0,0,0,.15)!important}.shadow-lg{box-shadow:0 1rem 3rem rgba(0,0,0,.175)!important}.shadow-none{box-shadow:none!important}.w-25{width:25%!important}.w-50{width:50%!important}.w-75{width:75%!important}.w-100{width:100%!important}.w-auto{width:auto!important}.h-25{height:25%!important}.h-50{height:50%!important}.h-75{height:75%!important}.h-100{height:100%!important}.h-auto{height:auto!important}.mw-100{max-width:100%!important}.mh-100{max-height:100%!important}.min-vw-100{min-width:100vw!important}.min-vh-100{min-height:100vh!important}.vw-100{width:100vw!important}.vh-100{height:100vh!important}.stretched-link::after{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:auto;content:"";background-color:rgba(0,0,0,0)}.m-0{margin:0!important}.mt-0,.my-0{margin-top:0!important}.mr-0,.mx-0{margin-right:0!important}.mb-0,.my-0{margin-bottom:0!important}.ml-0,.mx-0{margin-left:0!important}.m-1{margin:.25rem!important}.mt-1,.my-1{margin-top:.25rem!important}.mr-1,.mx-1{margin-right:.25rem!important}.mb-1,.my-1{margin-bottom:.25rem!important}.ml-1,.mx-1{margin-left:.25rem!important}.m-2{margin:.5rem!important}.mt-2,.my-2{margin-top:.5rem!important}.mr-2,.mx-2{margin-right:.5rem!important}.mb-2,.my-2{margin-bottom:.5rem!important}.ml-2,.mx-2{margin-left:.5rem!important}.m-3{margin:1rem!important}.mt-3,.my-3{margin-top:1rem!important}.mr-3,.mx-3{margin-right:1rem!important}.mb-3,.my-3{margin-bottom:1rem!important}.ml-3,.mx-3{margin-left:1rem!important}.m-4{margin:1.5rem!important}.mt-4,.my-4{margin-top:1.5rem!important}.mr-4,.mx-4{margin-right:1.5rem!important}.mb-4,.my-4{margin-bottom:1.5rem!important}.ml-4,.mx-4{margin-left:1.5rem!important}.m-5{margin:3rem!important}.mt-5,.my-5{margin-top:3rem!important}.mr-5,.mx-5{margin-right:3rem!important}.mb-5,.my-5{margin-bottom:3rem!important}.ml-5,.mx-5{margin-left:3rem!important}.p-0{padding:0!important}.pt-0,.py-0{padding-top:0!important}.pr-0,.px-0{padding-right:0!important}.pb-0,.py-0{padding-bottom:0!important}.pl-0,.px-0{padding-left:0!important}.p-1{padding:.25rem!important}.pt-1,.py-1{padding-top:.25rem!important}.pr-1,.px-1{padding-right:.25rem!important}.pb-1,.py-1{padding-bottom:.25rem!important}.pl-1,.px-1{padding-left:.25rem!important}.p-2{padding:.5rem!important}.pt-2,.py-2{padding-top:.5rem!important}.pr-2,.px-2{padding-right:.5rem!important}.pb-2,.py-2{padding-bottom:.5rem!important}.pl-2,.px-2{padding-left:.5rem!important}.p-3{padding:1rem!important}.pt-3,.py-3{padding-top:1rem!important}.pr-3,.px-3{padding-right:1rem!important}.pb-3,.py-3{padding-bottom:1rem!important}.pl-3,.px-3{padding-left:1rem!important}.p-4{padding:1.5rem!important}.pt-4,.py-4{padding-top:1.5rem!important}.pr-4,.px-4{padding-right:1.5rem!important}.pb-4,.py-4{padding-bottom:1.5rem!important}.pl-4,.px-4{padding-left:1.5rem!important}.p-5{padding:3rem!important}.pt-5,.py-5{padding-top:3rem!important}.pr-5,.px-5{padding-right:3rem!important}.pb-5,.py-5{padding-bottom:3rem!important}.pl-5,.px-5{padding-left:3rem!important}.m-n1{margin:-.25rem!important}.mt-n1,.my-n1{margin-top:-.25rem!important}.mr-n1,.mx-n1{margin-right:-.25rem!important}.mb-n1,.my-n1{margin-bottom:-.25rem!important}.ml-n1,.mx-n1{margin-left:-.25rem!important}.m-n2{margin:-.5rem!important}.mt-n2,.my-n2{margin-top:-.5rem!important}.mr-n2,.mx-n2{margin-right:-.5rem!important}.mb-n2,.my-n2{margin-bottom:-.5rem!important}.ml-n2,.mx-n2{margin-left:-.5rem!important}.m-n3{margin:-1rem!important}.mt-n3,.my-n3{margin-top:-1rem!important}.mr-n3,.mx-n3{margin-right:-1rem!important}.mb-n3,.my-n3{margin-bottom:-1rem!important}.ml-n3,.mx-n3{margin-left:-1rem!important}.m-n4{margin:-1.5rem!important}.mt-n4,.my-n4{margin-top:-1.5rem!important}.mr-n4,.mx-n4{margin-right:-1.5rem!important}.mb-n4,.my-n4{margin-bottom:-1.5rem!important}.ml-n4,.mx-n4{margin-left:-1.5rem!important}.m-n5{margin:-3rem!important}.mt-n5,.my-n5{margin-top:-3rem!important}.mr-n5,.mx-n5{margin-right:-3rem!important}.mb-n5,.my-n5{margin-bottom:-3rem!important}.ml-n5,.mx-n5{margin-left:-3rem!important}.m-auto{margin:auto!important}.mt-auto,.my-auto{margin-top:auto!important}.mr-auto,.mx-auto{margin-right:auto!important}.mb-auto,.my-auto{margin-bottom:auto!important}.ml-auto,.mx-auto{margin-left:auto!important}@media (min-width:576px){.m-sm-0{margin:0!important}.mt-sm-0,.my-sm-0{margin-top:0!important}.mr-sm-0,.mx-sm-0{margin-right:0!important}.mb-sm-0,.my-sm-0{margin-bottom:0!important}.ml-sm-0,.mx-sm-0{margin-left:0!important}.m-sm-1{margin:.25rem!important}.mt-sm-1,.my-sm-1{margin-top:.25rem!important}.mr-sm-1,.mx-sm-1{margin-right:.25rem!important}.mb-sm-1,.my-sm-1{margin-bottom:.25rem!important}.ml-sm-1,.mx-sm-1{margin-left:.25rem!important}.m-sm-2{margin:.5rem!important}.mt-sm-2,.my-sm-2{margin-top:.5rem!important}.mr-sm-2,.mx-sm-2{margin-right:.5rem!important}.mb-sm-2,.my-sm-2{margin-bottom:.5rem!important}.ml-sm-2,.mx-sm-2{margin-left:.5rem!important}.m-sm-3{margin:1rem!important}.mt-sm-3,.my-sm-3{margin-top:1rem!important}.mr-sm-3,.mx-sm-3{margin-right:1rem!important}.mb-sm-3,.my-sm-3{margin-bottom:1rem!important}.ml-sm-3,.mx-sm-3{margin-left:1rem!important}.m-sm-4{margin:1.5rem!important}.mt-sm-4,.my-sm-4{margin-top:1.5rem!important}.mr-sm-4,.mx-sm-4{margin-right:1.5rem!important}.mb-sm-4,.my-sm-4{margin-bottom:1.5rem!important}.ml-sm-4,.mx-sm-4{margin-left:1.5rem!important}.m-sm-5{margin:3rem!important}.mt-sm-5,.my-sm-5{margin-top:3rem!important}.mr-sm-5,.mx-sm-5{margin-right:3rem!important}.mb-sm-5,.my-sm-5{margin-bottom:3rem!important}.ml-sm-5,.mx-sm-5{margin-left:3rem!important}.p-sm-0{padding:0!important}.pt-sm-0,.py-sm-0{padding-top:0!important}.pr-sm-0,.px-sm-0{padding-right:0!important}.pb-sm-0,.py-sm-0{padding-bottom:0!important}.pl-sm-0,.px-sm-0{padding-left:0!important}.p-sm-1{padding:.25rem!important}.pt-sm-1,.py-sm-1{padding-top:.25rem!important}.pr-sm-1,.px-sm-1{padding-right:.25rem!important}.pb-sm-1,.py-sm-1{padding-bottom:.25rem!important}.pl-sm-1,.px-sm-1{padding-left:.25rem!important}.p-sm-2{padding:.5rem!important}.pt-sm-2,.py-sm-2{padding-top:.5rem!important}.pr-sm-2,.px-sm-2{padding-right:.5rem!important}.pb-sm-2,.py-sm-2{padding-bottom:.5rem!important}.pl-sm-2,.px-sm-2{padding-left:.5rem!important}.p-sm-3{padding:1rem!important}.pt-sm-3,.py-sm-3{padding-top:1rem!important}.pr-sm-3,.px-sm-3{padding-right:1rem!important}.pb-sm-3,.py-sm-3{padding-bottom:1rem!important}.pl-sm-3,.px-sm-3{padding-left:1rem!important}.p-sm-4{padding:1.5rem!important}.pt-sm-4,.py-sm-4{padding-top:1.5rem!important}.pr-sm-4,.px-sm-4{padding-right:1.5rem!important}.pb-sm-4,.py-sm-4{padding-bottom:1.5rem!important}.pl-sm-4,.px-sm-4{padding-left:1.5rem!important}.p-sm-5{padding:3rem!important}.pt-sm-5,.py-sm-5{padding-top:3rem!important}.pr-sm-5,.px-sm-5{padding-right:3rem!important}.pb-sm-5,.py-sm-5{padding-bottom:3rem!important}.pl-sm-5,.px-sm-5{padding-left:3rem!important}.m-sm-n1{margin:-.25rem!important}.mt-sm-n1,.my-sm-n1{margin-top:-.25rem!important}.mr-sm-n1,.mx-sm-n1{margin-right:-.25rem!important}.mb-sm-n1,.my-sm-n1{margin-bottom:-.25rem!important}.ml-sm-n1,.mx-sm-n1{margin-left:-.25rem!important}.m-sm-n2{margin:-.5rem!important}.mt-sm-n2,.my-sm-n2{margin-top:-.5rem!important}.mr-sm-n2,.mx-sm-n2{margin-right:-.5rem!important}.mb-sm-n2,.my-sm-n2{margin-bottom:-.5rem!important}.ml-sm-n2,.mx-sm-n2{margin-left:-.5rem!important}.m-sm-n3{margin:-1rem!important}.mt-sm-n3,.my-sm-n3{margin-top:-1rem!important}.mr-sm-n3,.mx-sm-n3{margin-right:-1rem!important}.mb-sm-n3,.my-sm-n3{margin-bottom:-1rem!important}.ml-sm-n3,.mx-sm-n3{margin-left:-1rem!important}.m-sm-n4{margin:-1.5rem!important}.mt-sm-n4,.my-sm-n4{margin-top:-1.5rem!important}.mr-sm-n4,.mx-sm-n4{margin-right:-1.5rem!important}.mb-sm-n4,.my-sm-n4{margin-bottom:-1.5rem!important}.ml-sm-n4,.mx-sm-n4{margin-left:-1.5rem!important}.m-sm-n5{margin:-3rem!important}.mt-sm-n5,.my-sm-n5{margin-top:-3rem!important}.mr-sm-n5,.mx-sm-n5{margin-right:-3rem!important}.mb-sm-n5,.my-sm-n5{margin-bottom:-3rem!important}.ml-sm-n5,.mx-sm-n5{margin-left:-3rem!important}.m-sm-auto{margin:auto!important}.mt-sm-auto,.my-sm-auto{margin-top:auto!important}.mr-sm-auto,.mx-sm-auto{margin-right:auto!important}.mb-sm-auto,.my-sm-auto{margin-bottom:auto!important}.ml-sm-auto,.mx-sm-auto{margin-left:auto!important}}@media (min-width:768px){.m-md-0{margin:0!important}.mt-md-0,.my-md-0{margin-top:0!important}.mr-md-0,.mx-md-0{margin-right:0!important}.mb-md-0,.my-md-0{margin-bottom:0!important}.ml-md-0,.mx-md-0{margin-left:0!important}.m-md-1{margin:.25rem!important}.mt-md-1,.my-md-1{margin-top:.25rem!important}.mr-md-1,.mx-md-1{margin-right:.25rem!important}.mb-md-1,.my-md-1{margin-bottom:.25rem!important}.ml-md-1,.mx-md-1{margin-left:.25rem!important}.m-md-2{margin:.5rem!important}.mt-md-2,.my-md-2{margin-top:.5rem!important}.mr-md-2,.mx-md-2{margin-right:.5rem!important}.mb-md-2,.my-md-2{margin-bottom:.5rem!important}.ml-md-2,.mx-md-2{margin-left:.5rem!important}.m-md-3{margin:1rem!important}.mt-md-3,.my-md-3{margin-top:1rem!important}.mr-md-3,.mx-md-3{margin-right:1rem!important}.mb-md-3,.my-md-3{margin-bottom:1rem!important}.ml-md-3,.mx-md-3{margin-left:1rem!important}.m-md-4{margin:1.5rem!important}.mt-md-4,.my-md-4{margin-top:1.5rem!important}.mr-md-4,.mx-md-4{margin-right:1.5rem!important}.mb-md-4,.my-md-4{margin-bottom:1.5rem!important}.ml-md-4,.mx-md-4{margin-left:1.5rem!important}.m-md-5{margin:3rem!important}.mt-md-5,.my-md-5{margin-top:3rem!important}.mr-md-5,.mx-md-5{margin-right:3rem!important}.mb-md-5,.my-md-5{margin-bottom:3rem!important}.ml-md-5,.mx-md-5{margin-left:3rem!important}.p-md-0{padding:0!important}.pt-md-0,.py-md-0{padding-top:0!important}.pr-md-0,.px-md-0{padding-right:0!important}.pb-md-0,.py-md-0{padding-bottom:0!important}.pl-md-0,.px-md-0{padding-left:0!important}.p-md-1{padding:.25rem!important}.pt-md-1,.py-md-1{padding-top:.25rem!important}.pr-md-1,.px-md-1{padding-right:.25rem!important}.pb-md-1,.py-md-1{padding-bottom:.25rem!important}.pl-md-1,.px-md-1{padding-left:.25rem!important}.p-md-2{padding:.5rem!important}.pt-md-2,.py-md-2{padding-top:.5rem!important}.pr-md-2,.px-md-2{padding-right:.5rem!important}.pb-md-2,.py-md-2{padding-bottom:.5rem!important}.pl-md-2,.px-md-2{padding-left:.5rem!important}.p-md-3{padding:1rem!important}.pt-md-3,.py-md-3{padding-top:1rem!important}.pr-md-3,.px-md-3{padding-right:1rem!important}.pb-md-3,.py-md-3{padding-bottom:1rem!important}.pl-md-3,.px-md-3{padding-left:1rem!important}.p-md-4{padding:1.5rem!important}.pt-md-4,.py-md-4{padding-top:1.5rem!important}.pr-md-4,.px-md-4{padding-right:1.5rem!important}.pb-md-4,.py-md-4{padding-bottom:1.5rem!important}.pl-md-4,.px-md-4{padding-left:1.5rem!important}.p-md-5{padding:3rem!important}.pt-md-5,.py-md-5{padding-top:3rem!important}.pr-md-5,.px-md-5{padding-right:3rem!important}.pb-md-5,.py-md-5{padding-bottom:3rem!important}.pl-md-5,.px-md-5{padding-left:3rem!important}.m-md-n1{margin:-.25rem!important}.mt-md-n1,.my-md-n1{margin-top:-.25rem!important}.mr-md-n1,.mx-md-n1{margin-right:-.25rem!important}.mb-md-n1,.my-md-n1{margin-bottom:-.25rem!important}.ml-md-n1,.mx-md-n1{margin-left:-.25rem!important}.m-md-n2{margin:-.5rem!important}.mt-md-n2,.my-md-n2{margin-top:-.5rem!important}.mr-md-n2,.mx-md-n2{margin-right:-.5rem!important}.mb-md-n2,.my-md-n2{margin-bottom:-.5rem!important}.ml-md-n2,.mx-md-n2{margin-left:-.5rem!important}.m-md-n3{margin:-1rem!important}.mt-md-n3,.my-md-n3{margin-top:-1rem!important}.mr-md-n3,.mx-md-n3{margin-right:-1rem!important}.mb-md-n3,.my-md-n3{margin-bottom:-1rem!important}.ml-md-n3,.mx-md-n3{margin-left:-1rem!important}.m-md-n4{margin:-1.5rem!important}.mt-md-n4,.my-md-n4{margin-top:-1.5rem!important}.mr-md-n4,.mx-md-n4{margin-right:-1.5rem!important}.mb-md-n4,.my-md-n4{margin-bottom:-1.5rem!important}.ml-md-n4,.mx-md-n4{margin-left:-1.5rem!important}.m-md-n5{margin:-3rem!important}.mt-md-n5,.my-md-n5{margin-top:-3rem!important}.mr-md-n5,.mx-md-n5{margin-right:-3rem!important}.mb-md-n5,.my-md-n5{margin-bottom:-3rem!important}.ml-md-n5,.mx-md-n5{margin-left:-3rem!important}.m-md-auto{margin:auto!important}.mt-md-auto,.my-md-auto{margin-top:auto!important}.mr-md-auto,.mx-md-auto{margin-right:auto!important}.mb-md-auto,.my-md-auto{margin-bottom:auto!important}.ml-md-auto,.mx-md-auto{margin-left:auto!important}}@media (min-width:992px){.m-lg-0{margin:0!important}.mt-lg-0,.my-lg-0{margin-top:0!important}.mr-lg-0,.mx-lg-0{margin-right:0!important}.mb-lg-0,.my-lg-0{margin-bottom:0!important}.ml-lg-0,.mx-lg-0{margin-left:0!important}.m-lg-1{margin:.25rem!important}.mt-lg-1,.my-lg-1{margin-top:.25rem!important}.mr-lg-1,.mx-lg-1{margin-right:.25rem!important}.mb-lg-1,.my-lg-1{margin-bottom:.25rem!important}.ml-lg-1,.mx-lg-1{margin-left:.25rem!important}.m-lg-2{margin:.5rem!important}.mt-lg-2,.my-lg-2{margin-top:.5rem!important}.mr-lg-2,.mx-lg-2{margin-right:.5rem!important}.mb-lg-2,.my-lg-2{margin-bottom:.5rem!important}.ml-lg-2,.mx-lg-2{margin-left:.5rem!important}.m-lg-3{margin:1rem!important}.mt-lg-3,.my-lg-3{margin-top:1rem!important}.mr-lg-3,.mx-lg-3{margin-right:1rem!important}.mb-lg-3,.my-lg-3{margin-bottom:1rem!important}.ml-lg-3,.mx-lg-3{margin-left:1rem!important}.m-lg-4{margin:1.5rem!important}.mt-lg-4,.my-lg-4{margin-top:1.5rem!important}.mr-lg-4,.mx-lg-4{margin-right:1.5rem!important}.mb-lg-4,.my-lg-4{margin-bottom:1.5rem!important}.ml-lg-4,.mx-lg-4{margin-left:1.5rem!important}.m-lg-5{margin:3rem!important}.mt-lg-5,.my-lg-5{margin-top:3rem!important}.mr-lg-5,.mx-lg-5{margin-right:3rem!important}.mb-lg-5,.my-lg-5{margin-bottom:3rem!important}.ml-lg-5,.mx-lg-5{margin-left:3rem!important}.p-lg-0{padding:0!important}.pt-lg-0,.py-lg-0{padding-top:0!important}.pr-lg-0,.px-lg-0{padding-right:0!important}.pb-lg-0,.py-lg-0{padding-bottom:0!important}.pl-lg-0,.px-lg-0{padding-left:0!important}.p-lg-1{padding:.25rem!important}.pt-lg-1,.py-lg-1{padding-top:.25rem!important}.pr-lg-1,.px-lg-1{padding-right:.25rem!important}.pb-lg-1,.py-lg-1{padding-bottom:.25rem!important}.pl-lg-1,.px-lg-1{padding-left:.25rem!important}.p-lg-2{padding:.5rem!important}.pt-lg-2,.py-lg-2{padding-top:.5rem!important}.pr-lg-2,.px-lg-2{padding-right:.5rem!important}.pb-lg-2,.py-lg-2{padding-bottom:.5rem!important}.pl-lg-2,.px-lg-2{padding-left:.5rem!important}.p-lg-3{padding:1rem!important}.pt-lg-3,.py-lg-3{padding-top:1rem!important}.pr-lg-3,.px-lg-3{padding-right:1rem!important}.pb-lg-3,.py-lg-3{padding-bottom:1rem!important}.pl-lg-3,.px-lg-3{padding-left:1rem!important}.p-lg-4{padding:1.5rem!important}.pt-lg-4,.py-lg-4{padding-top:1.5rem!important}.pr-lg-4,.px-lg-4{padding-right:1.5rem!important}.pb-lg-4,.py-lg-4{padding-bottom:1.5rem!important}.pl-lg-4,.px-lg-4{padding-left:1.5rem!important}.p-lg-5{padding:3rem!important}.pt-lg-5,.py-lg-5{padding-top:3rem!important}.pr-lg-5,.px-lg-5{padding-right:3rem!important}.pb-lg-5,.py-lg-5{padding-bottom:3rem!important}.pl-lg-5,.px-lg-5{padding-left:3rem!important}.m-lg-n1{margin:-.25rem!important}.mt-lg-n1,.my-lg-n1{margin-top:-.25rem!important}.mr-lg-n1,.mx-lg-n1{margin-right:-.25rem!important}.mb-lg-n1,.my-lg-n1{margin-bottom:-.25rem!important}.ml-lg-n1,.mx-lg-n1{margin-left:-.25rem!important}.m-lg-n2{margin:-.5rem!important}.mt-lg-n2,.my-lg-n2{margin-top:-.5rem!important}.mr-lg-n2,.mx-lg-n2{margin-right:-.5rem!important}.mb-lg-n2,.my-lg-n2{margin-bottom:-.5rem!important}.ml-lg-n2,.mx-lg-n2{margin-left:-.5rem!important}.m-lg-n3{margin:-1rem!important}.mt-lg-n3,.my-lg-n3{margin-top:-1rem!important}.mr-lg-n3,.mx-lg-n3{margin-right:-1rem!important}.mb-lg-n3,.my-lg-n3{margin-bottom:-1rem!important}.ml-lg-n3,.mx-lg-n3{margin-left:-1rem!important}.m-lg-n4{margin:-1.5rem!important}.mt-lg-n4,.my-lg-n4{margin-top:-1.5rem!important}.mr-lg-n4,.mx-lg-n4{margin-right:-1.5rem!important}.mb-lg-n4,.my-lg-n4{margin-bottom:-1.5rem!important}.ml-lg-n4,.mx-lg-n4{margin-left:-1.5rem!important}.m-lg-n5{margin:-3rem!important}.mt-lg-n5,.my-lg-n5{margin-top:-3rem!important}.mr-lg-n5,.mx-lg-n5{margin-right:-3rem!important}.mb-lg-n5,.my-lg-n5{margin-bottom:-3rem!important}.ml-lg-n5,.mx-lg-n5{margin-left:-3rem!important}.m-lg-auto{margin:auto!important}.mt-lg-auto,.my-lg-auto{margin-top:auto!important}.mr-lg-auto,.mx-lg-auto{margin-right:auto!important}.mb-lg-auto,.my-lg-auto{margin-bottom:auto!important}.ml-lg-auto,.mx-lg-auto{margin-left:auto!important}}@media (min-width:1200px){.m-xl-0{margin:0!important}.mt-xl-0,.my-xl-0{margin-top:0!important}.mr-xl-0,.mx-xl-0{margin-right:0!important}.mb-xl-0,.my-xl-0{margin-bottom:0!important}.ml-xl-0,.mx-xl-0{margin-left:0!important}.m-xl-1{margin:.25rem!important}.mt-xl-1,.my-xl-1{margin-top:.25rem!important}.mr-xl-1,.mx-xl-1{margin-right:.25rem!important}.mb-xl-1,.my-xl-1{margin-bottom:.25rem!important}.ml-xl-1,.mx-xl-1{margin-left:.25rem!important}.m-xl-2{margin:.5rem!important}.mt-xl-2,.my-xl-2{margin-top:.5rem!important}.mr-xl-2,.mx-xl-2{margin-right:.5rem!important}.mb-xl-2,.my-xl-2{margin-bottom:.5rem!important}.ml-xl-2,.mx-xl-2{margin-left:.5rem!important}.m-xl-3{margin:1rem!important}.mt-xl-3,.my-xl-3{margin-top:1rem!important}.mr-xl-3,.mx-xl-3{margin-right:1rem!important}.mb-xl-3,.my-xl-3{margin-bottom:1rem!important}.ml-xl-3,.mx-xl-3{margin-left:1rem!important}.m-xl-4{margin:1.5rem!important}.mt-xl-4,.my-xl-4{margin-top:1.5rem!important}.mr-xl-4,.mx-xl-4{margin-right:1.5rem!important}.mb-xl-4,.my-xl-4{margin-bottom:1.5rem!important}.ml-xl-4,.mx-xl-4{margin-left:1.5rem!important}.m-xl-5{margin:3rem!important}.mt-xl-5,.my-xl-5{margin-top:3rem!important}.mr-xl-5,.mx-xl-5{margin-right:3rem!important}.mb-xl-5,.my-xl-5{margin-bottom:3rem!important}.ml-xl-5,.mx-xl-5{margin-left:3rem!important}.p-xl-0{padding:0!important}.pt-xl-0,.py-xl-0{padding-top:0!important}.pr-xl-0,.px-xl-0{padding-right:0!important}.pb-xl-0,.py-xl-0{padding-bottom:0!important}.pl-xl-0,.px-xl-0{padding-left:0!important}.p-xl-1{padding:.25rem!important}.pt-xl-1,.py-xl-1{padding-top:.25rem!important}.pr-xl-1,.px-xl-1{padding-right:.25rem!important}.pb-xl-1,.py-xl-1{padding-bottom:.25rem!important}.pl-xl-1,.px-xl-1{padding-left:.25rem!important}.p-xl-2{padding:.5rem!important}.pt-xl-2,.py-xl-2{padding-top:.5rem!important}.pr-xl-2,.px-xl-2{padding-right:.5rem!important}.pb-xl-2,.py-xl-2{padding-bottom:.5rem!important}.pl-xl-2,.px-xl-2{padding-left:.5rem!important}.p-xl-3{padding:1rem!important}.pt-xl-3,.py-xl-3{padding-top:1rem!important}.pr-xl-3,.px-xl-3{padding-right:1rem!important}.pb-xl-3,.py-xl-3{padding-bottom:1rem!important}.pl-xl-3,.px-xl-3{padding-left:1rem!important}.p-xl-4{padding:1.5rem!important}.pt-xl-4,.py-xl-4{padding-top:1.5rem!important}.pr-xl-4,.px-xl-4{padding-right:1.5rem!important}.pb-xl-4,.py-xl-4{padding-bottom:1.5rem!important}.pl-xl-4,.px-xl-4{padding-left:1.5rem!important}.p-xl-5{padding:3rem!important}.pt-xl-5,.py-xl-5{padding-top:3rem!important}.pr-xl-5,.px-xl-5{padding-right:3rem!important}.pb-xl-5,.py-xl-5{padding-bottom:3rem!important}.pl-xl-5,.px-xl-5{padding-left:3rem!important}.m-xl-n1{margin:-.25rem!important}.mt-xl-n1,.my-xl-n1{margin-top:-.25rem!important}.mr-xl-n1,.mx-xl-n1{margin-right:-.25rem!important}.mb-xl-n1,.my-xl-n1{margin-bottom:-.25rem!important}.ml-xl-n1,.mx-xl-n1{margin-left:-.25rem!important}.m-xl-n2{margin:-.5rem!important}.mt-xl-n2,.my-xl-n2{margin-top:-.5rem!important}.mr-xl-n2,.mx-xl-n2{margin-right:-.5rem!important}.mb-xl-n2,.my-xl-n2{margin-bottom:-.5rem!important}.ml-xl-n2,.mx-xl-n2{margin-left:-.5rem!important}.m-xl-n3{margin:-1rem!important}.mt-xl-n3,.my-xl-n3{margin-top:-1rem!important}.mr-xl-n3,.mx-xl-n3{margin-right:-1rem!important}.mb-xl-n3,.my-xl-n3{margin-bottom:-1rem!important}.ml-xl-n3,.mx-xl-n3{margin-left:-1rem!important}.m-xl-n4{margin:-1.5rem!important}.mt-xl-n4,.my-xl-n4{margin-top:-1.5rem!important}.mr-xl-n4,.mx-xl-n4{margin-right:-1.5rem!important}.mb-xl-n4,.my-xl-n4{margin-bottom:-1.5rem!important}.ml-xl-n4,.mx-xl-n4{margin-left:-1.5rem!important}.m-xl-n5{margin:-3rem!important}.mt-xl-n5,.my-xl-n5{margin-top:-3rem!important}.mr-xl-n5,.mx-xl-n5{margin-right:-3rem!important}.mb-xl-n5,.my-xl-n5{margin-bottom:-3rem!important}.ml-xl-n5,.mx-xl-n5{margin-left:-3rem!important}.m-xl-auto{margin:auto!important}.mt-xl-auto,.my-xl-auto{margin-top:auto!important}.mr-xl-auto,.mx-xl-auto{margin-right:auto!important}.mb-xl-auto,.my-xl-auto{margin-bottom:auto!important}.ml-xl-auto,.mx-xl-auto{margin-left:auto!important}}.text-monospace{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace!important}.text-justify{text-align:justify!important}.text-wrap{white-space:normal!important}.text-nowrap{white-space:nowrap!important}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-left{text-align:left!important}.text-right{text-align:right!important}.text-center{text-align:center!important}@media (min-width:576px){.text-sm-left{text-align:left!important}.text-sm-right{text-align:right!important}.text-sm-center{text-align:center!important}}@media (min-width:768px){.text-md-left{text-align:left!important}.text-md-right{text-align:right!important}.text-md-center{text-align:center!important}}@media (min-width:992px){.text-lg-left{text-align:left!important}.text-lg-right{text-align:right!important}.text-lg-center{text-align:center!important}}@media (min-width:1200px){.text-xl-left{text-align:left!important}.text-xl-right{text-align:right!important}.text-xl-center{text-align:center!important}}.text-lowercase{text-transform:lowercase!important}.text-uppercase{text-transform:uppercase!important}.text-capitalize{text-transform:capitalize!important}.font-weight-light{font-weight:300!important}.font-weight-lighter{font-weight:lighter!important}.font-weight-normal{font-weight:400!important}.font-weight-bold{font-weight:700!important}.font-weight-bolder{font-weight:bolder!important}.font-italic{font-style:italic!important}.text-white{color:#fff!important}.text-primary{color:#007bff!important}a.text-primary:focus,a.text-primary:hover{color:#0056b3!important}.text-secondary{color:#6c757d!important}a.text-secondary:focus,a.text-secondary:hover{color:#494f54!important}.text-success{color:#28a745!important}a.text-success:focus,a.text-success:hover{color:#19692c!important}.text-info{color:#17a2b8!important}a.text-info:focus,a.text-info:hover{color:#0f6674!important}.text-warning{color:#ffc107!important}a.text-warning:focus,a.text-warning:hover{color:#ba8b00!important}.text-danger{color:#dc3545!important}a.text-danger:focus,a.text-danger:hover{color:#a71d2a!important}.text-light{color:#f8f9fa!important}a.text-light:focus,a.text-light:hover{color:#cbd3da!important}.text-dark{color:#343a40!important}a.text-dark:focus,a.text-dark:hover{color:#121416!important}.text-body{color:#212529!important}.text-muted{color:#6c757d!important}.text-black-50{color:rgba(0,0,0,.5)!important}.text-white-50{color:rgba(255,255,255,.5)!important}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.text-decoration-none{text-decoration:none!important}.text-break{word-break:break-word!important;overflow-wrap:break-word!important}.text-reset{color:inherit!important}.visible{visibility:visible!important}.invisible{visibility:hidden!important}@media print{*,::after,::before{text-shadow:none!important;box-shadow:none!important}a:not(.btn){text-decoration:underline}abbr[title]::after{content:" (" attr(title) ")"}pre{white-space:pre-wrap!important}blockquote,pre{border:1px solid #adb5bd;page-break-inside:avoid}thead{display:table-header-group}img,tr{page-break-inside:avoid}h2,h3,p{orphans:3;widows:3}h2,h3{page-break-after:avoid}@page{size:a3}body{min-width:992px!important}.container{min-width:992px!important}.navbar{display:none}.badge{border:1px solid #000}.table{border-collapse:collapse!important}.table td,.table th{background-color:#fff!important}.table-bordered td,.table-bordered th{border:1px solid #dee2e6!important}.table-dark{color:inherit}.table-dark tbody+tbody,.table-dark td,.table-dark th,.table-dark thead th{border-color:#dee2e6}.table .thead-dark th{color:inherit;border-color:#dee2e6}} -/*# sourceMappingURL=bootstrap.min.css.map */ \ No newline at end of file diff --git a/ph3-beta-to-ui3.0-conv/ui3template/assets/css/brands.min.css b/ph3-beta-to-ui3.0-conv/ui3template/assets/css/brands.min.css deleted file mode 100644 index c8942c22..00000000 --- a/ph3-beta-to-ui3.0-conv/ui3template/assets/css/brands.min.css +++ /dev/null @@ -1,5 +0,0 @@ -/*! - * Font Awesome Free 5.13.0 by @fontawesome - https://fontawesome.com - * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) - */ -@font-face{font-family:"Font Awesome 5 Brands";font-style:normal;font-weight:400;font-display:block;src:url(../webfonts/fa-brands-400.eot);src:url(../webfonts/fa-brands-400.eot?#iefix) format("embedded-opentype"),url(../webfonts/fa-brands-400.woff2) format("woff2"),url(../webfonts/fa-brands-400.woff) format("woff"),url(../webfonts/fa-brands-400.ttf) format("truetype"),url(../webfonts/fa-brands-400.svg#fontawesome) format("svg")}.fab{font-family:"Font Awesome 5 Brands";font-weight:400} \ No newline at end of file diff --git a/ph3-beta-to-ui3.0-conv/ui3template/assets/css/custom-style.css b/ph3-beta-to-ui3.0-conv/ui3template/assets/css/custom-style.css deleted file mode 100755 index 8e929c49..00000000 --- a/ph3-beta-to-ui3.0-conv/ui3template/assets/css/custom-style.css +++ /dev/null @@ -1,17 +0,0 @@ -.row-content -{ - margin-top: 3%; -} - -.p-footer -{ - font-size: 16px; - text-align: center; -} - -.a-menu -{ - color: #036593; -} - - diff --git a/ph3-beta-to-ui3.0-conv/ui3template/assets/css/custom.css b/ph3-beta-to-ui3.0-conv/ui3template/assets/css/custom.css deleted file mode 100755 index d546f2c0..00000000 --- a/ph3-beta-to-ui3.0-conv/ui3template/assets/css/custom.css +++ /dev/null @@ -1,8 +0,0 @@ -/* -------------------------------------- - -1. Custom CSS ---------------------------------------------------------*/ -/** ************************************* ** - DO NOT CHANGE ANYTHING HERE! - REWRITE IN A CUSTOM CSS FILE IF REQUIRED! - ** ************************************* **/ \ No newline at end of file diff --git a/ph3-beta-to-ui3.0-conv/ui3template/assets/css/essential.css b/ph3-beta-to-ui3.0-conv/ui3template/assets/css/essential.css deleted file mode 100755 index d7ad0727..00000000 --- a/ph3-beta-to-ui3.0-conv/ui3template/assets/css/essential.css +++ /dev/null @@ -1,13 +0,0 @@ -/* -------------------------------------- - -1. Essentials ---------------------------------------------------------*/ -/** ************************************* ** - DO NOT CHANGE ANYTHING HERE! - REWRITE IN A CUSTOM CSS FILE IF REQUIRED! - ** ************************************* **/ - -/** 1. Essentials -*************************************************** **/ -@import url(responsive_break_points.css); -.f-s-200{font-size:200px!important}.f-s-199{font-size:199px!important}.f-s-198{font-size:198px!important}.f-s-197{font-size:197px!important}.f-s-196{font-size:196px!important}.f-s-195{font-size:195px!important}.f-s-194{font-size:194px!important}.f-s-193{font-size:193px!important}.f-s-192{font-size:192px!important}.f-s-191{font-size:191px!important}.f-s-190{font-size:190px!important}.f-s-189{font-size:189px!important}.f-s-188{font-size:188px!important}.f-s-187{font-size:187px!important}.f-s-186{font-size:186px!important}.f-s-185{font-size:185px!important}.f-s-184{font-size:184px!important}.f-s-183{font-size:183px!important}.f-s-182{font-size:182px!important}.f-s-181{font-size:181px!important}.f-s-180{font-size:180px!important}.f-s-179{font-size:179px!important}.f-s-178{font-size:178px!important}.f-s-177{font-size:177px!important}.f-s-176{font-size:176px!important}.f-s-175{font-size:175px!important}.f-s-174{font-size:174px!important}.f-s-173{font-size:173px!important}.f-s-172{font-size:172px!important}.f-s-171{font-size:171px!important}.f-s-170{font-size:170px!important}.f-s-169{font-size:169px!important}.f-s-168{font-size:168px!important}.f-s-167{font-size:167px!important}.f-s-166{font-size:166px!important}.f-s-165{font-size:165px!important}.f-s-164{font-size:164px!important}.f-s-163{font-size:163px!important}.f-s-162{font-size:162px!important}.f-s-161{font-size:161px!important}.f-s-160{font-size:160px!important}.f-s-159{font-size:159px!important}.f-s-158{font-size:158px!important}.f-s-157{font-size:157px!important}.f-s-156{font-size:156px!important}.f-s-155{font-size:155px!important}.f-s-154{font-size:154px!important}.f-s-153{font-size:153px!important}.f-s-152{font-size:152px!important}.f-s-151{font-size:151px!important}.f-s-150{font-size:150px!important}.f-s-149{font-size:149px!important}.f-s-148{font-size:148px!important}.f-s-147{font-size:147px!important}.f-s-146{font-size:146px!important}.f-s-145{font-size:145px!important}.f-s-144{font-size:144px!important}.f-s-143{font-size:143px!important}.f-s-142{font-size:142px!important}.f-s-141{font-size:141px!important}.f-s-140{font-size:140px!important}.f-s-139{font-size:139px!important}.f-s-138{font-size:138px!important}.f-s-137{font-size:137px!important}.f-s-136{font-size:136px!important}.f-s-135{font-size:135px!important}.f-s-134{font-size:134px!important}.f-s-133{font-size:133px!important}.f-s-132{font-size:132px!important}.f-s-131{font-size:131px!important}.f-s-130{font-size:130px!important}.f-s-129{font-size:129px!important}.f-s-128{font-size:128px!important}.f-s-127{font-size:127px!important}.f-s-126{font-size:126px!important}.f-s-125{font-size:125px!important}.f-s-124{font-size:124px!important}.f-s-123{font-size:123px!important}.f-s-122{font-size:122px!important}.f-s-121{font-size:121px!important}.f-s-120{font-size:120px!important}.f-s-119{font-size:119px!important}.f-s-118{font-size:118px!important}.f-s-117{font-size:117px!important}.f-s-116{font-size:116px!important}.f-s-115{font-size:115px!important}.f-s-114{font-size:114px!important}.f-s-113{font-size:113px!important}.f-s-112{font-size:112px!important}.f-s-111{font-size:111px!important}.f-s-110{font-size:110px!important}.f-s-109{font-size:109px!important}.f-s-108{font-size:108px!important}.f-s-107{font-size:107px!important}.f-s-106{font-size:106px!important}.f-s-105{font-size:105px!important}.f-s-104{font-size:104px!important}.f-s-103{font-size:103px!important}.f-s-102{font-size:102px!important}.f-s-101{font-size:101px!important}.f-s-100{font-size:100px!important}.f-s-99{font-size:99px!important}.f-s-98{font-size:98px!important}.f-s-97{font-size:97px!important}.f-s-96{font-size:96px!important}.f-s-95{font-size:95px!important}.f-s-94{font-size:94px!important}.f-s-93{font-size:93px!important}.f-s-92{font-size:92px!important}.f-s-91{font-size:91px!important}.f-s-90{font-size:90px!important}.f-s-89{font-size:89px!important}.f-s-88{font-size:88px!important}.f-s-87{font-size:87px!important}.f-s-86{font-size:86px!important}.f-s-85{font-size:85px!important}.f-s-84{font-size:84px!important}.f-s-83{font-size:83px!important}.f-s-82{font-size:82px!important}.f-s-81{font-size:81px!important}.f-s-80{font-size:80px!important}.f-s-79{font-size:79px!important}.f-s-78{font-size:78px!important}.f-s-77{font-size:77px!important}.f-s-76{font-size:76px!important}.f-s-75{font-size:75px!important}.f-s-74{font-size:74px!important}.f-s-73{font-size:73px!important}.f-s-72{font-size:72px!important}.f-s-71{font-size:71px!important}.f-s-70{font-size:70px!important}.f-s-69{font-size:69px!important}.f-s-68{font-size:68px!important}.f-s-67{font-size:67px!important}.f-s-66{font-size:66px!important}.f-s-65{font-size:65px!important}.f-s-64{font-size:64px!important}.f-s-63{font-size:63px!important}.f-s-62{font-size:62px!important}.f-s-61{font-size:61px!important}.f-s-60{font-size:60px!important}.f-s-59{font-size:59px!important}.f-s-58{font-size:58px!important}.f-s-57{font-size:57px!important}.f-s-56{font-size:56px!important}.f-s-55{font-size:55px!important}.f-s-54{font-size:54px!important}.f-s-53{font-size:53px!important}.f-s-52{font-size:52px!important}.f-s-51{font-size:51px!important}.f-s-50{font-size:50px!important}.f-s-49{font-size:49px!important}.f-s-48{font-size:48px!important}.f-s-47{font-size:47px!important}.f-s-46{font-size:46px!important}.f-s-45{font-size:45px!important}.f-s-44{font-size:44px!important}.f-s-43{font-size:43px!important}.f-s-42{font-size:42px!important}.f-s-41{font-size:41px!important}.f-s-40{font-size:40px!important}.f-s-39{font-size:39px!important}.f-s-38{font-size:38px!important}.f-s-37{font-size:37px!important}.f-s-36{font-size:36px!important}.f-s-35{font-size:35px!important}.f-s-34{font-size:34px!important}.f-s-33{font-size:33px!important}.f-s-32{font-size:32px!important}.f-s-31{font-size:31px!important}.f-s-30{font-size:30px!important}.f-s-29{font-size:29px!important}.f-s-28{font-size:28px!important}.f-s-27{font-size:27px!important}.f-s-26{font-size:26px!important}.f-s-25{font-size:25px!important}.f-s-24{font-size:24px!important}.f-s-23{font-size:23px!important}.f-s-22{font-size:22px!important}.f-s-21{font-size:21px!important}.f-s-20{font-size:20px!important}.f-s-19{font-size:19px!important}.f-s-18{font-size:18px!important}.f-s-17{font-size:17px!important}.f-s-16{font-size:16px!important}.f-s-15{font-size:15px!important}.f-s-14{font-size:14px!important}.f-s-13{font-size:13px!important}.f-s-12{font-size:12px!important}.f-s-11{font-size:11px!important}.f-s-10{font-size:10px!important}.f-s-9{font-size:9px!important}.f-s-8{font-size:8px!important}.f-s-7{font-size:7px!important}.f-s-6{font-size:6px!important}.f-s-5{font-size:5px!important}.f-s-4{font-size:4px!important}.f-s-3{font-size:3px!important}.f-s-2{font-size:2px!important}.f-s-1{font-size:1px!important}.f-s-0{font-size:0!important}.l-h-200{line-height:200px!important}.l-h-199{line-height:199px!important}.l-h-198{line-height:198px!important}.l-h-197{line-height:197px!important}.l-h-196{line-height:196px!important}.l-h-195{line-height:195px!important}.l-h-194{line-height:194px!important}.l-h-193{line-height:193px!important}.l-h-192{line-height:192px!important}.l-h-191{line-height:191px!important}.l-h-190{line-height:190px!important}.l-h-189{line-height:189px!important}.l-h-188{line-height:188px!important}.l-h-187{line-height:187px!important}.l-h-186{line-height:186px!important}.l-h-185{line-height:185px!important}.l-h-184{line-height:184px!important}.l-h-183{line-height:183px!important}.l-h-182{line-height:182px!important}.l-h-181{line-height:181px!important}.l-h-180{line-height:180px!important}.l-h-179{line-height:179px!important}.l-h-178{line-height:178px!important}.l-h-177{line-height:177px!important}.l-h-176{line-height:176px!important}.l-h-175{line-height:175px!important}.l-h-174{line-height:174px!important}.l-h-173{line-height:173px!important}.l-h-172{line-height:172px!important}.l-h-171{line-height:171px!important}.l-h-170{line-height:170px!important}.l-h-169{line-height:169px!important}.l-h-168{line-height:168px!important}.l-h-167{line-height:167px!important}.l-h-166{line-height:166px!important}.l-h-165{line-height:165px!important}.l-h-164{line-height:164px!important}.l-h-163{line-height:163px!important}.l-h-162{line-height:162px!important}.l-h-161{line-height:161px!important}.l-h-160{line-height:160px!important}.l-h-159{line-height:159px!important}.l-h-158{line-height:158px!important}.l-h-157{line-height:157px!important}.l-h-156{line-height:156px!important}.l-h-155{line-height:155px!important}.l-h-154{line-height:154px!important}.l-h-153{line-height:153px!important}.l-h-152{line-height:152px!important}.l-h-151{line-height:151px!important}.l-h-150{line-height:150px!important}.l-h-149{line-height:149px!important}.l-h-148{line-height:148px!important}.l-h-147{line-height:147px!important}.l-h-146{line-height:146px!important}.l-h-145{line-height:145px!important}.l-h-144{line-height:144px!important}.l-h-143{line-height:143px!important}.l-h-142{line-height:142px!important}.l-h-141{line-height:141px!important}.l-h-140{line-height:140px!important}.l-h-139{line-height:139px!important}.l-h-138{line-height:138px!important}.l-h-137{line-height:137px!important}.l-h-136{line-height:136px!important}.l-h-135{line-height:135px!important}.l-h-134{line-height:134px!important}.l-h-133{line-height:133px!important}.l-h-132{line-height:132px!important}.l-h-131{line-height:131px!important}.l-h-130{line-height:130px!important}.l-h-129{line-height:129px!important}.l-h-128{line-height:128px!important}.l-h-127{line-height:127px!important}.l-h-126{line-height:126px!important}.l-h-125{line-height:125px!important}.l-h-124{line-height:124px!important}.l-h-123{line-height:123px!important}.l-h-122{line-height:122px!important}.l-h-121{line-height:121px!important}.l-h-120{line-height:120px!important}.l-h-119{line-height:119px!important}.l-h-118{line-height:118px!important}.l-h-117{line-height:117px!important}.l-h-116{line-height:116px!important}.l-h-115{line-height:115px!important}.l-h-114{line-height:114px!important}.l-h-113{line-height:113px!important}.l-h-112{line-height:112px!important}.l-h-111{line-height:111px!important}.l-h-110{line-height:110px!important}.l-h-109{line-height:109px!important}.l-h-108{line-height:108px!important}.l-h-107{line-height:107px!important}.l-h-106{line-height:106px!important}.l-h-105{line-height:105px!important}.l-h-104{line-height:104px!important}.l-h-103{line-height:103px!important}.l-h-102{line-height:102px!important}.l-h-101{line-height:101px!important}.l-h-100{line-height:100px!important}.l-h-99{line-height:99px!important}.l-h-98{line-height:98px!important}.l-h-97{line-height:97px!important}.l-h-96{line-height:96px!important}.l-h-95{line-height:95px!important}.l-h-94{line-height:94px!important}.l-h-93{line-height:93px!important}.l-h-92{line-height:92px!important}.l-h-91{line-height:91px!important}.l-h-90{line-height:90px!important}.l-h-89{line-height:89px!important}.l-h-88{line-height:88px!important}.l-h-87{line-height:87px!important}.l-h-86{line-height:86px!important}.l-h-85{line-height:85px!important}.l-h-84{line-height:84px!important}.l-h-83{line-height:83px!important}.l-h-82{line-height:82px!important}.l-h-81{line-height:81px!important}.l-h-80{line-height:80px!important}.l-h-79{line-height:79px!important}.l-h-78{line-height:78px!important}.l-h-77{line-height:77px!important}.l-h-76{line-height:76px!important}.l-h-75{line-height:75px!important}.l-h-74{line-height:74px!important}.l-h-73{line-height:73px!important}.l-h-72{line-height:72px!important}.l-h-71{line-height:71px!important}.l-h-70{line-height:70px!important}.l-h-69{line-height:69px!important}.l-h-68{line-height:68px!important}.l-h-67{line-height:67px!important}.l-h-66{line-height:66px!important}.l-h-65{line-height:65px!important}.l-h-64{line-height:64px!important}.l-h-63{line-height:63px!important}.l-h-62{line-height:62px!important}.l-h-61{line-height:61px!important}.l-h-60{line-height:60px!important}.l-h-59{line-height:59px!important}.l-h-58{line-height:58px!important}.l-h-57{line-height:57px!important}.l-h-56{line-height:56px!important}.l-h-55{line-height:55px!important}.l-h-54{line-height:54px!important}.l-h-53{line-height:53px!important}.l-h-52{line-height:52px!important}.l-h-51{line-height:51px!important}.l-h-50{line-height:50px!important}.l-h-49{line-height:49px!important}.l-h-48{line-height:48px!important}.l-h-47{line-height:47px!important}.l-h-46{line-height:46px!important}.l-h-45{line-height:45px!important}.l-h-44{line-height:44px!important}.l-h-43{line-height:43px!important}.l-h-42{line-height:42px!important}.l-h-41{line-height:41px!important}.l-h-40{line-height:40px!important}.l-h-39{line-height:39px!important}.l-h-38{line-height:38px!important}.l-h-37{line-height:37px!important}.l-h-36{line-height:36px!important}.l-h-35{line-height:35px!important}.l-h-34{line-height:34px!important}.l-h-33{line-height:33px!important}.l-h-32{line-height:32px!important}.l-h-31{line-height:31px!important}.l-h-30{line-height:30px!important}.l-h-29{line-height:29px!important}.l-h-28{line-height:28px!important}.l-h-27{line-height:27px!important}.l-h-26{line-height:26px!important}.l-h-25{line-height:25px!important}.l-h-24{line-height:24px!important}.l-h-23{line-height:23px!important}.l-h-22{line-height:22px!important}.l-h-21{line-height:21px!important}.l-h-20{line-height:20px!important}.l-h-19{line-height:19px!important}.l-h-18{line-height:18px!important}.l-h-17{line-height:17px!important}.l-h-16{line-height:16px!important}.l-h-15{line-height:15px!important}.l-h-14{line-height:14px!important}.l-h-13{line-height:13px!important}.l-h-12{line-height:12px!important}.l-h-11{line-height:11px!important}.l-h-10{line-height:10px!important}.l-h-9{line-height:9px!important}.l-h-8{line-height:8px!important}.l-h-7{line-height:7px!important}.l-h-6{line-height:6px!important}.l-h-5{line-height:5px!important}.l-h-4{line-height:4px!important}.l-h-3{line-height:3px!important}.l-h-2{line-height:2px!important}.l-h-1{line-height:1px!important}.l-h-0{line-height:0!important}.m-200{margin:200px!important}.m-199{margin:199px!important}.m-198{margin:198px!important}.m-197{margin:197px!important}.m-196{margin:196px!important}.m-195{margin:195px!important}.m-194{margin:194px!important}.m-193{margin:193px!important}.m-192{margin:192px!important}.m-191{margin:191px!important}.m-190{margin:190px!important}.m-189{margin:189px!important}.m-188{margin:188px!important}.m-187{margin:187px!important}.m-186{margin:186px!important}.m-185{margin:185px!important}.m-184{margin:184px!important}.m-183{margin:183px!important}.m-182{margin:182px!important}.m-181{margin:181px!important}.m-180{margin:180px!important}.m-179{margin:179px!important}.m-178{margin:178px!important}.m-177{margin:177px!important}.m-176{margin:176px!important}.m-175{margin:175px!important}.m-174{margin:174px!important}.m-173{margin:173px!important}.m-172{margin:172px!important}.m-171{margin:171px!important}.m-170{margin:170px!important}.m-169{margin:169px!important}.m-168{margin:168px!important}.m-167{margin:167px!important}.m-166{margin:166px!important}.m-165{margin:165px!important}.m-164{margin:164px!important}.m-163{margin:163px!important}.m-162{margin:162px!important}.m-161{margin:161px!important}.m-160{margin:160px!important}.m-159{margin:159px!important}.m-158{margin:158px!important}.m-157{margin:157px!important}.m-156{margin:156px!important}.m-155{margin:155px!important}.m-154{margin:154px!important}.m-153{margin:153px!important}.m-152{margin:152px!important}.m-151{margin:151px!important}.m-150{margin:150px!important}.m-149{margin:149px!important}.m-148{margin:148px!important}.m-147{margin:147px!important}.m-146{margin:146px!important}.m-145{margin:145px!important}.m-144{margin:144px!important}.m-143{margin:143px!important}.m-142{margin:142px!important}.m-141{margin:141px!important}.m-140{margin:140px!important}.m-139{margin:139px!important}.m-138{margin:138px!important}.m-137{margin:137px!important}.m-136{margin:136px!important}.m-135{margin:135px!important}.m-134{margin:134px!important}.m-133{margin:133px!important}.m-132{margin:132px!important}.m-131{margin:131px!important}.m-130{margin:130px!important}.m-129{margin:129px!important}.m-128{margin:128px!important}.m-127{margin:127px!important}.m-126{margin:126px!important}.m-125{margin:125px!important}.m-124{margin:124px!important}.m-123{margin:123px!important}.m-122{margin:122px!important}.m-121{margin:121px!important}.m-120{margin:120px!important}.m-119{margin:119px!important}.m-118{margin:118px!important}.m-117{margin:117px!important}.m-116{margin:116px!important}.m-115{margin:115px!important}.m-114{margin:114px!important}.m-113{margin:113px!important}.m-112{margin:112px!important}.m-111{margin:111px!important}.m-110{margin:110px!important}.m-109{margin:109px!important}.m-108{margin:108px!important}.m-107{margin:107px!important}.m-106{margin:106px!important}.m-105{margin:105px!important}.m-104{margin:104px!important}.m-103{margin:103px!important}.m-102{margin:102px!important}.m-101{margin:101px!important}.m-100{margin:100px!important}.m-99{margin:99px!important}.m-98{margin:98px!important}.m-97{margin:97px!important}.m-96{margin:96px!important}.m-95{margin:95px!important}.m-94{margin:94px!important}.m-93{margin:93px!important}.m-92{margin:92px!important}.m-91{margin:91px!important}.m-90{margin:90px!important}.m-89{margin:89px!important}.m-88{margin:88px!important}.m-87{margin:87px!important}.m-86{margin:86px!important}.m-85{margin:85px!important}.m-84{margin:84px!important}.m-83{margin:83px!important}.m-82{margin:82px!important}.m-81{margin:81px!important}.m-80{margin:80px!important}.m-79{margin:79px!important}.m-78{margin:78px!important}.m-77{margin:77px!important}.m-76{margin:76px!important}.m-75{margin:75px!important}.m-74{margin:74px!important}.m-73{margin:73px!important}.m-72{margin:72px!important}.m-71{margin:71px!important}.m-70{margin:70px!important}.m-69{margin:69px!important}.m-68{margin:68px!important}.m-67{margin:67px!important}.m-66{margin:66px!important}.m-65{margin:65px!important}.m-64{margin:64px!important}.m-63{margin:63px!important}.m-62{margin:62px!important}.m-61{margin:61px!important}.m-60{margin:60px!important}.m-59{margin:59px!important}.m-58{margin:58px!important}.m-57{margin:57px!important}.m-56{margin:56px!important}.m-55{margin:55px!important}.m-54{margin:54px!important}.m-53{margin:53px!important}.m-52{margin:52px!important}.m-51{margin:51px!important}.m-50{margin:50px!important}.m-49{margin:49px!important}.m-48{margin:48px!important}.m-47{margin:47px!important}.m-46{margin:46px!important}.m-45{margin:45px!important}.m-44{margin:44px!important}.m-43{margin:43px!important}.m-42{margin:42px!important}.m-41{margin:41px!important}.m-40{margin:40px!important}.m-39{margin:39px!important}.m-38{margin:38px!important}.m-37{margin:37px!important}.m-36{margin:36px!important}.m-35{margin:35px!important}.m-34{margin:34px!important}.m-33{margin:33px!important}.m-32{margin:32px!important}.m-31{margin:31px!important}.m-30{margin:30px!important}.m-29{margin:29px!important}.m-28{margin:28px!important}.m-27{margin:27px!important}.m-26{margin:26px!important}.m-25{margin:25px!important}.m-24{margin:24px!important}.m-23{margin:23px!important}.m-22{margin:22px!important}.m-21{margin:21px!important}.m-20{margin:20px!important}.m-19{margin:19px!important}.m-18{margin:18px!important}.m-17{margin:17px!important}.m-16{margin:16px!important}.m-15{margin:15px!important}.m-14{margin:14px!important}.m-13{margin:13px!important}.m-12{margin:12px!important}.m-11{margin:11px!important}.m-10{margin:10px!important}.m-9{margin:9px!important}.m-8{margin:8px!important}.m-7{margin:7px!important}.m-6{margin:6px!important}.m-5{margin:5px!important}.m-4{margin:4px!important}.m-3{margin:3px!important}.m-2{margin:2px!important}.m-1{margin:1px!important}.m-0{margin:0!important}.m-t-200{margin-top:200px!important}.m-t-199{margin-top:199px!important}.m-t-198{margin-top:198px!important}.m-t-197{margin-top:197px!important}.m-t-196{margin-top:196px!important}.m-t-195{margin-top:195px!important}.m-t-194{margin-top:194px!important}.m-t-193{margin-top:193px!important}.m-t-192{margin-top:192px!important}.m-t-191{margin-top:191px!important}.m-t-190{margin-top:190px!important}.m-t-189{margin-top:189px!important}.m-t-188{margin-top:188px!important}.m-t-187{margin-top:187px!important}.m-t-186{margin-top:186px!important}.m-t-185{margin-top:185px!important}.m-t-184{margin-top:184px!important}.m-t-183{margin-top:183px!important}.m-t-182{margin-top:182px!important}.m-t-181{margin-top:181px!important}.m-t-180{margin-top:180px!important}.m-t-179{margin-top:179px!important}.m-t-178{margin-top:178px!important}.m-t-177{margin-top:177px!important}.m-t-176{margin-top:176px!important}.m-t-175{margin-top:175px!important}.m-t-174{margin-top:174px!important}.m-t-173{margin-top:173px!important}.m-t-172{margin-top:172px!important}.m-t-171{margin-top:171px!important}.m-t-170{margin-top:170px!important}.m-t-169{margin-top:169px!important}.m-t-168{margin-top:168px!important}.m-t-167{margin-top:167px!important}.m-t-166{margin-top:166px!important}.m-t-165{margin-top:165px!important}.m-t-164{margin-top:164px!important}.m-t-163{margin-top:163px!important}.m-t-162{margin-top:162px!important}.m-t-161{margin-top:161px!important}.m-t-160{margin-top:160px!important}.m-t-159{margin-top:159px!important}.m-t-158{margin-top:158px!important}.m-t-157{margin-top:157px!important}.m-t-156{margin-top:156px!important}.m-t-155{margin-top:155px!important}.m-t-154{margin-top:154px!important}.m-t-153{margin-top:153px!important}.m-t-152{margin-top:152px!important}.m-t-151{margin-top:151px!important}.m-t-150{margin-top:150px!important}.m-t-149{margin-top:149px!important}.m-t-148{margin-top:148px!important}.m-t-147{margin-top:147px!important}.m-t-146{margin-top:146px!important}.m-t-145{margin-top:145px!important}.m-t-144{margin-top:144px!important}.m-t-143{margin-top:143px!important}.m-t-142{margin-top:142px!important}.m-t-141{margin-top:141px!important}.m-t-140{margin-top:140px!important}.m-t-139{margin-top:139px!important}.m-t-138{margin-top:138px!important}.m-t-137{margin-top:137px!important}.m-t-136{margin-top:136px!important}.m-t-135{margin-top:135px!important}.m-t-134{margin-top:134px!important}.m-t-133{margin-top:133px!important}.m-t-132{margin-top:132px!important}.m-t-131{margin-top:131px!important}.m-t-130{margin-top:130px!important}.m-t-129{margin-top:129px!important}.m-t-128{margin-top:128px!important}.m-t-127{margin-top:127px!important}.m-t-126{margin-top:126px!important}.m-t-125{margin-top:125px!important}.m-t-124{margin-top:124px!important}.m-t-123{margin-top:123px!important}.m-t-122{margin-top:122px!important}.m-t-121{margin-top:121px!important}.m-t-120{margin-top:120px!important}.m-t-119{margin-top:119px!important}.m-t-118{margin-top:118px!important}.m-t-117{margin-top:117px!important}.m-t-116{margin-top:116px!important}.m-t-115{margin-top:115px!important}.m-t-114{margin-top:114px!important}.m-t-113{margin-top:113px!important}.m-t-112{margin-top:112px!important}.m-t-111{margin-top:111px!important}.m-t-110{margin-top:110px!important}.m-t-109{margin-top:109px!important}.m-t-108{margin-top:108px!important}.m-t-107{margin-top:107px!important}.m-t-106{margin-top:106px!important}.m-t-105{margin-top:105px!important}.m-t-104{margin-top:104px!important}.m-t-103{margin-top:103px!important}.m-t-102{margin-top:102px!important}.m-t-101{margin-top:101px!important}.m-t-100{margin-top:100px!important}.m-t-99{margin-top:99px!important}.m-t-98{margin-top:98px!important}.m-t-97{margin-top:97px!important}.m-t-96{margin-top:96px!important}.m-t-95{margin-top:95px!important}.m-t-94{margin-top:94px!important}.m-t-93{margin-top:93px!important}.m-t-92{margin-top:92px!important}.m-t-91{margin-top:91px!important}.m-t-90{margin-top:90px!important}.m-t-89{margin-top:89px!important}.m-t-88{margin-top:88px!important}.m-t-87{margin-top:87px!important}.m-t-86{margin-top:86px!important}.m-t-85{margin-top:85px!important}.m-t-84{margin-top:84px!important}.m-t-83{margin-top:83px!important}.m-t-82{margin-top:82px!important}.m-t-81{margin-top:81px!important}.m-t-80{margin-top:80px!important}.m-t-79{margin-top:79px!important}.m-t-78{margin-top:78px!important}.m-t-77{margin-top:77px!important}.m-t-76{margin-top:76px!important}.m-t-75{margin-top:75px!important}.m-t-74{margin-top:74px!important}.m-t-73{margin-top:73px!important}.m-t-72{margin-top:72px!important}.m-t-71{margin-top:71px!important}.m-t-70{margin-top:70px!important}.m-t-69{margin-top:69px!important}.m-t-68{margin-top:68px!important}.m-t-67{margin-top:67px!important}.m-t-66{margin-top:66px!important}.m-t-65{margin-top:65px!important}.m-t-64{margin-top:64px!important}.m-t-63{margin-top:63px!important}.m-t-62{margin-top:62px!important}.m-t-61{margin-top:61px!important}.m-t-60{margin-top:60px!important}.m-t-59{margin-top:59px!important}.m-t-58{margin-top:58px!important}.m-t-57{margin-top:57px!important}.m-t-56{margin-top:56px!important}.m-t-55{margin-top:55px!important}.m-t-54{margin-top:54px!important}.m-t-53{margin-top:53px!important}.m-t-52{margin-top:52px!important}.m-t-51{margin-top:51px!important}.m-t-50{margin-top:50px!important}.m-t-49{margin-top:49px!important}.m-t-48{margin-top:48px!important}.m-t-47{margin-top:47px!important}.m-t-46{margin-top:46px!important}.m-t-45{margin-top:45px!important}.m-t-44{margin-top:44px!important}.m-t-43{margin-top:43px!important}.m-t-42{margin-top:42px!important}.m-t-41{margin-top:41px!important}.m-t-40{margin-top:40px!important}.m-t-39{margin-top:39px!important}.m-t-38{margin-top:38px!important}.m-t-37{margin-top:37px!important}.m-t-36{margin-top:36px!important}.m-t-35{margin-top:35px!important}.m-t-34{margin-top:34px!important}.m-t-33{margin-top:33px!important}.m-t-32{margin-top:32px!important}.m-t-31{margin-top:31px!important}.m-t-30{margin-top:30px!important}.m-t-29{margin-top:29px!important}.m-t-28{margin-top:28px!important}.m-t-27{margin-top:27px!important}.m-t-26{margin-top:26px!important}.m-t-25{margin-top:25px!important}.m-t-24{margin-top:24px!important}.m-t-23{margin-top:23px!important}.m-t-22{margin-top:22px!important}.m-t-21{margin-top:21px!important}.m-t-20{margin-top:20px!important}.m-t-19{margin-top:19px!important}.m-t-18{margin-top:18px!important}.m-t-17{margin-top:17px!important}.m-t-16{margin-top:16px!important}.m-t-15{margin-top:15px!important}.m-t-14{margin-top:14px!important}.m-t-13{margin-top:13px!important}.m-t-12{margin-top:12px!important}.m-t-11{margin-top:11px!important}.m-t-10{margin-top:10px!important}.m-t-9{margin-top:9px!important}.m-t-8{margin-top:8px!important}.m-t-7{margin-top:7px!important}.m-t-6{margin-top:6px!important}.m-t-5{margin-top:5px!important}.m-t-4{margin-top:4px!important}.m-t-3{margin-top:3px!important}.m-t-2{margin-top:2px!important}.m-t-1{margin-top:1px!important}.m-t-0{margin-top:0!important}.m-b-200{margin-bottom:200px!important}.m-b-199{margin-bottom:199px!important}.m-b-198{margin-bottom:198px!important}.m-b-197{margin-bottom:197px!important}.m-b-196{margin-bottom:196px!important}.m-b-195{margin-bottom:195px!important}.m-b-194{margin-bottom:194px!important}.m-b-193{margin-bottom:193px!important}.m-b-192{margin-bottom:192px!important}.m-b-191{margin-bottom:191px!important}.m-b-190{margin-bottom:190px!important}.m-b-189{margin-bottom:189px!important}.m-b-188{margin-bottom:188px!important}.m-b-187{margin-bottom:187px!important}.m-b-186{margin-bottom:186px!important}.m-b-185{margin-bottom:185px!important}.m-b-184{margin-bottom:184px!important}.m-b-183{margin-bottom:183px!important}.m-b-182{margin-bottom:182px!important}.m-b-181{margin-bottom:181px!important}.m-b-180{margin-bottom:180px!important}.m-b-179{margin-bottom:179px!important}.m-b-178{margin-bottom:178px!important}.m-b-177{margin-bottom:177px!important}.m-b-176{margin-bottom:176px!important}.m-b-175{margin-bottom:175px!important}.m-b-174{margin-bottom:174px!important}.m-b-173{margin-bottom:173px!important}.m-b-172{margin-bottom:172px!important}.m-b-171{margin-bottom:171px!important}.m-b-170{margin-bottom:170px!important}.m-b-169{margin-bottom:169px!important}.m-b-168{margin-bottom:168px!important}.m-b-167{margin-bottom:167px!important}.m-b-166{margin-bottom:166px!important}.m-b-165{margin-bottom:165px!important}.m-b-164{margin-bottom:164px!important}.m-b-163{margin-bottom:163px!important}.m-b-162{margin-bottom:162px!important}.m-b-161{margin-bottom:161px!important}.m-b-160{margin-bottom:160px!important}.m-b-159{margin-bottom:159px!important}.m-b-158{margin-bottom:158px!important}.m-b-157{margin-bottom:157px!important}.m-b-156{margin-bottom:156px!important}.m-b-155{margin-bottom:155px!important}.m-b-154{margin-bottom:154px!important}.m-b-153{margin-bottom:153px!important}.m-b-152{margin-bottom:152px!important}.m-b-151{margin-bottom:151px!important}.m-b-150{margin-bottom:150px!important}.m-b-149{margin-bottom:149px!important}.m-b-148{margin-bottom:148px!important}.m-b-147{margin-bottom:147px!important}.m-b-146{margin-bottom:146px!important}.m-b-145{margin-bottom:145px!important}.m-b-144{margin-bottom:144px!important}.m-b-143{margin-bottom:143px!important}.m-b-142{margin-bottom:142px!important}.m-b-141{margin-bottom:141px!important}.m-b-140{margin-bottom:140px!important}.m-b-139{margin-bottom:139px!important}.m-b-138{margin-bottom:138px!important}.m-b-137{margin-bottom:137px!important}.m-b-136{margin-bottom:136px!important}.m-b-135{margin-bottom:135px!important}.m-b-134{margin-bottom:134px!important}.m-b-133{margin-bottom:133px!important}.m-b-132{margin-bottom:132px!important}.m-b-131{margin-bottom:131px!important}.m-b-130{margin-bottom:130px!important}.m-b-129{margin-bottom:129px!important}.m-b-128{margin-bottom:128px!important}.m-b-127{margin-bottom:127px!important}.m-b-126{margin-bottom:126px!important}.m-b-125{margin-bottom:125px!important}.m-b-124{margin-bottom:124px!important}.m-b-123{margin-bottom:123px!important}.m-b-122{margin-bottom:122px!important}.m-b-121{margin-bottom:121px!important}.m-b-120{margin-bottom:120px!important}.m-b-119{margin-bottom:119px!important}.m-b-118{margin-bottom:118px!important}.m-b-117{margin-bottom:117px!important}.m-b-116{margin-bottom:116px!important}.m-b-115{margin-bottom:115px!important}.m-b-114{margin-bottom:114px!important}.m-b-113{margin-bottom:113px!important}.m-b-112{margin-bottom:112px!important}.m-b-111{margin-bottom:111px!important}.m-b-110{margin-bottom:110px!important}.m-b-109{margin-bottom:109px!important}.m-b-108{margin-bottom:108px!important}.m-b-107{margin-bottom:107px!important}.m-b-106{margin-bottom:106px!important}.m-b-105{margin-bottom:105px!important}.m-b-104{margin-bottom:104px!important}.m-b-103{margin-bottom:103px!important}.m-b-102{margin-bottom:102px!important}.m-b-101{margin-bottom:101px!important}.m-b-100{margin-bottom:100px!important}.m-b-99{margin-bottom:99px!important}.m-b-98{margin-bottom:98px!important}.m-b-97{margin-bottom:97px!important}.m-b-96{margin-bottom:96px!important}.m-b-95{margin-bottom:95px!important}.m-b-94{margin-bottom:94px!important}.m-b-93{margin-bottom:93px!important}.m-b-92{margin-bottom:92px!important}.m-b-91{margin-bottom:91px!important}.m-b-90{margin-bottom:90px!important}.m-b-89{margin-bottom:89px!important}.m-b-88{margin-bottom:88px!important}.m-b-87{margin-bottom:87px!important}.m-b-86{margin-bottom:86px!important}.m-b-85{margin-bottom:85px!important}.m-b-84{margin-bottom:84px!important}.m-b-83{margin-bottom:83px!important}.m-b-82{margin-bottom:82px!important}.m-b-81{margin-bottom:81px!important}.m-b-80{margin-bottom:80px!important}.m-b-79{margin-bottom:79px!important}.m-b-78{margin-bottom:78px!important}.m-b-77{margin-bottom:77px!important}.m-b-76{margin-bottom:76px!important}.m-b-75{margin-bottom:75px!important}.m-b-74{margin-bottom:74px!important}.m-b-73{margin-bottom:73px!important}.m-b-72{margin-bottom:72px!important}.m-b-71{margin-bottom:71px!important}.m-b-70{margin-bottom:70px!important}.m-b-69{margin-bottom:69px!important}.m-b-68{margin-bottom:68px!important}.m-b-67{margin-bottom:67px!important}.m-b-66{margin-bottom:66px!important}.m-b-65{margin-bottom:65px!important}.m-b-64{margin-bottom:64px!important}.m-b-63{margin-bottom:63px!important}.m-b-62{margin-bottom:62px!important}.m-b-61{margin-bottom:61px!important}.m-b-60{margin-bottom:60px!important}.m-b-59{margin-bottom:59px!important}.m-b-58{margin-bottom:58px!important}.m-b-57{margin-bottom:57px!important}.m-b-56{margin-bottom:56px!important}.m-b-55{margin-bottom:55px!important}.m-b-54{margin-bottom:54px!important}.m-b-53{margin-bottom:53px!important}.m-b-52{margin-bottom:52px!important}.m-b-51{margin-bottom:51px!important}.m-b-50{margin-bottom:50px!important}.m-b-49{margin-bottom:49px!important}.m-b-48{margin-bottom:48px!important}.m-b-47{margin-bottom:47px!important}.m-b-46{margin-bottom:46px!important}.m-b-45{margin-bottom:45px!important}.m-b-44{margin-bottom:44px!important}.m-b-43{margin-bottom:43px!important}.m-b-42{margin-bottom:42px!important}.m-b-41{margin-bottom:41px!important}.m-b-40{margin-bottom:40px!important}.m-b-39{margin-bottom:39px!important}.m-b-38{margin-bottom:38px!important}.m-b-37{margin-bottom:37px!important}.m-b-36{margin-bottom:36px!important}.m-b-35{margin-bottom:35px!important}.m-b-34{margin-bottom:34px!important}.m-b-33{margin-bottom:33px!important}.m-b-32{margin-bottom:32px!important}.m-b-31{margin-bottom:31px!important}.m-b-30{margin-bottom:30px!important}.m-b-29{margin-bottom:29px!important}.m-b-28{margin-bottom:28px!important}.m-b-27{margin-bottom:27px!important}.m-b-26{margin-bottom:26px!important}.m-b-25{margin-bottom:25px!important}.m-b-24{margin-bottom:24px!important}.m-b-23{margin-bottom:23px!important}.m-b-22{margin-bottom:22px!important}.m-b-21{margin-bottom:21px!important}.m-b-20{margin-bottom:20px!important}.m-b-19{margin-bottom:19px!important}.m-b-18{margin-bottom:18px!important}.m-b-17{margin-bottom:17px!important}.m-b-16{margin-bottom:16px!important}.m-b-15{margin-bottom:15px!important}.m-b-14{margin-bottom:14px!important}.m-b-13{margin-bottom:13px!important}.m-b-12{margin-bottom:12px!important}.m-b-11{margin-bottom:11px!important}.m-b-10{margin-bottom:10px!important}.m-b-9{margin-bottom:9px!important}.m-b-8{margin-bottom:8px!important}.m-b-7{margin-bottom:7px!important}.m-b-6{margin-bottom:6px!important}.m-b-5{margin-bottom:5px!important}.m-b-4{margin-bottom:4px!important}.m-b-3{margin-bottom:3px!important}.m-b-2{margin-bottom:2px!important}.m-b-1{margin-bottom:1px!important}.m-b-0{margin-bottom:0!important}.m-r-200{margin-right:200px!important}.m-r-199{margin-right:199px!important}.m-r-198{margin-right:198px!important}.m-r-197{margin-right:197px!important}.m-r-196{margin-right:196px!important}.m-r-195{margin-right:195px!important}.m-r-194{margin-right:194px!important}.m-r-193{margin-right:193px!important}.m-r-192{margin-right:192px!important}.m-r-191{margin-right:191px!important}.m-r-190{margin-right:190px!important}.m-r-189{margin-right:189px!important}.m-r-188{margin-right:188px!important}.m-r-187{margin-right:187px!important}.m-r-186{margin-right:186px!important}.m-r-185{margin-right:185px!important}.m-r-184{margin-right:184px!important}.m-r-183{margin-right:183px!important}.m-r-182{margin-right:182px!important}.m-r-181{margin-right:181px!important}.m-r-180{margin-right:180px!important}.m-r-179{margin-right:179px!important}.m-r-178{margin-right:178px!important}.m-r-177{margin-right:177px!important}.m-r-176{margin-right:176px!important}.m-r-175{margin-right:175px!important}.m-r-174{margin-right:174px!important}.m-r-173{margin-right:173px!important}.m-r-172{margin-right:172px!important}.m-r-171{margin-right:171px!important}.m-r-170{margin-right:170px!important}.m-r-169{margin-right:169px!important}.m-r-168{margin-right:168px!important}.m-r-167{margin-right:167px!important}.m-r-166{margin-right:166px!important}.m-r-165{margin-right:165px!important}.m-r-164{margin-right:164px!important}.m-r-163{margin-right:163px!important}.m-r-162{margin-right:162px!important}.m-r-161{margin-right:161px!important}.m-r-160{margin-right:160px!important}.m-r-159{margin-right:159px!important}.m-r-158{margin-right:158px!important}.m-r-157{margin-right:157px!important}.m-r-156{margin-right:156px!important}.m-r-155{margin-right:155px!important}.m-r-154{margin-right:154px!important}.m-r-153{margin-right:153px!important}.m-r-152{margin-right:152px!important}.m-r-151{margin-right:151px!important}.m-r-150{margin-right:150px!important}.m-r-149{margin-right:149px!important}.m-r-148{margin-right:148px!important}.m-r-147{margin-right:147px!important}.m-r-146{margin-right:146px!important}.m-r-145{margin-right:145px!important}.m-r-144{margin-right:144px!important}.m-r-143{margin-right:143px!important}.m-r-142{margin-right:142px!important}.m-r-141{margin-right:141px!important}.m-r-140{margin-right:140px!important}.m-r-139{margin-right:139px!important}.m-r-138{margin-right:138px!important}.m-r-137{margin-right:137px!important}.m-r-136{margin-right:136px!important}.m-r-135{margin-right:135px!important}.m-r-134{margin-right:134px!important}.m-r-133{margin-right:133px!important}.m-r-132{margin-right:132px!important}.m-r-131{margin-right:131px!important}.m-r-130{margin-right:130px!important}.m-r-129{margin-right:129px!important}.m-r-128{margin-right:128px!important}.m-r-127{margin-right:127px!important}.m-r-126{margin-right:126px!important}.m-r-125{margin-right:125px!important}.m-r-124{margin-right:124px!important}.m-r-123{margin-right:123px!important}.m-r-122{margin-right:122px!important}.m-r-121{margin-right:121px!important}.m-r-120{margin-right:120px!important}.m-r-119{margin-right:119px!important}.m-r-118{margin-right:118px!important}.m-r-117{margin-right:117px!important}.m-r-116{margin-right:116px!important}.m-r-115{margin-right:115px!important}.m-r-114{margin-right:114px!important}.m-r-113{margin-right:113px!important}.m-r-112{margin-right:112px!important}.m-r-111{margin-right:111px!important}.m-r-110{margin-right:110px!important}.m-r-109{margin-right:109px!important}.m-r-108{margin-right:108px!important}.m-r-107{margin-right:107px!important}.m-r-106{margin-right:106px!important}.m-r-105{margin-right:105px!important}.m-r-104{margin-right:104px!important}.m-r-103{margin-right:103px!important}.m-r-102{margin-right:102px!important}.m-r-101{margin-right:101px!important}.m-r-100{margin-right:100px!important}.m-r-99{margin-right:99px!important}.m-r-98{margin-right:98px!important}.m-r-97{margin-right:97px!important}.m-r-96{margin-right:96px!important}.m-r-95{margin-right:95px!important}.m-r-94{margin-right:94px!important}.m-r-93{margin-right:93px!important}.m-r-92{margin-right:92px!important}.m-r-91{margin-right:91px!important}.m-r-90{margin-right:90px!important}.m-r-89{margin-right:89px!important}.m-r-88{margin-right:88px!important}.m-r-87{margin-right:87px!important}.m-r-86{margin-right:86px!important}.m-r-85{margin-right:85px!important}.m-r-84{margin-right:84px!important}.m-r-83{margin-right:83px!important}.m-r-82{margin-right:82px!important}.m-r-81{margin-right:81px!important}.m-r-80{margin-right:80px!important}.m-r-79{margin-right:79px!important}.m-r-78{margin-right:78px!important}.m-r-77{margin-right:77px!important}.m-r-76{margin-right:76px!important}.m-r-75{margin-right:75px!important}.m-r-74{margin-right:74px!important}.m-r-73{margin-right:73px!important}.m-r-72{margin-right:72px!important}.m-r-71{margin-right:71px!important}.m-r-70{margin-right:70px!important}.m-r-69{margin-right:69px!important}.m-r-68{margin-right:68px!important}.m-r-67{margin-right:67px!important}.m-r-66{margin-right:66px!important}.m-r-65{margin-right:65px!important}.m-r-64{margin-right:64px!important}.m-r-63{margin-right:63px!important}.m-r-62{margin-right:62px!important}.m-r-61{margin-right:61px!important}.m-r-60{margin-right:60px!important}.m-r-59{margin-right:59px!important}.m-r-58{margin-right:58px!important}.m-r-57{margin-right:57px!important}.m-r-56{margin-right:56px!important}.m-r-55{margin-right:55px!important}.m-r-54{margin-right:54px!important}.m-r-53{margin-right:53px!important}.m-r-52{margin-right:52px!important}.m-r-51{margin-right:51px!important}.m-r-50{margin-right:50px!important}.m-r-49{margin-right:49px!important}.m-r-48{margin-right:48px!important}.m-r-47{margin-right:47px!important}.m-r-46{margin-right:46px!important}.m-r-45{margin-right:45px!important}.m-r-44{margin-right:44px!important}.m-r-43{margin-right:43px!important}.m-r-42{margin-right:42px!important}.m-r-41{margin-right:41px!important}.m-r-40{margin-right:40px!important}.m-r-39{margin-right:39px!important}.m-r-38{margin-right:38px!important}.m-r-37{margin-right:37px!important}.m-r-36{margin-right:36px!important}.m-r-35{margin-right:35px!important}.m-r-34{margin-right:34px!important}.m-r-33{margin-right:33px!important}.m-r-32{margin-right:32px!important}.m-r-31{margin-right:31px!important}.m-r-30{margin-right:30px!important}.m-r-29{margin-right:29px!important}.m-r-28{margin-right:28px!important}.m-r-27{margin-right:27px!important}.m-r-26{margin-right:26px!important}.m-r-25{margin-right:25px!important}.m-r-24{margin-right:24px!important}.m-r-23{margin-right:23px!important}.m-r-22{margin-right:22px!important}.m-r-21{margin-right:21px!important}.m-r-20{margin-right:20px!important}.m-r-19{margin-right:19px!important}.m-r-18{margin-right:18px!important}.m-r-17{margin-right:17px!important}.m-r-16{margin-right:16px!important}.m-r-15{margin-right:15px!important}.m-r-14{margin-right:14px!important}.m-r-13{margin-right:13px!important}.m-r-12{margin-right:12px!important}.m-r-11{margin-right:11px!important}.m-r-10{margin-right:10px!important}.m-r-9{margin-right:9px!important}.m-r-8{margin-right:8px!important}.m-r-7{margin-right:7px!important}.m-r-6{margin-right:6px!important}.m-r-5{margin-right:5px!important}.m-r-4{margin-right:4px!important}.m-r-3{margin-right:3px!important}.m-r-2{margin-right:2px!important}.m-r-1{margin-right:1px!important}.m-r-0{margin-right:0!important}.m-l-200{margin-left:200px!important}.m-l-199{margin-left:199px!important}.m-l-198{margin-left:198px!important}.m-l-197{margin-left:197px!important}.m-l-196{margin-left:196px!important}.m-l-195{margin-left:195px!important}.m-l-194{margin-left:194px!important}.m-l-193{margin-left:193px!important}.m-l-192{margin-left:192px!important}.m-l-191{margin-left:191px!important}.m-l-190{margin-left:190px!important}.m-l-189{margin-left:189px!important}.m-l-188{margin-left:188px!important}.m-l-187{margin-left:187px!important}.m-l-186{margin-left:186px!important}.m-l-185{margin-left:185px!important}.m-l-184{margin-left:184px!important}.m-l-183{margin-left:183px!important}.m-l-182{margin-left:182px!important}.m-l-181{margin-left:181px!important}.m-l-180{margin-left:180px!important}.m-l-179{margin-left:179px!important}.m-l-178{margin-left:178px!important}.m-l-177{margin-left:177px!important}.m-l-176{margin-left:176px!important}.m-l-175{margin-left:175px!important}.m-l-174{margin-left:174px!important}.m-l-173{margin-left:173px!important}.m-l-172{margin-left:172px!important}.m-l-171{margin-left:171px!important}.m-l-170{margin-left:170px!important}.m-l-169{margin-left:169px!important}.m-l-168{margin-left:168px!important}.m-l-167{margin-left:167px!important}.m-l-166{margin-left:166px!important}.m-l-165{margin-left:165px!important}.m-l-164{margin-left:164px!important}.m-l-163{margin-left:163px!important}.m-l-162{margin-left:162px!important}.m-l-161{margin-left:161px!important}.m-l-160{margin-left:160px!important}.m-l-159{margin-left:159px!important}.m-l-158{margin-left:158px!important}.m-l-157{margin-left:157px!important}.m-l-156{margin-left:156px!important}.m-l-155{margin-left:155px!important}.m-l-154{margin-left:154px!important}.m-l-153{margin-left:153px!important}.m-l-152{margin-left:152px!important}.m-l-151{margin-left:151px!important}.m-l-150{margin-left:150px!important}.m-l-149{margin-left:149px!important}.m-l-148{margin-left:148px!important}.m-l-147{margin-left:147px!important}.m-l-146{margin-left:146px!important}.m-l-145{margin-left:145px!important}.m-l-144{margin-left:144px!important}.m-l-143{margin-left:143px!important}.m-l-142{margin-left:142px!important}.m-l-141{margin-left:141px!important}.m-l-140{margin-left:140px!important}.m-l-139{margin-left:139px!important}.m-l-138{margin-left:138px!important}.m-l-137{margin-left:137px!important}.m-l-136{margin-left:136px!important}.m-l-135{margin-left:135px!important}.m-l-134{margin-left:134px!important}.m-l-133{margin-left:133px!important}.m-l-132{margin-left:132px!important}.m-l-131{margin-left:131px!important}.m-l-130{margin-left:130px!important}.m-l-129{margin-left:129px!important}.m-l-128{margin-left:128px!important}.m-l-127{margin-left:127px!important}.m-l-126{margin-left:126px!important}.m-l-125{margin-left:125px!important}.m-l-124{margin-left:124px!important}.m-l-123{margin-left:123px!important}.m-l-122{margin-left:122px!important}.m-l-121{margin-left:121px!important}.m-l-120{margin-left:120px!important}.m-l-119{margin-left:119px!important}.m-l-118{margin-left:118px!important}.m-l-117{margin-left:117px!important}.m-l-116{margin-left:116px!important}.m-l-115{margin-left:115px!important}.m-l-114{margin-left:114px!important}.m-l-113{margin-left:113px!important}.m-l-112{margin-left:112px!important}.m-l-111{margin-left:111px!important}.m-l-110{margin-left:110px!important}.m-l-109{margin-left:109px!important}.m-l-108{margin-left:108px!important}.m-l-107{margin-left:107px!important}.m-l-106{margin-left:106px!important}.m-l-105{margin-left:105px!important}.m-l-104{margin-left:104px!important}.m-l-103{margin-left:103px!important}.m-l-102{margin-left:102px!important}.m-l-101{margin-left:101px!important}.m-l-100{margin-left:100px!important}.m-l-99{margin-left:99px!important}.m-l-98{margin-left:98px!important}.m-l-97{margin-left:97px!important}.m-l-96{margin-left:96px!important}.m-l-95{margin-left:95px!important}.m-l-94{margin-left:94px!important}.m-l-93{margin-left:93px!important}.m-l-92{margin-left:92px!important}.m-l-91{margin-left:91px!important}.m-l-90{margin-left:90px!important}.m-l-89{margin-left:89px!important}.m-l-88{margin-left:88px!important}.m-l-87{margin-left:87px!important}.m-l-86{margin-left:86px!important}.m-l-85{margin-left:85px!important}.m-l-84{margin-left:84px!important}.m-l-83{margin-left:83px!important}.m-l-82{margin-left:82px!important}.m-l-81{margin-left:81px!important}.m-l-80{margin-left:80px!important}.m-l-79{margin-left:79px!important}.m-l-78{margin-left:78px!important}.m-l-77{margin-left:77px!important}.m-l-76{margin-left:76px!important}.m-l-75{margin-left:75px!important}.m-l-74{margin-left:74px!important}.m-l-73{margin-left:73px!important}.m-l-72{margin-left:72px!important}.m-l-71{margin-left:71px!important}.m-l-70{margin-left:70px!important}.m-l-69{margin-left:69px!important}.m-l-68{margin-left:68px!important}.m-l-67{margin-left:67px!important}.m-l-66{margin-left:66px!important}.m-l-65{margin-left:65px!important}.m-l-64{margin-left:64px!important}.m-l-63{margin-left:63px!important}.m-l-62{margin-left:62px!important}.m-l-61{margin-left:61px!important}.m-l-60{margin-left:60px!important}.m-l-59{margin-left:59px!important}.m-l-58{margin-left:58px!important}.m-l-57{margin-left:57px!important}.m-l-56{margin-left:56px!important}.m-l-55{margin-left:55px!important}.m-l-54{margin-left:54px!important}.m-l-53{margin-left:53px!important}.m-l-52{margin-left:52px!important}.m-l-51{margin-left:51px!important}.m-l-50{margin-left:50px!important}.m-l-49{margin-left:49px!important}.m-l-48{margin-left:48px!important}.m-l-47{margin-left:47px!important}.m-l-46{margin-left:46px!important}.m-l-45{margin-left:45px!important}.m-l-44{margin-left:44px!important}.m-l-43{margin-left:43px!important}.m-l-42{margin-left:42px!important}.m-l-41{margin-left:41px!important}.m-l-40{margin-left:40px!important}.m-l-39{margin-left:39px!important}.m-l-38{margin-left:38px!important}.m-l-37{margin-left:37px!important}.m-l-36{margin-left:36px!important}.m-l-35{margin-left:35px!important}.m-l-34{margin-left:34px!important}.m-l-33{margin-left:33px!important}.m-l-32{margin-left:32px!important}.m-l-31{margin-left:31px!important}.m-l-30{margin-left:30px!important}.m-l-29{margin-left:29px!important}.m-l-28{margin-left:28px!important}.m-l-27{margin-left:27px!important}.m-l-26{margin-left:26px!important}.m-l-25{margin-left:25px!important}.m-l-24{margin-left:24px!important}.m-l-23{margin-left:23px!important}.m-l-22{margin-left:22px!important}.m-l-21{margin-left:21px!important}.m-l-20{margin-left:20px!important}.m-l-19{margin-left:19px!important}.m-l-18{margin-left:18px!important}.m-l-17{margin-left:17px!important}.m-l-16{margin-left:16px!important}.m-l-15{margin-left:15px!important}.m-l-14{margin-left:14px!important}.m-l-13{margin-left:13px!important}.m-l-12{margin-left:12px!important}.m-l-11{margin-left:11px!important}.m-l-10{margin-left:10px!important}.m-l-9{margin-left:9px!important}.m-l-8{margin-left:8px!important}.m-l-7{margin-left:7px!important}.m-l-6{margin-left:6px!important}.m-l-5{margin-left:5px!important}.m-l-4{margin-left:4px!important}.m-l-3{margin-left:3px!important}.m-l-2{margin-left:2px!important}.m-l-1{margin-left:1px!important}.m-l-0{margin-left:0!important}.m-h-200{min-height:200px!important}.m-h-199{min-height:199px!important}.m-h-198{min-height:198px!important}.m-h-197{min-height:197px!important}.m-h-196{min-height:196px!important}.m-h-195{min-height:195px!important}.m-h-194{min-height:194px!important}.m-h-193{min-height:193px!important}.m-h-192{min-height:192px!important}.m-h-191{min-height:191px!important}.m-h-190{min-height:190px!important}.m-h-189{min-height:189px!important}.m-h-188{min-height:188px!important}.m-h-187{min-height:187px!important}.m-h-186{min-height:186px!important}.m-h-185{min-height:185px!important}.m-h-184{min-height:184px!important}.m-h-183{min-height:183px!important}.m-h-182{min-height:182px!important}.m-h-181{min-height:181px!important}.m-h-180{min-height:180px!important}.m-h-179{min-height:179px!important}.m-h-178{min-height:178px!important}.m-h-177{min-height:177px!important}.m-h-176{min-height:176px!important}.m-h-175{min-height:175px!important}.m-h-174{min-height:174px!important}.m-h-173{min-height:173px!important}.m-h-172{min-height:172px!important}.m-h-171{min-height:171px!important}.m-h-170{min-height:170px!important}.m-h-169{min-height:169px!important}.m-h-168{min-height:168px!important}.m-h-167{min-height:167px!important}.m-h-166{min-height:166px!important}.m-h-165{min-height:165px!important}.m-h-164{min-height:164px!important}.m-h-163{min-height:163px!important}.m-h-162{min-height:162px!important}.m-h-161{min-height:161px!important}.m-h-160{min-height:160px!important}.m-h-159{min-height:159px!important}.m-h-158{min-height:158px!important}.m-h-157{min-height:157px!important}.m-h-156{min-height:156px!important}.m-h-155{min-height:155px!important}.m-h-154{min-height:154px!important}.m-h-153{min-height:153px!important}.m-h-152{min-height:152px!important}.m-h-151{min-height:151px!important}.m-h-150{min-height:150px!important}.m-h-149{min-height:149px!important}.m-h-148{min-height:148px!important}.m-h-147{min-height:147px!important}.m-h-146{min-height:146px!important}.m-h-145{min-height:145px!important}.m-h-144{min-height:144px!important}.m-h-143{min-height:143px!important}.m-h-142{min-height:142px!important}.m-h-141{min-height:141px!important}.m-h-140{min-height:140px!important}.m-h-139{min-height:139px!important}.m-h-138{min-height:138px!important}.m-h-137{min-height:137px!important}.m-h-136{min-height:136px!important}.m-h-135{min-height:135px!important}.m-h-134{min-height:134px!important}.m-h-133{min-height:133px!important}.m-h-132{min-height:132px!important}.m-h-131{min-height:131px!important}.m-h-130{min-height:130px!important}.m-h-129{min-height:129px!important}.m-h-128{min-height:128px!important}.m-h-127{min-height:127px!important}.m-h-126{min-height:126px!important}.m-h-125{min-height:125px!important}.m-h-124{min-height:124px!important}.m-h-123{min-height:123px!important}.m-h-122{min-height:122px!important}.m-h-121{min-height:121px!important}.m-h-120{min-height:120px!important}.m-h-119{min-height:119px!important}.m-h-118{min-height:118px!important}.m-h-117{min-height:117px!important}.m-h-116{min-height:116px!important}.m-h-115{min-height:115px!important}.m-h-114{min-height:114px!important}.m-h-113{min-height:113px!important}.m-h-112{min-height:112px!important}.m-h-111{min-height:111px!important}.m-h-110{min-height:110px!important}.m-h-109{min-height:109px!important}.m-h-108{min-height:108px!important}.m-h-107{min-height:107px!important}.m-h-106{min-height:106px!important}.m-h-105{min-height:105px!important}.m-h-104{min-height:104px!important}.m-h-103{min-height:103px!important}.m-h-102{min-height:102px!important}.m-h-101{min-height:101px!important}.m-h-100{min-height:100px!important}.m-h-99{min-height:99px!important}.m-h-98{min-height:98px!important}.m-h-97{min-height:97px!important}.m-h-96{min-height:96px!important}.m-h-95{min-height:95px!important}.m-h-94{min-height:94px!important}.m-h-93{min-height:93px!important}.m-h-92{min-height:92px!important}.m-h-91{min-height:91px!important}.m-h-90{min-height:90px!important}.m-h-89{min-height:89px!important}.m-h-88{min-height:88px!important}.m-h-87{min-height:87px!important}.m-h-86{min-height:86px!important}.m-h-85{min-height:85px!important}.m-h-84{min-height:84px!important}.m-h-83{min-height:83px!important}.m-h-82{min-height:82px!important}.m-h-81{min-height:81px!important}.m-h-80{min-height:80px!important}.m-h-79{min-height:79px!important}.m-h-78{min-height:78px!important}.m-h-77{min-height:77px!important}.m-h-76{min-height:76px!important}.m-h-75{min-height:75px!important}.m-h-74{min-height:74px!important}.m-h-73{min-height:73px!important}.m-h-72{min-height:72px!important}.m-h-71{min-height:71px!important}.m-h-70{min-height:70px!important}.m-h-69{min-height:69px!important}.m-h-68{min-height:68px!important}.m-h-67{min-height:67px!important}.m-h-66{min-height:66px!important}.m-h-65{min-height:65px!important}.m-h-64{min-height:64px!important}.m-h-63{min-height:63px!important}.m-h-62{min-height:62px!important}.m-h-61{min-height:61px!important}.m-h-60{min-height:60px!important}.m-h-59{min-height:59px!important}.m-h-58{min-height:58px!important}.m-h-57{min-height:57px!important}.m-h-56{min-height:56px!important}.m-h-55{min-height:55px!important}.m-h-54{min-height:54px!important}.m-h-53{min-height:53px!important}.m-h-52{min-height:52px!important}.m-h-51{min-height:51px!important}.m-h-50{min-height:50px!important}.m-h-49{min-height:49px!important}.m-h-48{min-height:48px!important}.m-h-47{min-height:47px!important}.m-h-46{min-height:46px!important}.m-h-45{min-height:45px!important}.m-h-44{min-height:44px!important}.m-h-43{min-height:43px!important}.m-h-42{min-height:42px!important}.m-h-41{min-height:41px!important}.m-h-40{min-height:40px!important}.m-h-39{min-height:39px!important}.m-h-38{min-height:38px!important}.m-h-37{min-height:37px!important}.m-h-36{min-height:36px!important}.m-h-35{min-height:35px!important}.m-h-34{min-height:34px!important}.m-h-33{min-height:33px!important}.m-h-32{min-height:32px!important}.m-h-31{min-height:31px!important}.m-h-30{min-height:30px!important}.m-h-29{min-height:29px!important}.m-h-28{min-height:28px!important}.m-h-27{min-height:27px!important}.m-h-26{min-height:26px!important}.m-h-25{min-height:25px!important}.m-h-24{min-height:24px!important}.m-h-23{min-height:23px!important}.m-h-22{min-height:22px!important}.m-h-21{min-height:21px!important}.m-h-20{min-height:20px!important}.m-h-19{min-height:19px!important}.m-h-18{min-height:18px!important}.m-h-17{min-height:17px!important}.m-h-16{min-height:16px!important}.m-h-15{min-height:15px!important}.m-h-14{min-height:14px!important}.m-h-13{min-height:13px!important}.m-h-12{min-height:12px!important}.m-h-11{min-height:11px!important}.m-h-10{min-height:10px!important}.m-h-9{min-height:9px!important}.m-h-8{min-height:8px!important}.m-h-7{min-height:7px!important}.m-h-6{min-height:6px!important}.m-h-5{min-height:5px!important}.m-h-4{min-height:4px!important}.m-h-3{min-height:3px!important}.m-h-2{min-height:2px!important}.m-h-1{min-height:1px!important}.m-h-0{min-height:0!important}.p-200{padding:200px!important}.p-199{padding:199px!important}.p-198{padding:198px!important}.p-197{padding:197px!important}.p-196{padding:196px!important}.p-195{padding:195px!important}.p-194{padding:194px!important}.p-193{padding:193px!important}.p-192{padding:192px!important}.p-191{padding:191px!important}.p-190{padding:190px!important}.p-189{padding:189px!important}.p-188{padding:188px!important}.p-187{padding:187px!important}.p-186{padding:186px!important}.p-185{padding:185px!important}.p-184{padding:184px!important}.p-183{padding:183px!important}.p-182{padding:182px!important}.p-181{padding:181px!important}.p-180{padding:180px!important}.p-179{padding:179px!important}.p-178{padding:178px!important}.p-177{padding:177px!important}.p-176{padding:176px!important}.p-175{padding:175px!important}.p-174{padding:174px!important}.p-173{padding:173px!important}.p-172{padding:172px!important}.p-171{padding:171px!important}.p-170{padding:170px!important}.p-169{padding:169px!important}.p-168{padding:168px!important}.p-167{padding:167px!important}.p-166{padding:166px!important}.p-165{padding:165px!important}.p-164{padding:164px!important}.p-163{padding:163px!important}.p-162{padding:162px!important}.p-161{padding:161px!important}.p-160{padding:160px!important}.p-159{padding:159px!important}.p-158{padding:158px!important}.p-157{padding:157px!important}.p-156{padding:156px!important}.p-155{padding:155px!important}.p-154{padding:154px!important}.p-153{padding:153px!important}.p-152{padding:152px!important}.p-151{padding:151px!important}.p-150{padding:150px!important}.p-149{padding:149px!important}.p-148{padding:148px!important}.p-147{padding:147px!important}.p-146{padding:146px!important}.p-145{padding:145px!important}.p-144{padding:144px!important}.p-143{padding:143px!important}.p-142{padding:142px!important}.p-141{padding:141px!important}.p-140{padding:140px!important}.p-139{padding:139px!important}.p-138{padding:138px!important}.p-137{padding:137px!important}.p-136{padding:136px!important}.p-135{padding:135px!important}.p-134{padding:134px!important}.p-133{padding:133px!important}.p-132{padding:132px!important}.p-131{padding:131px!important}.p-130{padding:130px!important}.p-129{padding:129px!important}.p-128{padding:128px!important}.p-127{padding:127px!important}.p-126{padding:126px!important}.p-125{padding:125px!important}.p-124{padding:124px!important}.p-123{padding:123px!important}.p-122{padding:122px!important}.p-121{padding:121px!important}.p-120{padding:120px!important}.p-119{padding:119px!important}.p-118{padding:118px!important}.p-117{padding:117px!important}.p-116{padding:116px!important}.p-115{padding:115px!important}.p-114{padding:114px!important}.p-113{padding:113px!important}.p-112{padding:112px!important}.p-111{padding:111px!important}.p-110{padding:110px!important}.p-109{padding:109px!important}.p-108{padding:108px!important}.p-107{padding:107px!important}.p-106{padding:106px!important}.p-105{padding:105px!important}.p-104{padding:104px!important}.p-103{padding:103px!important}.p-102{padding:102px!important}.p-101{padding:101px!important}.p-100{padding:100px!important}.p-99{padding:99px!important}.p-98{padding:98px!important}.p-97{padding:97px!important}.p-96{padding:96px!important}.p-95{padding:95px!important}.p-94{padding:94px!important}.p-93{padding:93px!important}.p-92{padding:92px!important}.p-91{padding:91px!important}.p-90{padding:90px!important}.p-89{padding:89px!important}.p-88{padding:88px!important}.p-87{padding:87px!important}.p-86{padding:86px!important}.p-85{padding:85px!important}.p-84{padding:84px!important}.p-83{padding:83px!important}.p-82{padding:82px!important}.p-81{padding:81px!important}.p-80{padding:80px!important}.p-79{padding:79px!important}.p-78{padding:78px!important}.p-77{padding:77px!important}.p-76{padding:76px!important}.p-75{padding:75px!important}.p-74{padding:74px!important}.p-73{padding:73px!important}.p-72{padding:72px!important}.p-71{padding:71px!important}.p-70{padding:70px!important}.p-69{padding:69px!important}.p-68{padding:68px!important}.p-67{padding:67px!important}.p-66{padding:66px!important}.p-65{padding:65px!important}.p-64{padding:64px!important}.p-63{padding:63px!important}.p-62{padding:62px!important}.p-61{padding:61px!important}.p-60{padding:60px!important}.p-59{padding:59px!important}.p-58{padding:58px!important}.p-57{padding:57px!important}.p-56{padding:56px!important}.p-55{padding:55px!important}.p-54{padding:54px!important}.p-53{padding:53px!important}.p-52{padding:52px!important}.p-51{padding:51px!important}.p-50{padding:50px!important}.p-49{padding:49px!important}.p-48{padding:48px!important}.p-47{padding:47px!important}.p-46{padding:46px!important}.p-45{padding:45px!important}.p-44{padding:44px!important}.p-43{padding:43px!important}.p-42{padding:42px!important}.p-41{padding:41px!important}.p-40{padding:40px!important}.p-39{padding:39px!important}.p-38{padding:38px!important}.p-37{padding:37px!important}.p-36{padding:36px!important}.p-35{padding:35px!important}.p-34{padding:34px!important}.p-33{padding:33px!important}.p-32{padding:32px!important}.p-31{padding:31px!important}.p-30{padding:30px!important}.p-29{padding:29px!important}.p-28{padding:28px!important}.p-27{padding:27px!important}.p-26{padding:26px!important}.p-25{padding:25px!important}.p-24{padding:24px!important}.p-23{padding:23px!important}.p-22{padding:22px!important}.p-21{padding:21px!important}.p-20{padding:20px!important}.p-19{padding:19px!important}.p-18{padding:18px!important}.p-17{padding:17px!important}.p-16{padding:16px!important}.p-15{padding:15px!important}.p-14{padding:14px!important}.p-13{padding:13px!important}.p-12{padding:12px!important}.p-11{padding:11px!important}.p-10{padding:10px!important}.p-9{padding:9px!important}.p-8{padding:8px!important}.p-7{padding:7px!important}.p-6{padding:6px!important}.p-5{padding:5px!important}.p-4{padding:4px!important}.p-3{padding:3px!important}.p-2{padding:2px!important}.p-1{padding:1px!important}.p-0{padding:0!important}.p-t-200{padding-top:200px!important}.p-t-199{padding-top:199px!important}.p-t-198{padding-top:198px!important}.p-t-197{padding-top:197px!important}.p-t-196{padding-top:196px!important}.p-t-195{padding-top:195px!important}.p-t-194{padding-top:194px!important}.p-t-193{padding-top:193px!important}.p-t-192{padding-top:192px!important}.p-t-191{padding-top:191px!important}.p-t-190{padding-top:190px!important}.p-t-189{padding-top:189px!important}.p-t-188{padding-top:188px!important}.p-t-187{padding-top:187px!important}.p-t-186{padding-top:186px!important}.p-t-185{padding-top:185px!important}.p-t-184{padding-top:184px!important}.p-t-183{padding-top:183px!important}.p-t-182{padding-top:182px!important}.p-t-181{padding-top:181px!important}.p-t-180{padding-top:180px!important}.p-t-179{padding-top:179px!important}.p-t-178{padding-top:178px!important}.p-t-177{padding-top:177px!important}.p-t-176{padding-top:176px!important}.p-t-175{padding-top:175px!important}.p-t-174{padding-top:174px!important}.p-t-173{padding-top:173px!important}.p-t-172{padding-top:172px!important}.p-t-171{padding-top:171px!important}.p-t-170{padding-top:170px!important}.p-t-169{padding-top:169px!important}.p-t-168{padding-top:168px!important}.p-t-167{padding-top:167px!important}.p-t-166{padding-top:166px!important}.p-t-165{padding-top:165px!important}.p-t-164{padding-top:164px!important}.p-t-163{padding-top:163px!important}.p-t-162{padding-top:162px!important}.p-t-161{padding-top:161px!important}.p-t-160{padding-top:160px!important}.p-t-159{padding-top:159px!important}.p-t-158{padding-top:158px!important}.p-t-157{padding-top:157px!important}.p-t-156{padding-top:156px!important}.p-t-155{padding-top:155px!important}.p-t-154{padding-top:154px!important}.p-t-153{padding-top:153px!important}.p-t-152{padding-top:152px!important}.p-t-151{padding-top:151px!important}.p-t-150{padding-top:150px!important}.p-t-149{padding-top:149px!important}.p-t-148{padding-top:148px!important}.p-t-147{padding-top:147px!important}.p-t-146{padding-top:146px!important}.p-t-145{padding-top:145px!important}.p-t-144{padding-top:144px!important}.p-t-143{padding-top:143px!important}.p-t-142{padding-top:142px!important}.p-t-141{padding-top:141px!important}.p-t-140{padding-top:140px!important}.p-t-139{padding-top:139px!important}.p-t-138{padding-top:138px!important}.p-t-137{padding-top:137px!important}.p-t-136{padding-top:136px!important}.p-t-135{padding-top:135px!important}.p-t-134{padding-top:134px!important}.p-t-133{padding-top:133px!important}.p-t-132{padding-top:132px!important}.p-t-131{padding-top:131px!important}.p-t-130{padding-top:130px!important}.p-t-129{padding-top:129px!important}.p-t-128{padding-top:128px!important}.p-t-127{padding-top:127px!important}.p-t-126{padding-top:126px!important}.p-t-125{padding-top:125px!important}.p-t-124{padding-top:124px!important}.p-t-123{padding-top:123px!important}.p-t-122{padding-top:122px!important}.p-t-121{padding-top:121px!important}.p-t-120{padding-top:120px!important}.p-t-119{padding-top:119px!important}.p-t-118{padding-top:118px!important}.p-t-117{padding-top:117px!important}.p-t-116{padding-top:116px!important}.p-t-115{padding-top:115px!important}.p-t-114{padding-top:114px!important}.p-t-113{padding-top:113px!important}.p-t-112{padding-top:112px!important}.p-t-111{padding-top:111px!important}.p-t-110{padding-top:110px!important}.p-t-109{padding-top:109px!important}.p-t-108{padding-top:108px!important}.p-t-107{padding-top:107px!important}.p-t-106{padding-top:106px!important}.p-t-105{padding-top:105px!important}.p-t-104{padding-top:104px!important}.p-t-103{padding-top:103px!important}.p-t-102{padding-top:102px!important}.p-t-101{padding-top:101px!important}.p-t-100{padding-top:100px!important}.p-t-99{padding-top:99px!important}.p-t-98{padding-top:98px!important}.p-t-97{padding-top:97px!important}.p-t-96{padding-top:96px!important}.p-t-95{padding-top:95px!important}.p-t-94{padding-top:94px!important}.p-t-93{padding-top:93px!important}.p-t-92{padding-top:92px!important}.p-t-91{padding-top:91px!important}.p-t-90{padding-top:90px!important}.p-t-89{padding-top:89px!important}.p-t-88{padding-top:88px!important}.p-t-87{padding-top:87px!important}.p-t-86{padding-top:86px!important}.p-t-85{padding-top:85px!important}.p-t-84{padding-top:84px!important}.p-t-83{padding-top:83px!important}.p-t-82{padding-top:82px!important}.p-t-81{padding-top:81px!important}.p-t-80{padding-top:80px!important}.p-t-79{padding-top:79px!important}.p-t-78{padding-top:78px!important}.p-t-77{padding-top:77px!important}.p-t-76{padding-top:76px!important}.p-t-75{padding-top:75px!important}.p-t-74{padding-top:74px!important}.p-t-73{padding-top:73px!important}.p-t-72{padding-top:72px!important}.p-t-71{padding-top:71px!important}.p-t-70{padding-top:70px!important}.p-t-69{padding-top:69px!important}.p-t-68{padding-top:68px!important}.p-t-67{padding-top:67px!important}.p-t-66{padding-top:66px!important}.p-t-65{padding-top:65px!important}.p-t-64{padding-top:64px!important}.p-t-63{padding-top:63px!important}.p-t-62{padding-top:62px!important}.p-t-61{padding-top:61px!important}.p-t-60{padding-top:60px!important}.p-t-59{padding-top:59px!important}.p-t-58{padding-top:58px!important}.p-t-57{padding-top:57px!important}.p-t-56{padding-top:56px!important}.p-t-55{padding-top:55px!important}.p-t-54{padding-top:54px!important}.p-t-53{padding-top:53px!important}.p-t-52{padding-top:52px!important}.p-t-51{padding-top:51px!important}.p-t-50{padding-top:50px!important}.p-t-49{padding-top:49px!important}.p-t-48{padding-top:48px!important}.p-t-47{padding-top:47px!important}.p-t-46{padding-top:46px!important}.p-t-45{padding-top:45px!important}.p-t-44{padding-top:44px!important}.p-t-43{padding-top:43px!important}.p-t-42{padding-top:42px!important}.p-t-41{padding-top:41px!important}.p-t-40{padding-top:40px!important}.p-t-39{padding-top:39px!important}.p-t-38{padding-top:38px!important}.p-t-37{padding-top:37px!important}.p-t-36{padding-top:36px!important}.p-t-35{padding-top:35px!important}.p-t-34{padding-top:34px!important}.p-t-33{padding-top:33px!important}.p-t-32{padding-top:32px!important}.p-t-31{padding-top:31px!important}.p-t-30{padding-top:30px!important}.p-t-29{padding-top:29px!important}.p-t-28{padding-top:28px!important}.p-t-27{padding-top:27px!important}.p-t-26{padding-top:26px!important}.p-t-25{padding-top:25px!important}.p-t-24{padding-top:24px!important}.p-t-23{padding-top:23px!important}.p-t-22{padding-top:22px!important}.p-t-21{padding-top:21px!important}.p-t-20{padding-top:20px!important}.p-t-19{padding-top:19px!important}.p-t-18{padding-top:18px!important}.p-t-17{padding-top:17px!important}.p-t-16{padding-top:16px!important}.p-t-15{padding-top:15px!important}.p-t-14{padding-top:14px!important}.p-t-13{padding-top:13px!important}.p-t-12{padding-top:12px!important}.p-t-11{padding-top:11px!important}.p-t-10{padding-top:10px!important}.p-t-9{padding-top:9px!important}.p-t-8{padding-top:8px!important}.p-t-7{padding-top:7px!important}.p-t-6{padding-top:6px!important}.p-t-5{padding-top:5px!important}.p-t-4{padding-top:4px!important}.p-t-3{padding-top:3px!important}.p-t-2{padding-top:2px!important}.p-t-1{padding-top:1px!important}.p-t-0{padding-top:0!important}.p-b-200{padding-bottom:200px!important}.p-b-199{padding-bottom:199px!important}.p-b-198{padding-bottom:198px!important}.p-b-197{padding-bottom:197px!important}.p-b-196{padding-bottom:196px!important}.p-b-195{padding-bottom:195px!important}.p-b-194{padding-bottom:194px!important}.p-b-193{padding-bottom:193px!important}.p-b-192{padding-bottom:192px!important}.p-b-191{padding-bottom:191px!important}.p-b-190{padding-bottom:190px!important}.p-b-189{padding-bottom:189px!important}.p-b-188{padding-bottom:188px!important}.p-b-187{padding-bottom:187px!important}.p-b-186{padding-bottom:186px!important}.p-b-185{padding-bottom:185px!important}.p-b-184{padding-bottom:184px!important}.p-b-183{padding-bottom:183px!important}.p-b-182{padding-bottom:182px!important}.p-b-181{padding-bottom:181px!important}.p-b-180{padding-bottom:180px!important}.p-b-179{padding-bottom:179px!important}.p-b-178{padding-bottom:178px!important}.p-b-177{padding-bottom:177px!important}.p-b-176{padding-bottom:176px!important}.p-b-175{padding-bottom:175px!important}.p-b-174{padding-bottom:174px!important}.p-b-173{padding-bottom:173px!important}.p-b-172{padding-bottom:172px!important}.p-b-171{padding-bottom:171px!important}.p-b-170{padding-bottom:170px!important}.p-b-169{padding-bottom:169px!important}.p-b-168{padding-bottom:168px!important}.p-b-167{padding-bottom:167px!important}.p-b-166{padding-bottom:166px!important}.p-b-165{padding-bottom:165px!important}.p-b-164{padding-bottom:164px!important}.p-b-163{padding-bottom:163px!important}.p-b-162{padding-bottom:162px!important}.p-b-161{padding-bottom:161px!important}.p-b-160{padding-bottom:160px!important}.p-b-159{padding-bottom:159px!important}.p-b-158{padding-bottom:158px!important}.p-b-157{padding-bottom:157px!important}.p-b-156{padding-bottom:156px!important}.p-b-155{padding-bottom:155px!important}.p-b-154{padding-bottom:154px!important}.p-b-153{padding-bottom:153px!important}.p-b-152{padding-bottom:152px!important}.p-b-151{padding-bottom:151px!important}.p-b-150{padding-bottom:150px!important}.p-b-149{padding-bottom:149px!important}.p-b-148{padding-bottom:148px!important}.p-b-147{padding-bottom:147px!important}.p-b-146{padding-bottom:146px!important}.p-b-145{padding-bottom:145px!important}.p-b-144{padding-bottom:144px!important}.p-b-143{padding-bottom:143px!important}.p-b-142{padding-bottom:142px!important}.p-b-141{padding-bottom:141px!important}.p-b-140{padding-bottom:140px!important}.p-b-139{padding-bottom:139px!important}.p-b-138{padding-bottom:138px!important}.p-b-137{padding-bottom:137px!important}.p-b-136{padding-bottom:136px!important}.p-b-135{padding-bottom:135px!important}.p-b-134{padding-bottom:134px!important}.p-b-133{padding-bottom:133px!important}.p-b-132{padding-bottom:132px!important}.p-b-131{padding-bottom:131px!important}.p-b-130{padding-bottom:130px!important}.p-b-129{padding-bottom:129px!important}.p-b-128{padding-bottom:128px!important}.p-b-127{padding-bottom:127px!important}.p-b-126{padding-bottom:126px!important}.p-b-125{padding-bottom:125px!important}.p-b-124{padding-bottom:124px!important}.p-b-123{padding-bottom:123px!important}.p-b-122{padding-bottom:122px!important}.p-b-121{padding-bottom:121px!important}.p-b-120{padding-bottom:120px!important}.p-b-119{padding-bottom:119px!important}.p-b-118{padding-bottom:118px!important}.p-b-117{padding-bottom:117px!important}.p-b-116{padding-bottom:116px!important}.p-b-115{padding-bottom:115px!important}.p-b-114{padding-bottom:114px!important}.p-b-113{padding-bottom:113px!important}.p-b-112{padding-bottom:112px!important}.p-b-111{padding-bottom:111px!important}.p-b-110{padding-bottom:110px!important}.p-b-109{padding-bottom:109px!important}.p-b-108{padding-bottom:108px!important}.p-b-107{padding-bottom:107px!important}.p-b-106{padding-bottom:106px!important}.p-b-105{padding-bottom:105px!important}.p-b-104{padding-bottom:104px!important}.p-b-103{padding-bottom:103px!important}.p-b-102{padding-bottom:102px!important}.p-b-101{padding-bottom:101px!important}.p-b-100{padding-bottom:100px!important}.p-b-99{padding-bottom:99px!important}.p-b-98{padding-bottom:98px!important}.p-b-97{padding-bottom:97px!important}.p-b-96{padding-bottom:96px!important}.p-b-95{padding-bottom:95px!important}.p-b-94{padding-bottom:94px!important}.p-b-93{padding-bottom:93px!important}.p-b-92{padding-bottom:92px!important}.p-b-91{padding-bottom:91px!important}.p-b-90{padding-bottom:90px!important}.p-b-89{padding-bottom:89px!important}.p-b-88{padding-bottom:88px!important}.p-b-87{padding-bottom:87px!important}.p-b-86{padding-bottom:86px!important}.p-b-85{padding-bottom:85px!important}.p-b-84{padding-bottom:84px!important}.p-b-83{padding-bottom:83px!important}.p-b-82{padding-bottom:82px!important}.p-b-81{padding-bottom:81px!important}.p-b-80{padding-bottom:80px!important}.p-b-79{padding-bottom:79px!important}.p-b-78{padding-bottom:78px!important}.p-b-77{padding-bottom:77px!important}.p-b-76{padding-bottom:76px!important}.p-b-75{padding-bottom:75px!important}.p-b-74{padding-bottom:74px!important}.p-b-73{padding-bottom:73px!important}.p-b-72{padding-bottom:72px!important}.p-b-71{padding-bottom:71px!important}.p-b-70{padding-bottom:70px!important}.p-b-69{padding-bottom:69px!important}.p-b-68{padding-bottom:68px!important}.p-b-67{padding-bottom:67px!important}.p-b-66{padding-bottom:66px!important}.p-b-65{padding-bottom:65px!important}.p-b-64{padding-bottom:64px!important}.p-b-63{padding-bottom:63px!important}.p-b-62{padding-bottom:62px!important}.p-b-61{padding-bottom:61px!important}.p-b-60{padding-bottom:60px!important}.p-b-59{padding-bottom:59px!important}.p-b-58{padding-bottom:58px!important}.p-b-57{padding-bottom:57px!important}.p-b-56{padding-bottom:56px!important}.p-b-55{padding-bottom:55px!important}.p-b-54{padding-bottom:54px!important}.p-b-53{padding-bottom:53px!important}.p-b-52{padding-bottom:52px!important}.p-b-51{padding-bottom:51px!important}.p-b-50{padding-bottom:50px!important}.p-b-49{padding-bottom:49px!important}.p-b-48{padding-bottom:48px!important}.p-b-47{padding-bottom:47px!important}.p-b-46{padding-bottom:46px!important}.p-b-45{padding-bottom:45px!important}.p-b-44{padding-bottom:44px!important}.p-b-43{padding-bottom:43px!important}.p-b-42{padding-bottom:42px!important}.p-b-41{padding-bottom:41px!important}.p-b-40{padding-bottom:40px!important}.p-b-39{padding-bottom:39px!important}.p-b-38{padding-bottom:38px!important}.p-b-37{padding-bottom:37px!important}.p-b-36{padding-bottom:36px!important}.p-b-35{padding-bottom:35px!important}.p-b-34{padding-bottom:34px!important}.p-b-33{padding-bottom:33px!important}.p-b-32{padding-bottom:32px!important}.p-b-31{padding-bottom:31px!important}.p-b-30{padding-bottom:30px!important}.p-b-29{padding-bottom:29px!important}.p-b-28{padding-bottom:28px!important}.p-b-27{padding-bottom:27px!important}.p-b-26{padding-bottom:26px!important}.p-b-25{padding-bottom:25px!important}.p-b-24{padding-bottom:24px!important}.p-b-23{padding-bottom:23px!important}.p-b-22{padding-bottom:22px!important}.p-b-21{padding-bottom:21px!important}.p-b-20{padding-bottom:20px!important}.p-b-19{padding-bottom:19px!important}.p-b-18{padding-bottom:18px!important}.p-b-17{padding-bottom:17px!important}.p-b-16{padding-bottom:16px!important}.p-b-15{padding-bottom:15px!important}.p-b-14{padding-bottom:14px!important}.p-b-13{padding-bottom:13px!important}.p-b-12{padding-bottom:12px!important}.p-b-11{padding-bottom:11px!important}.p-b-10{padding-bottom:10px!important}.p-b-9{padding-bottom:9px!important}.p-b-8{padding-bottom:8px!important}.p-b-7{padding-bottom:7px!important}.p-b-6{padding-bottom:6px!important}.p-b-5{padding-bottom:5px!important}.p-b-4{padding-bottom:4px!important}.p-b-3{padding-bottom:3px!important}.p-b-2{padding-bottom:2px!important}.p-b-1{padding-bottom:1px!important}.p-b-0{padding-bottom:0!important}.p-r-200{padding-right:200px!important}.p-r-199{padding-right:199px!important}.p-r-198{padding-right:198px!important}.p-r-197{padding-right:197px!important}.p-r-196{padding-right:196px!important}.p-r-195{padding-right:195px!important}.p-r-194{padding-right:194px!important}.p-r-193{padding-right:193px!important}.p-r-192{padding-right:192px!important}.p-r-191{padding-right:191px!important}.p-r-190{padding-right:190px!important}.p-r-189{padding-right:189px!important}.p-r-188{padding-right:188px!important}.p-r-187{padding-right:187px!important}.p-r-186{padding-right:186px!important}.p-r-185{padding-right:185px!important}.p-r-184{padding-right:184px!important}.p-r-183{padding-right:183px!important}.p-r-182{padding-right:182px!important}.p-r-181{padding-right:181px!important}.p-r-180{padding-right:180px!important}.p-r-179{padding-right:179px!important}.p-r-178{padding-right:178px!important}.p-r-177{padding-right:177px!important}.p-r-176{padding-right:176px!important}.p-r-175{padding-right:175px!important}.p-r-174{padding-right:174px!important}.p-r-173{padding-right:173px!important}.p-r-172{padding-right:172px!important}.p-r-171{padding-right:171px!important}.p-r-170{padding-right:170px!important}.p-r-169{padding-right:169px!important}.p-r-168{padding-right:168px!important}.p-r-167{padding-right:167px!important}.p-r-166{padding-right:166px!important}.p-r-165{padding-right:165px!important}.p-r-164{padding-right:164px!important}.p-r-163{padding-right:163px!important}.p-r-162{padding-right:162px!important}.p-r-161{padding-right:161px!important}.p-r-160{padding-right:160px!important}.p-r-159{padding-right:159px!important}.p-r-158{padding-right:158px!important}.p-r-157{padding-right:157px!important}.p-r-156{padding-right:156px!important}.p-r-155{padding-right:155px!important}.p-r-154{padding-right:154px!important}.p-r-153{padding-right:153px!important}.p-r-152{padding-right:152px!important}.p-r-151{padding-right:151px!important}.p-r-150{padding-right:150px!important}.p-r-149{padding-right:149px!important}.p-r-148{padding-right:148px!important}.p-r-147{padding-right:147px!important}.p-r-146{padding-right:146px!important}.p-r-145{padding-right:145px!important}.p-r-144{padding-right:144px!important}.p-r-143{padding-right:143px!important}.p-r-142{padding-right:142px!important}.p-r-141{padding-right:141px!important}.p-r-140{padding-right:140px!important}.p-r-139{padding-right:139px!important}.p-r-138{padding-right:138px!important}.p-r-137{padding-right:137px!important}.p-r-136{padding-right:136px!important}.p-r-135{padding-right:135px!important}.p-r-134{padding-right:134px!important}.p-r-133{padding-right:133px!important}.p-r-132{padding-right:132px!important}.p-r-131{padding-right:131px!important}.p-r-130{padding-right:130px!important}.p-r-129{padding-right:129px!important}.p-r-128{padding-right:128px!important}.p-r-127{padding-right:127px!important}.p-r-126{padding-right:126px!important}.p-r-125{padding-right:125px!important}.p-r-124{padding-right:124px!important}.p-r-123{padding-right:123px!important}.p-r-122{padding-right:122px!important}.p-r-121{padding-right:121px!important}.p-r-120{padding-right:120px!important}.p-r-119{padding-right:119px!important}.p-r-118{padding-right:118px!important}.p-r-117{padding-right:117px!important}.p-r-116{padding-right:116px!important}.p-r-115{padding-right:115px!important}.p-r-114{padding-right:114px!important}.p-r-113{padding-right:113px!important}.p-r-112{padding-right:112px!important}.p-r-111{padding-right:111px!important}.p-r-110{padding-right:110px!important}.p-r-109{padding-right:109px!important}.p-r-108{padding-right:108px!important}.p-r-107{padding-right:107px!important}.p-r-106{padding-right:106px!important}.p-r-105{padding-right:105px!important}.p-r-104{padding-right:104px!important}.p-r-103{padding-right:103px!important}.p-r-102{padding-right:102px!important}.p-r-101{padding-right:101px!important}.p-r-100{padding-right:100px!important}.p-r-99{padding-right:99px!important}.p-r-98{padding-right:98px!important}.p-r-97{padding-right:97px!important}.p-r-96{padding-right:96px!important}.p-r-95{padding-right:95px!important}.p-r-94{padding-right:94px!important}.p-r-93{padding-right:93px!important}.p-r-92{padding-right:92px!important}.p-r-91{padding-right:91px!important}.p-r-90{padding-right:90px!important}.p-r-89{padding-right:89px!important}.p-r-88{padding-right:88px!important}.p-r-87{padding-right:87px!important}.p-r-86{padding-right:86px!important}.p-r-85{padding-right:85px!important}.p-r-84{padding-right:84px!important}.p-r-83{padding-right:83px!important}.p-r-82{padding-right:82px!important}.p-r-81{padding-right:81px!important}.p-r-80{padding-right:80px!important}.p-r-79{padding-right:79px!important}.p-r-78{padding-right:78px!important}.p-r-77{padding-right:77px!important}.p-r-76{padding-right:76px!important}.p-r-75{padding-right:75px!important}.p-r-74{padding-right:74px!important}.p-r-73{padding-right:73px!important}.p-r-72{padding-right:72px!important}.p-r-71{padding-right:71px!important}.p-r-70{padding-right:70px!important}.p-r-69{padding-right:69px!important}.p-r-68{padding-right:68px!important}.p-r-67{padding-right:67px!important}.p-r-66{padding-right:66px!important}.p-r-65{padding-right:65px!important}.p-r-64{padding-right:64px!important}.p-r-63{padding-right:63px!important}.p-r-62{padding-right:62px!important}.p-r-61{padding-right:61px!important}.p-r-60{padding-right:60px!important}.p-r-59{padding-right:59px!important}.p-r-58{padding-right:58px!important}.p-r-57{padding-right:57px!important}.p-r-56{padding-right:56px!important}.p-r-55{padding-right:55px!important}.p-r-54{padding-right:54px!important}.p-r-53{padding-right:53px!important}.p-r-52{padding-right:52px!important}.p-r-51{padding-right:51px!important}.p-r-50{padding-right:50px!important}.p-r-49{padding-right:49px!important}.p-r-48{padding-right:48px!important}.p-r-47{padding-right:47px!important}.p-r-46{padding-right:46px!important}.p-r-45{padding-right:45px!important}.p-r-44{padding-right:44px!important}.p-r-43{padding-right:43px!important}.p-r-42{padding-right:42px!important}.p-r-41{padding-right:41px!important}.p-r-40{padding-right:40px!important}.p-r-39{padding-right:39px!important}.p-r-38{padding-right:38px!important}.p-r-37{padding-right:37px!important}.p-r-36{padding-right:36px!important}.p-r-35{padding-right:35px!important}.p-r-34{padding-right:34px!important}.p-r-33{padding-right:33px!important}.p-r-32{padding-right:32px!important}.p-r-31{padding-right:31px!important}.p-r-30{padding-right:30px!important}.p-r-29{padding-right:29px!important}.p-r-28{padding-right:28px!important}.p-r-27{padding-right:27px!important}.p-r-26{padding-right:26px!important}.p-r-25{padding-right:25px!important}.p-r-24{padding-right:24px!important}.p-r-23{padding-right:23px!important}.p-r-22{padding-right:22px!important}.p-r-21{padding-right:21px!important}.p-r-20{padding-right:20px!important}.p-r-19{padding-right:19px!important}.p-r-18{padding-right:18px!important}.p-r-17{padding-right:17px!important}.p-r-16{padding-right:16px!important}.p-r-15{padding-right:15px!important}.p-r-14{padding-right:14px!important}.p-r-13{padding-right:13px!important}.p-r-12{padding-right:12px!important}.p-r-11{padding-right:11px!important}.p-r-10{padding-right:10px!important}.p-r-9{padding-right:9px!important}.p-r-8{padding-right:8px!important}.p-r-7{padding-right:7px!important}.p-r-6{padding-right:6px!important}.p-r-5{padding-right:5px!important}.p-r-4{padding-right:4px!important}.p-r-3{padding-right:3px!important}.p-r-2{padding-right:2px!important}.p-r-1{padding-right:1px!important}.p-r-0{padding-right:0!important}.p-l-100{padding-left:100px!important}.p-l-99{padding-left:99px!important}.p-l-98{padding-left:98px!important}.p-l-97{padding-left:97px!important}.p-l-96{padding-left:96px!important}.p-l-95{padding-left:95px!important}.p-l-94{padding-left:94px!important}.p-l-93{padding-left:93px!important}.p-l-92{padding-left:92px!important}.p-l-91{padding-left:91px!important}.p-l-90{padding-left:90px!important}.p-l-89{padding-left:89px!important}.p-l-88{padding-left:88px!important}.p-l-87{padding-left:87px!important}.p-l-86{padding-left:86px!important}.p-l-85{padding-left:85px!important}.p-l-84{padding-left:84px!important}.p-l-83{padding-left:83px!important}.p-l-82{padding-left:82px!important}.p-l-81{padding-left:81px!important}.p-l-80{padding-left:80px!important}.p-l-79{padding-left:79px!important}.p-l-78{padding-left:78px!important}.p-l-77{padding-left:77px!important}.p-l-76{padding-left:76px!important}.p-l-75{padding-left:75px!important}.p-l-74{padding-left:74px!important}.p-l-73{padding-left:73px!important}.p-l-72{padding-left:72px!important}.p-l-71{padding-left:71px!important}.p-l-70{padding-left:70px!important}.p-l-69{padding-left:69px!important}.p-l-68{padding-left:68px!important}.p-l-67{padding-left:67px!important}.p-l-66{padding-left:66px!important}.p-l-65{padding-left:65px!important}.p-l-64{padding-left:64px!important}.p-l-63{padding-left:63px!important}.p-l-62{padding-left:62px!important}.p-l-61{padding-left:61px!important}.p-l-60{padding-left:60px!important}.p-l-59{padding-left:59px!important}.p-l-58{padding-left:58px!important}.p-l-57{padding-left:57px!important}.p-l-56{padding-left:56px!important}.p-l-55{padding-left:55px!important}.p-l-54{padding-left:54px!important}.p-l-53{padding-left:53px!important}.p-l-52{padding-left:52px!important}.p-l-51{padding-left:51px!important}.p-l-50{padding-left:50px!important}.p-l-49{padding-left:49px!important}.p-l-48{padding-left:48px!important}.p-l-47{padding-left:47px!important}.p-l-46{padding-left:46px!important}.p-l-45{padding-left:45px!important}.p-l-44{padding-left:44px!important}.p-l-43{padding-left:43px!important}.p-l-42{padding-left:42px!important}.p-l-41{padding-left:41px!important}.p-l-40{padding-left:40px!important}.p-l-39{padding-left:39px!important}.p-l-38{padding-left:38px!important}.p-l-37{padding-left:37px!important}.p-l-36{padding-left:36px!important}.p-l-35{padding-left:35px!important}.p-l-34{padding-left:34px!important}.p-l-33{padding-left:33px!important}.p-l-32{padding-left:32px!important}.p-l-31{padding-left:31px!important}.p-l-30{padding-left:30px!important}.p-l-29{padding-left:29px!important}.p-l-28{padding-left:28px!important}.p-l-27{padding-left:27px!important}.p-l-26{padding-left:26px!important}.p-l-25{padding-left:25px!important}.p-l-24{padding-left:24px!important}.p-l-23{padding-left:23px!important}.p-l-22{padding-left:22px!important}.p-l-21{padding-left:21px!important}.p-l-20{padding-left:20px!important}.p-l-19{padding-left:19px!important}.p-l-18{padding-left:18px!important}.p-l-17{padding-left:17px!important}.p-l-16{padding-left:16px!important}.p-l-15{padding-left:15px!important}.p-l-14{padding-left:14px!important}.p-l-13{padding-left:13px!important}.p-l-12{padding-left:12px!important}.p-l-11{padding-left:11px!important}.p-l-10{padding-left:10px!important}.p-l-9{padding-left:9px!important}.p-l-8{padding-left:8px!important}.p-l-7{padding-left:7px!important}.p-l-6{padding-left:6px!important}.p-l-5{padding-left:5px!important}.p-l-4{padding-left:4px!important}.p-l-3{padding-left:3px!important}.p-l-2{padding-left:2px!important}.p-l-1{padding-left:1px!important}.p-l-0{padding-left:0!important}.h-200{height:200px!important}.h-199{height:199px!important}.h-198{height:198px!important}.h-197{height:197px!important}.h-196{height:196px!important}.h-195{height:195px!important}.h-194{height:194px!important}.h-193{height:193px!important}.h-192{height:192px!important}.h-191{height:191px!important}.h-190{height:190px!important}.h-189{height:189px!important}.h-188{height:188px!important}.h-187{height:187px!important}.h-186{height:186px!important}.h-185{height:185px!important}.h-184{height:184px!important}.h-183{height:183px!important}.h-182{height:182px!important}.h-181{height:181px!important}.h-180{height:180px!important}.h-179{height:179px!important}.h-178{height:178px!important}.h-177{height:177px!important}.h-176{height:176px!important}.h-175{height:175px!important}.h-174{height:174px!important}.h-173{height:173px!important}.h-172{height:172px!important}.h-171{height:171px!important}.h-170{height:170px!important}.h-169{height:169px!important}.h-168{height:168px!important}.h-167{height:167px!important}.h-166{height:166px!important}.h-165{height:165px!important}.h-164{height:164px!important}.h-163{height:163px!important}.h-162{height:162px!important}.h-161{height:161px!important}.h-160{height:160px!important}.h-159{height:159px!important}.h-158{height:158px!important}.h-157{height:157px!important}.h-156{height:156px!important}.h-155{height:155px!important}.h-154{height:154px!important}.h-153{height:153px!important}.h-152{height:152px!important}.h-151{height:151px!important}.h-150{height:150px!important}.h-149{height:149px!important}.h-148{height:148px!important}.h-147{height:147px!important}.h-146{height:146px!important}.h-145{height:145px!important}.h-144{height:144px!important}.h-143{height:143px!important}.h-142{height:142px!important}.h-141{height:141px!important}.h-140{height:140px!important}.h-139{height:139px!important}.h-138{height:138px!important}.h-137{height:137px!important}.h-136{height:136px!important}.h-135{height:135px!important}.h-134{height:134px!important}.h-133{height:133px!important}.h-132{height:132px!important}.h-131{height:131px!important}.h-130{height:130px!important}.h-129{height:129px!important}.h-128{height:128px!important}.h-127{height:127px!important}.h-126{height:126px!important}.h-125{height:125px!important}.h-124{height:124px!important}.h-123{height:123px!important}.h-122{height:122px!important}.h-121{height:121px!important}.h-120{height:120px!important}.h-119{height:119px!important}.h-118{height:118px!important}.h-117{height:117px!important}.h-116{height:116px!important}.h-115{height:115px!important}.h-114{height:114px!important}.h-113{height:113px!important}.h-112{height:112px!important}.h-111{height:111px!important}.h-110{height:110px!important}.h-109{height:109px!important}.h-108{height:108px!important}.h-107{height:107px!important}.h-106{height:106px!important}.h-105{height:105px!important}.h-104{height:104px!important}.h-103{height:103px!important}.h-102{height:102px!important}.h-101{height:101px!important}.h-100{height:100px!important}.h-99{height:99px!important}.h-98{height:98px!important}.h-97{height:97px!important}.h-96{height:96px!important}.h-95{height:95px!important}.h-94{height:94px!important}.h-93{height:93px!important}.h-92{height:92px!important}.h-91{height:91px!important}.h-90{height:90px!important}.h-89{height:89px!important}.h-88{height:88px!important}.h-87{height:87px!important}.h-86{height:86px!important}.h-85{height:85px!important}.h-84{height:84px!important}.h-83{height:83px!important}.h-82{height:82px!important}.h-81{height:81px!important}.h-80{height:80px!important}.h-79{height:79px!important}.h-78{height:78px!important}.h-77{height:77px!important}.h-76{height:76px!important}.h-75{height:75px!important}.h-74{height:74px!important}.h-73{height:73px!important}.h-72{height:72px!important}.h-71{height:71px!important}.h-70{height:70px!important}.h-69{height:69px!important}.h-68{height:68px!important}.h-67{height:67px!important}.h-66{height:66px!important}.h-65{height:65px!important}.h-64{height:64px!important}.h-63{height:63px!important}.h-62{height:62px!important}.h-61{height:61px!important}.h-60{height:60px!important}.h-59{height:59px!important}.h-58{height:58px!important}.h-57{height:57px!important}.h-56{height:56px!important}.h-55{height:55px!important}.h-54{height:54px!important}.h-53{height:53px!important}.h-52{height:52px!important}.h-51{height:51px!important}.h-50{height:50px!important}.h-49{height:49px!important}.h-48{height:48px!important}.h-47{height:47px!important}.h-46{height:46px!important}.h-45{height:45px!important}.h-44{height:44px!important}.h-43{height:43px!important}.h-42{height:42px!important}.h-41{height:41px!important}.h-40{height:40px!important}.h-39{height:39px!important}.h-38{height:38px!important}.h-37{height:37px!important}.h-36{height:36px!important}.h-35{height:35px!important}.h-34{height:34px!important}.h-33{height:33px!important}.h-32{height:32px!important}.h-31{height:31px!important}.h-30{height:30px!important}.h-29{height:29px!important}.h-28{height:28px!important}.h-27{height:27px!important}.h-26{height:26px!important}.h-25{height:25px!important}.h-24{height:24px!important}.h-23{height:23px!important}.h-22{height:22px!important}.h-21{height:21px!important}.h-20{height:20px!important}.h-19{height:19px!important}.h-18{height:18px!important}.h-17{height:17px!important}.h-16{height:16px!important}.h-15{height:15px!important}.h-14{height:14px!important}.h-13{height:13px!important}.h-12{height:12px!important}.h-11{height:11px!important}.h-10{height:10px!important}.h-9{height:9px!important}.h-8{height:8px!important}.h-7{height:7px!important}.h-6{height:6px!important}.h-5{height:5px!important}.h-4{height:4px!important}.h-3{height:3px!important}.h-2{height:2px!important}.h-1{height:1px!important}.h-0{height:0!important}.w-200{width:200px!important}.w-199{width:199px!important}.w-198{width:198px!important}.w-197{width:197px!important}.w-196{width:196px!important}.w-195{width:195px!important}.w-194{width:194px!important}.w-193{width:193px!important}.w-192{width:192px!important}.w-191{width:191px!important}.w-190{width:190px!important}.w-189{width:189px!important}.w-188{width:188px!important}.w-187{width:187px!important}.w-186{width:186px!important}.w-185{width:185px!important}.w-184{width:184px!important}.w-183{width:183px!important}.w-182{width:182px!important}.w-181{width:181px!important}.w-180{width:180px!important}.w-179{width:179px!important}.w-178{width:178px!important}.w-177{width:177px!important}.w-176{width:176px!important}.w-175{width:175px!important}.w-174{width:174px!important}.w-173{width:173px!important}.w-172{width:172px!important}.w-171{width:171px!important}.w-170{width:170px!important}.w-169{width:169px!important}.w-168{width:168px!important}.w-167{width:167px!important}.w-166{width:166px!important}.w-165{width:165px!important}.w-164{width:164px!important}.w-163{width:163px!important}.w-162{width:162px!important}.w-161{width:161px!important}.w-160{width:160px!important}.w-159{width:159px!important}.w-158{width:158px!important}.w-157{width:157px!important}.w-156{width:156px!important}.w-155{width:155px!important}.w-154{width:154px!important}.w-153{width:153px!important}.w-152{width:152px!important}.w-151{width:151px!important}.w-150{width:150px!important}.w-149{width:149px!important}.w-148{width:148px!important}.w-147{width:147px!important}.w-146{width:146px!important}.w-145{width:145px!important}.w-144{width:144px!important}.w-143{width:143px!important}.w-142{width:142px!important}.w-141{width:141px!important}.w-140{width:140px!important}.w-139{width:139px!important}.w-138{width:138px!important}.w-137{width:137px!important}.w-136{width:136px!important}.w-135{width:135px!important}.w-134{width:134px!important}.w-133{width:133px!important}.w-132{width:132px!important}.w-131{width:131px!important}.w-130{width:130px!important}.w-129{width:129px!important}.w-128{width:128px!important}.w-127{width:127px!important}.w-126{width:126px!important}.w-125{width:125px!important}.w-124{width:124px!important}.w-123{width:123px!important}.w-122{width:122px!important}.w-121{width:121px!important}.w-120{width:120px!important}.w-119{width:119px!important}.w-118{width:118px!important}.w-117{width:117px!important}.w-116{width:116px!important}.w-115{width:115px!important}.w-114{width:114px!important}.w-113{width:113px!important}.w-112{width:112px!important}.w-111{width:111px!important}.w-110{width:110px!important}.w-109{width:109px!important}.w-108{width:108px!important}.w-107{width:107px!important}.w-106{width:106px!important}.w-105{width:105px!important}.w-104{width:104px!important}.w-103{width:103px!important}.w-102{width:102px!important}.w-101{width:101px!important}.w-100{width:100px!important}.w-99{width:99px!important}.w-98{width:98px!important}.w-97{width:97px!important}.w-96{width:96px!important}.w-95{width:95px!important}.w-94{width:94px!important}.w-93{width:93px!important}.w-92{width:92px!important}.w-91{width:91px!important}.w-90{width:90px!important}.w-89{width:89px!important}.w-88{width:88px!important}.w-87{width:87px!important}.w-86{width:86px!important}.w-85{width:85px!important}.w-84{width:84px!important}.w-83{width:83px!important}.w-82{width:82px!important}.w-81{width:81px!important}.w-80{width:80px!important}.w-79{width:79px!important}.w-78{width:78px!important}.w-77{width:77px!important}.w-76{width:76px!important}.w-75{width:75px!important}.w-74{width:74px!important}.w-73{width:73px!important}.w-72{width:72px!important}.w-71{width:71px!important}.w-70{width:70px!important}.w-69{width:69px!important}.w-68{width:68px!important}.w-67{width:67px!important}.w-66{width:66px!important}.w-65{width:65px!important}.w-64{width:64px!important}.w-63{width:63px!important}.w-62{width:62px!important}.w-61{width:61px!important}.w-60{width:60px!important}.w-59{width:59px!important}.w-58{width:58px!important}.w-57{width:57px!important}.w-56{width:56px!important}.w-55{width:55px!important}.w-54{width:54px!important}.w-53{width:53px!important}.w-52{width:52px!important}.w-51{width:51px!important}.w-50{width:50px!important}.w-49{width:49px!important}.w-48{width:48px!important}.w-47{width:47px!important}.w-46{width:46px!important}.w-45{width:45px!important}.w-44{width:44px!important}.w-43{width:43px!important}.w-42{width:42px!important}.w-41{width:41px!important}.w-40{width:40px!important}.w-39{width:39px!important}.w-38{width:38px!important}.w-37{width:37px!important}.w-36{width:36px!important}.w-35{width:35px!important}.w-34{width:34px!important}.w-33{width:33px!important}.w-32{width:32px!important}.w-31{width:31px!important}.w-30{width:30px!important}.w-29{width:29px!important}.w-28{width:28px!important}.w-27{width:27px!important}.w-26{width:26px!important}.w-25{width:25px!important}.w-24{width:24px!important}.w-23{width:23px!important}.w-22{width:22px!important}.w-21{width:21px!important}.w-20{width:20px!important}.w-19{width:19px!important}.w-18{width:18px!important}.w-17{width:17px!important}.w-16{width:16px!important}.w-15{width:15px!important}.w-14{width:14px!important}.w-13{width:13px!important}.w-12{width:12px!important}.w-11{width:11px!important}.w-10{width:10px!important}.w-9{width:9px!important}.w-8{width:8px!important}.w-7{width:7px!important}.w-6{width:6px!important}.w-5{width:5px!important}.w-4{width:4px!important}.w-3{width:3px!important}.w-2{width:2px!important}.w-1{width:1px!important}.w-0{width:0!important}.w-in-200{width:200%!important}.w-in-199{width:199%!important}.w-in-198{width:198%!important}.w-in-197{width:197%!important}.w-in-196{width:196%!important}.w-in-195{width:195%!important}.w-in-194{width:194%!important}.w-in-193{width:193%!important}.w-in-192{width:192%!important}.w-in-191{width:191%!important}.w-in-190{width:190%!important}.w-in-189{width:189%!important}.w-in-188{width:188%!important}.w-in-187{width:187%!important}.w-in-186{width:186%!important}.w-in-185{width:185%!important}.w-in-184{width:184%!important}.w-in-183{width:183%!important}.w-in-182{width:182%!important}.w-in-181{width:181%!important}.w-in-180{width:180%!important}.w-in-179{width:179%!important}.w-in-178{width:178%!important}.w-in-177{width:177%!important}.w-in-176{width:176%!important}.w-in-175{width:175%!important}.w-in-174{width:174%!important}.w-in-173{width:173%!important}.w-in-172{width:172%!important}.w-in-171{width:171%!important}.w-in-170{width:170%!important}.w-in-169{width:169%!important}.w-in-168{width:168%!important}.w-in-167{width:167%!important}.w-in-166{width:166%!important}.w-in-165{width:165%!important}.w-in-164{width:164%!important}.w-in-163{width:163%!important}.w-in-162{width:162%!important}.w-in-161{width:161%!important}.w-in-160{width:160%!important}.w-in-159{width:159%!important}.w-in-158{width:158%!important}.w-in-157{width:157%!important}.w-in-156{width:156%!important}.w-in-155{width:155%!important}.w-in-154{width:154%!important}.w-in-153{width:153%!important}.w-in-152{width:152%!important}.w-in-151{width:151%!important}.w-in-150{width:150%!important}.w-in-149{width:149%!important}.w-in-148{width:148%!important}.w-in-147{width:147%!important}.w-in-146{width:146%!important}.w-in-145{width:145%!important}.w-in-144{width:144%!important}.w-in-143{width:143%!important}.w-in-142{width:142%!important}.w-in-141{width:141%!important}.w-in-140{width:140%!important}.w-in-139{width:139%!important}.w-in-138{width:138%!important}.w-in-137{width:137%!important}.w-in-136{width:136%!important}.w-in-135{width:135%!important}.w-in-134{width:134%!important}.w-in-133{width:133%!important}.w-in-132{width:132%!important}.w-in-131{width:131%!important}.w-in-130{width:130%!important}.w-in-129{width:129%!important}.w-in-128{width:128%!important}.w-in-127{width:127%!important}.w-in-126{width:126%!important}.w-in-125{width:125%!important}.w-in-124{width:124%!important}.w-in-123{width:123%!important}.w-in-122{width:122%!important}.w-in-121{width:121%!important}.w-in-120{width:120%!important}.w-in-119{width:119%!important}.w-in-118{width:118%!important}.w-in-117{width:117%!important}.w-in-116{width:116%!important}.w-in-115{width:115%!important}.w-in-114{width:114%!important}.w-in-113{width:113%!important}.w-in-112{width:112%!important}.w-in-111{width:111%!important}.w-in-110{width:110%!important}.w-in-109{width:109%!important}.w-in-108{width:108%!important}.w-in-107{width:107%!important}.w-in-106{width:106%!important}.w-in-105{width:105%!important}.w-in-104{width:104%!important}.w-in-103{width:103%!important}.w-in-102{width:102%!important}.w-in-101{width:101%!important}.w-in-100{width:100%!important}.w-in-99{width:99%!important}.w-in-98{width:98%!important}.w-in-97{width:97%!important}.w-in-96{width:96%!important}.w-in-95{width:95%!important}.w-in-94{width:94%!important}.w-in-93{width:93%!important}.w-in-92{width:92%!important}.w-in-91{width:91%!important}.w-in-90{width:90%!important}.w-in-89{width:89%!important}.w-in-88{width:88%!important}.w-in-87{width:87%!important}.w-in-86{width:86%!important}.w-in-85{width:85%!important}.w-in-84{width:84%!important}.w-in-83{width:83%!important}.w-in-82{width:82%!important}.w-in-81{width:81%!important}.w-in-80{width:80%!important}.w-in-79{width:79%!important}.w-in-78{width:78%!important}.w-in-77{width:77%!important}.w-in-76{width:76%!important}.w-in-75{width:75%!important}.w-in-74{width:74%!important}.w-in-73{width:73%!important}.w-in-72{width:72%!important}.w-in-71{width:71%!important}.w-in-70{width:70%!important}.w-in-69{width:69%!important}.w-in-68{width:68%!important}.w-in-67{width:67%!important}.w-in-66{width:66%!important}.w-in-65{width:65%!important}.w-in-64{width:64%!important}.w-in-63{width:63%!important}.w-in-62{width:62%!important}.w-in-61{width:61%!important}.w-in-60{width:60%!important}.w-in-59{width:59%!important}.w-in-58{width:58%!important}.w-in-57{width:57%!important}.w-in-56{width:56%!important}.w-in-55{width:55%!important}.w-in-54{width:54%!important}.w-in-53{width:53%!important}.w-in-52{width:52%!important}.w-in-51{width:51%!important}.w-in-50{width:50%!important}.w-in-49{width:49%!important}.w-in-48{width:48%!important}.w-in-47{width:47%!important}.w-in-46{width:46%!important}.w-in-45{width:45%!important}.w-in-44{width:44%!important}.w-in-43{width:43%!important}.w-in-42{width:42%!important}.w-in-41{width:41%!important}.w-in-40{width:40%!important}.w-in-39{width:39%!important}.w-in-38{width:38%!important}.w-in-37{width:37%!important}.w-in-36{width:36%!important}.w-in-35{width:35%!important}.w-in-34{width:34%!important}.w-in-33{width:33%!important}.w-in-32{width:32%!important}.w-in-31{width:31%!important}.w-in-30{width:30%!important}.w-in-29{width:29%!important}.w-in-28{width:28%!important}.w-in-27{width:27%!important}.w-in-26{width:26%!important}.w-in-25{width:25%!important}.w-in-24{width:24%!important}.w-in-23{width:23%!important}.w-in-22{width:22%!important}.w-in-21{width:21%!important}.w-in-20{width:20%!important}.w-in-19{width:19%!important}.w-in-18{width:18%!important}.w-in-17{width:17%!important}.w-in-16{width:16%!important}.w-in-15{width:15%!important}.w-in-14{width:14%!important}.w-in-13{width:13%!important}.w-in-12{width:12%!important}.w-in-11{width:11%!important}.w-in-10{width:10%!important}.w-in-9{width:9%!important}.w-in-8{width:8%!important}.w-in-7{width:7%!important}.w-in-6{width:6%!important}.w-in-5{width:5%!important}.w-in-4{width:4%!important}.w-in-3{width:3%!important}.w-in-2{width:2%!important}.w-in-1{width:1%!important}.w-in-0{width:0!important}.hide,.hide_me{display:none!important}.center{text-align:center!important}.left,.tal{text-align:left!important}.f-w-100{font-weight:100!important}.f-w-200{font-weight:200!important}.f-w-300{font-weight:300!important}.f-w-400{font-weight:400!important}.f-w-500{font-weight:500!important}.f-w-600{font-weight:600!important}.f-w-700{font-weight:700!important}.f-w-800{font-weight:800!important}.f-w-900{font-weight:900!important}.fl{float:left}.fr{float:right}.tar{text-align:right!important}.tac{text-align:center!important}.ttl{text-transform:lowercase!important}.ttu{text-transform:uppercase!important}.ttc{text-transform:capitalize!important}.clb{clear:both!important}.cll{clear:left!important}.clr{clear:right!important}.cursor_p{cursor:pointer}.opacity-100{opacity:1!important;}.opacity-90{opacity:.9!important;}.opacity-80{opacity:.8!important;}.opacity-75{opacity:.75!important;}.opacity-70{opacity:.70!important;}.opacity-60{opacity:.6!important;}.opacity-50{opacity:.5!important;}.opacity-40{opacity:.4!important;}.opacity-30{opacity:.3!important;}.opacity-25{opacity:.25!important;}.opacity-20{opacity:.2!important;}.opacity-10{opacity:.10!important;}.opacity-15{opacity:.15!important;} \ No newline at end of file diff --git a/ph3-beta-to-ui3.0-conv/ui3template/assets/css/mystyle.css b/ph3-beta-to-ui3.0-conv/ui3template/assets/css/mystyle.css deleted file mode 100644 index 1fb7eef8..00000000 --- a/ph3-beta-to-ui3.0-conv/ui3template/assets/css/mystyle.css +++ /dev/null @@ -1,30 +0,0 @@ -/*body{ - font-size: 20px; - font-family: sans-serif; - color: #333; -}*/ -.question{ - font-size: 16px; - font-weight: 700; -} -.answers { - margin-bottom: 20px; - font-size: 16px; -} -.answers label{ - display: block; -} -#submit{ - font-family: sans-serif; - font-size: 14px; - background-color: #279; - color: #fff; - border: 0px; - border-radius: 3px; - padding: 5px; - cursor: pointer; - margin-bottom: 20px; -} -#submit:hover{ - background-color: #38a; -} \ No newline at end of file diff --git a/ph3-beta-to-ui3.0-conv/ui3template/assets/css/responsive_break_points.css b/ph3-beta-to-ui3.0-conv/ui3template/assets/css/responsive_break_points.css deleted file mode 100755 index a69b9f8e..00000000 --- a/ph3-beta-to-ui3.0-conv/ui3template/assets/css/responsive_break_points.css +++ /dev/null @@ -1,1050 +0,0 @@ -/* -------------------------------------- - -1. Responsive Break Points ---------------------------------------------------------*/ -/** ************************************* ** - DO NOT CHANGE ANYTHING HERE! - REWRITE IN A CUSTOM CSS FILE IF REQUIRED! - ** ************************************* **/ - -@media (max-width: 575.98px) { - .res-xs-p-0 { - padding: 0px !important; - } - - .res-xs-m-t-50 { - margin-top: 50px !important; - } - - .res-xs-m-t-49 { - margin-top: 49px !important; - } - - .res-xs-m-t-48 { - margin-top: 48px !important; - } - - .res-xs-m-t-47 { - margin-top: 47px !important; - } - - .res-xs-m-t-46 { - margin-top: 46px !important; - } - - .res-xs-m-t-45 { - margin-top: 45px !important; - } - - .res-xs-m-t-44 { - margin-top: 44px !important; - } - - .res-xs-m-t-43 { - margin-top: 43px !important; - } - - .res-xs-m-t-42 { - margin-top: 42px !important; - } - - .res-xs-m-t-41 { - margin-top: 41px !important; - } - - .res-xs-m-t-40 { - margin-top: 40px !important; - } - - .res-xs-m-t-39 { - margin-top: 39px !important; - } - - .res-xs-m-t-38 { - margin-top: 38px !important; - } - - .res-xs-m-t-37 { - margin-top: 37px !important; - } - - .res-xs-m-t-36 { - margin-top: 36px !important; - } - - .res-xs-m-t-35 { - margin-top: 35px !important; - } - - .res-xs-m-t-34 { - margin-top: 34px !important; - } - - .res-xs-m-t-33 { - margin-top: 33px !important; - } - - .res-xs-m-t-32 { - margin-top: 32px !important; - } - - .res-xs-m-t-31 { - margin-top: 31px !important; - } - - .res-xs-m-t-30 { - margin-top: 30px !important; - } - - .res-xs-m-t-29 { - margin-top: 29px !important; - } - - .res-xs-m-t-28 { - margin-top: 28px !important; - } - - .res-xs-m-t-27 { - margin-top: 27px !important; - } - - .res-xs-m-t-26 { - margin-top: 26px !important; - } - - .res-xs-m-t-25 { - margin-top: 25px !important; - } - - .res-xs-m-t-24 { - margin-top: 24px !important; - } - - .res-xs-m-t-23 { - margin-top: 23px !important; - } - - .res-xs-m-t-22 { - margin-top: 22px !important; - } - - .res-xs-m-t-21 { - margin-top: 21px !important; - } - - .res-xs-m-t-20 { - margin-top: 20px !important; - } - - .res-xs-m-t-19 { - margin-top: 19px !important; - } - - .res-xs-m-t-18 { - margin-top: 18px !important; - } - - .res-xs-m-t-17 { - margin-top: 17px !important; - } - - .res-xs-m-t-16 { - margin-top: 16px !important; - } - - .res-xs-m-t-15 { - margin-top: 15px !important; - } - - .res-xs-m-t-14 { - margin-top: 14px !important; - } - - .res-xs-m-t-13 { - margin-top: 13px !important; - } - - .res-xs-m-t-12 { - margin-top: 12px !important; - } - - .res-xs-m-t-11 { - margin-top: 11px !important; - } - - .res-xs-m-t-10 { - margin-top: 10px !important; - } - - .res-xs-m-t-9 { - margin-top: 9px !important; - } - - .res-xs-m-t-8 { - margin-top: 8px !important; - } - - .res-xs-m-t-7 { - margin-top: 7px !important; - } - - .res-xs-m-t-6 { - margin-top: 6px !important; - } - - .res-xs-m-t-5 { - margin-top: 5px !important; - } - - .res-xs-m-t-4 { - margin-top: 4px !important; - } - - .res-xs-m-t-3 { - margin-top: 3px !important; - } - - .res-xs-m-t-2 { - margin-top: 2px !important; - } - - .res-xs-m-t-1 { - margin-top: 1px !important; - } - - .res-xs-m-t-0 { - margin-top: 0px !important; - } - - .res-xs-m-b-20 { - margin-bottom: 20px !important; - } -} - -@media (min-width: 576px) and (max-width: 768px) { - .res-sm-m-b-20 { - margin-bottom: 20px !important; - } - - .res-sm-m-t-50 { - margin-top: 50px !important; - } - - .res-sm-m-t-49 { - margin-top: 49px !important; - } - - .res-sm-m-t-48 { - margin-top: 48px !important; - } - - .res-sm-m-t-47 { - margin-top: 47px !important; - } - - .res-sm-m-t-46 { - margin-top: 46px !important; - } - - .res-sm-m-t-45 { - margin-top: 45px !important; - } - - .res-sm-m-t-44 { - margin-top: 44px !important; - } - - .res-sm-m-t-43 { - margin-top: 43px !important; - } - - .res-sm-m-t-42 { - margin-top: 42px !important; - } - - .res-sm-m-t-41 { - margin-top: 41px !important; - } - - .res-sm-m-t-40 { - margin-top: 40px !important; - } - - .res-sm-m-t-39 { - margin-top: 39px !important; - } - - .res-sm-m-t-38 { - margin-top: 38px !important; - } - - .res-sm-m-t-37 { - margin-top: 37px !important; - } - - .res-sm-m-t-36 { - margin-top: 36px !important; - } - - .res-sm-m-t-35 { - margin-top: 35px !important; - } - - .res-sm-m-t-34 { - margin-top: 34px !important; - } - - .res-sm-m-t-33 { - margin-top: 33px !important; - } - - .res-sm-m-t-32 { - margin-top: 32px !important; - } - - .res-sm-m-t-31 { - margin-top: 31px !important; - } - - .res-sm-m-t-30 { - margin-top: 30px !important; - } - - .res-sm-m-t-29 { - margin-top: 29px !important; - } - - .res-sm-m-t-28 { - margin-top: 28px !important; - } - - .res-sm-m-t-27 { - margin-top: 27px !important; - } - - .res-sm-m-t-26 { - margin-top: 26px !important; - } - - .res-sm-m-t-25 { - margin-top: 25px !important; - } - - .res-sm-m-t-24 { - margin-top: 24px !important; - } - - .res-sm-m-t-23 { - margin-top: 23px !important; - } - - .res-sm-m-t-22 { - margin-top: 22px !important; - } - - .res-sm-m-t-21 { - margin-top: 21px !important; - } - - .res-sm-m-t-20 { - margin-top: 20px !important; - } - - .res-sm-m-t-19 { - margin-top: 19px !important; - } - - .res-sm-m-t-18 { - margin-top: 18px !important; - } - - .res-sm-m-t-17 { - margin-top: 17px !important; - } - - .res-sm-m-t-16 { - margin-top: 16px !important; - } - - .res-sm-m-t-15 { - margin-top: 15px !important; - } - - .res-sm-m-t-14 { - margin-top: 14px !important; - } - - .res-sm-m-t-13 { - margin-top: 13px !important; - } - - .res-sm-m-t-12 { - margin-top: 12px !important; - } - - .res-sm-m-t-11 { - margin-top: 11px !important; - } - - .res-sm-m-t-10 { - margin-top: 10px !important; - } - - .res-sm-m-t-9 { - margin-top: 9px !important; - } - - .res-sm-m-t-8 { - margin-top: 8px !important; - } - - .res-sm-m-t-7 { - margin-top: 7px !important; - } - - .res-sm-m-t-6 { - margin-top: 6px !important; - } - - .res-sm-m-t-5 { - margin-top: 5px !important; - } - - .res-sm-m-t-4 { - margin-top: 4px !important; - } - - .res-sm-m-t-3 { - margin-top: 3px !important; - } - - .res-sm-m-t-2 { - margin-top: 2px !important; - } - - .res-sm-m-t-1 { - margin-top: 1px !important; - } - - .res-sm-m-t-0 { - margin-top: 0px !important; - } -} - -@media (min-width: 768px) and (max-width: 1024px) { - .res-md-m-t-50 { - margin-top: 50px !important; - } - - .res-md-m-t-49 { - margin-top: 49px !important; - } - - .res-md-m-t-48 { - margin-top: 48px !important; - } - - .res-md-m-t-47 { - margin-top: 47px !important; - } - - .res-md-m-t-46 { - margin-top: 46px !important; - } - - .res-md-m-t-45 { - margin-top: 45px !important; - } - - .res-md-m-t-44 { - margin-top: 44px !important; - } - - .res-md-m-t-43 { - margin-top: 43px !important; - } - - .res-md-m-t-42 { - margin-top: 42px !important; - } - - .res-md-m-t-41 { - margin-top: 41px !important; - } - - .res-md-m-t-40 { - margin-top: 40px !important; - } - - .res-md-m-t-39 { - margin-top: 39px !important; - } - - .res-md-m-t-38 { - margin-top: 38px !important; - } - - .res-md-m-t-37 { - margin-top: 37px !important; - } - - .res-md-m-t-36 { - margin-top: 36px !important; - } - - .res-md-m-t-35 { - margin-top: 35px !important; - } - - .res-md-m-t-34 { - margin-top: 34px !important; - } - - .res-md-m-t-33 { - margin-top: 33px !important; - } - - .res-md-m-t-32 { - margin-top: 32px !important; - } - - .res-md-m-t-31 { - margin-top: 31px !important; - } - - .res-md-m-t-30 { - margin-top: 30px !important; - } - - .res-md-m-t-29 { - margin-top: 29px !important; - } - - .res-md-m-t-28 { - margin-top: 28px !important; - } - - .res-md-m-t-27 { - margin-top: 27px !important; - } - - .res-md-m-t-26 { - margin-top: 26px !important; - } - - .res-md-m-t-25 { - margin-top: 25px !important; - } - - .res-md-m-t-24 { - margin-top: 24px !important; - } - - .res-md-m-t-23 { - margin-top: 23px !important; - } - - .res-md-m-t-22 { - margin-top: 22px !important; - } - - .res-md-m-t-21 { - margin-top: 21px !important; - } - - .res-md-m-t-20 { - margin-top: 20px !important; - } - - .res-md-m-t-19 { - margin-top: 19px !important; - } - - .res-md-m-t-18 { - margin-top: 18px !important; - } - - .res-md-m-t-17 { - margin-top: 17px !important; - } - - .res-md-m-t-16 { - margin-top: 16px !important; - } - - .res-md-m-t-15 { - margin-top: 15px !important; - } - - .res-md-m-t-14 { - margin-top: 14px !important; - } - - .res-md-m-t-13 { - margin-top: 13px !important; - } - - .res-md-m-t-12 { - margin-top: 12px !important; - } - - .res-md-m-t-11 { - margin-top: 11px !important; - } - - .res-md-m-t-10 { - margin-top: 10px !important; - } - - .res-md-m-t-9 { - margin-top: 9px !important; - } - - .res-md-m-t-8 { - margin-top: 8px !important; - } - - .res-md-m-t-7 { - margin-top: 7px !important; - } - - .res-md-m-t-6 { - margin-top: 6px !important; - } - - .res-md-m-t-5 { - margin-top: 5px !important; - } - - .res-md-m-t-4 { - margin-top: 4px !important; - } - - .res-md-m-t-3 { - margin-top: 3px !important; - } - - .res-md-m-t-2 { - margin-top: 2px !important; - } - - .res-md-m-t-1 { - margin-top: 1px !important; - } - - .res-md-m-t-0 { - margin-top: 0px !important; - } -} - -@media (min-width: 992px) and (max-width: 1199.98px) { - .res-lg-m-t-50 { - margin-top: 50px !important; - } - - .res-lg-m-t-49 { - margin-top: 49px !important; - } - - .res-lg-m-t-48 { - margin-top: 48px !important; - } - - .res-lg-m-t-47 { - margin-top: 47px !important; - } - - .res-lg-m-t-46 { - margin-top: 46px !important; - } - - .res-lg-m-t-45 { - margin-top: 45px !important; - } - - .res-lg-m-t-44 { - margin-top: 44px !important; - } - - .res-lg-m-t-43 { - margin-top: 43px !important; - } - - .res-lg-m-t-42 { - margin-top: 42px !important; - } - - .res-lg-m-t-41 { - margin-top: 41px !important; - } - - .res-lg-m-t-40 { - margin-top: 40px !important; - } - - .res-lg-m-t-39 { - margin-top: 39px !important; - } - - .res-lg-m-t-38 { - margin-top: 38px !important; - } - - .res-lg-m-t-37 { - margin-top: 37px !important; - } - - .res-lg-m-t-36 { - margin-top: 36px !important; - } - - .res-lg-m-t-35 { - margin-top: 35px !important; - } - - .res-lg-m-t-34 { - margin-top: 34px !important; - } - - .res-lg-m-t-33 { - margin-top: 33px !important; - } - - .res-lg-m-t-32 { - margin-top: 32px !important; - } - - .res-lg-m-t-31 { - margin-top: 31px !important; - } - - .res-lg-m-t-30 { - margin-top: 30px !important; - } - - .res-lg-m-t-29 { - margin-top: 29px !important; - } - - .res-lg-m-t-28 { - margin-top: 28px !important; - } - - .res-lg-m-t-27 { - margin-top: 27px !important; - } - - .res-lg-m-t-26 { - margin-top: 26px !important; - } - - .res-lg-m-t-25 { - margin-top: 25px !important; - } - - .res-lg-m-t-24 { - margin-top: 24px !important; - } - - .res-lg-m-t-23 { - margin-top: 23px !important; - } - - .res-lg-m-t-22 { - margin-top: 22px !important; - } - - .res-lg-m-t-21 { - margin-top: 21px !important; - } - - .res-lg-m-t-20 { - margin-top: 20px !important; - } - - .res-lg-m-t-19 { - margin-top: 19px !important; - } - - .res-lg-m-t-18 { - margin-top: 18px !important; - } - - .res-lg-m-t-17 { - margin-top: 17px !important; - } - - .res-lg-m-t-16 { - margin-top: 16px !important; - } - - .res-lg-m-t-15 { - margin-top: 15px !important; - } - - .res-lg-m-t-14 { - margin-top: 14px !important; - } - - .res-lg-m-t-13 { - margin-top: 13px !important; - } - - .res-lg-m-t-12 { - margin-top: 12px !important; - } - - .res-lg-m-t-11 { - margin-top: 11px !important; - } - - .res-lg-m-t-10 { - margin-top: 10px !important; - } - - .res-lg-m-t-9 { - margin-top: 9px !important; - } - - .res-lg-m-t-8 { - margin-top: 8px !important; - } - - .res-lg-m-t-7 { - margin-top: 7px !important; - } - - .res-lg-m-t-6 { - margin-top: 6px !important; - } - - .res-lg-m-t-5 { - margin-top: 5px !important; - } - - .res-lg-m-t-4 { - margin-top: 4px !important; - } - - .res-lg-m-t-3 { - margin-top: 3px !important; - } - - .res-lg-m-t-2 { - margin-top: 2px !important; - } - - .res-lg-m-t-1 { - margin-top: 1px !important; - } - - .res-lg-m-t-0 { - margin-top: 0px !important; - } -} - -@media (min-width: 1200px) { - .res-xl-m-t-50 { - margin-top: 50px !important; - } - - .res-xl-m-t-49 { - margin-top: 49px !important; - } - - .res-xl-m-t-48 { - margin-top: 48px !important; - } - - .res-xl-m-t-47 { - margin-top: 47px !important; - } - - .res-xl-m-t-46 { - margin-top: 46px !important; - } - - .res-xl-m-t-45 { - margin-top: 45px !important; - } - - .res-xl-m-t-44 { - margin-top: 44px !important; - } - - .res-xl-m-t-43 { - margin-top: 43px !important; - } - - .res-xl-m-t-42 { - margin-top: 42px !important; - } - - .res-xl-m-t-41 { - margin-top: 41px !important; - } - - .res-xl-m-t-40 { - margin-top: 40px !important; - } - - .res-xl-m-t-39 { - margin-top: 39px !important; - } - - .res-xl-m-t-38 { - margin-top: 38px !important; - } - - .res-xl-m-t-37 { - margin-top: 37px !important; - } - - .res-xl-m-t-36 { - margin-top: 36px !important; - } - - .res-xl-m-t-35 { - margin-top: 35px !important; - } - - .res-xl-m-t-34 { - margin-top: 34px !important; - } - - .res-xl-m-t-33 { - margin-top: 33px !important; - } - - .res-xl-m-t-32 { - margin-top: 32px !important; - } - - .res-xl-m-t-31 { - margin-top: 31px !important; - } - - .res-xl-m-t-30 { - margin-top: 30px !important; - } - - .res-xl-m-t-29 { - margin-top: 29px !important; - } - - .res-xl-m-t-28 { - margin-top: 28px !important; - } - - .res-xl-m-t-27 { - margin-top: 27px !important; - } - - .res-xl-m-t-26 { - margin-top: 26px !important; - } - - .res-xl-m-t-25 { - margin-top: 25px !important; - } - - .res-xl-m-t-24 { - margin-top: 24px !important; - } - - .res-xl-m-t-23 { - margin-top: 23px !important; - } - - .res-xl-m-t-22 { - margin-top: 22px !important; - } - - .res-xl-m-t-21 { - margin-top: 21px !important; - } - - .res-xl-m-t-20 { - margin-top: 20px !important; - } - - .res-xl-m-t-19 { - margin-top: 19px !important; - } - - .res-xl-m-t-18 { - margin-top: 18px !important; - } - - .res-xl-m-t-17 { - margin-top: 17px !important; - } - - .res-xl-m-t-16 { - margin-top: 16px !important; - } - - .res-xl-m-t-15 { - margin-top: 15px !important; - } - - .res-xl-m-t-14 { - margin-top: 14px !important; - } - - .res-xl-m-t-13 { - margin-top: 13px !important; - } - - .res-xl-m-t-12 { - margin-top: 12px !important; - } - - .res-xl-m-t-11 { - margin-top: 11px !important; - } - - .res-xl-m-t-10 { - margin-top: 10px !important; - } - - .res-xl-m-t-9 { - margin-top: 9px !important; - } - - .res-xl-m-t-8 { - margin-top: 8px !important; - } - - .res-xl-m-t-7 { - margin-top: 7px !important; - } - - .res-xl-m-t-6 { - margin-top: 6px !important; - } - - .res-xl-m-t-5 { - margin-top: 5px !important; - } - - .res-xl-m-t-4 { - margin-top: 4px !important; - } - - .res-xl-m-t-3 { - margin-top: 3px !important; - } - - .res-xl-m-t-2 { - margin-top: 2px !important; - } - - .res-xl-m-t-1 { - margin-top: 1px !important; - } - - .res-xl-m-t-0 { - margin-top: 0px !important; - } -} \ No newline at end of file diff --git a/ph3-beta-to-ui3.0-conv/ui3template/assets/css/style-ui3.css b/ph3-beta-to-ui3.0-conv/ui3template/assets/css/style-ui3.css deleted file mode 100644 index 96bd861a..00000000 --- a/ph3-beta-to-ui3.0-conv/ui3template/assets/css/style-ui3.css +++ /dev/null @@ -1,1447 +0,0 @@ -/* -Theme Name: Vlabs -Theme URI: http://www.vlabs.ac.in -Author: Vlabs.co.in -Author URI: http://www.vlabs.ac.in -Description: The theme to accompany the profile site for vlabs.ac.in -Version: 1.0 -*/ -@import url(https://fonts.googleapis.com/css?family=Raleway:400,300,700,500,600); -body { - overflow-x: hidden; - font-family:'Raleway' !important; - min-height: 100%; -} - -html { - height: 100%; -} - -p { - font-size: 16px; -} - -/*** Calendar **********************/ -.content .container-fluid div.calender { position: relative; } - -.container-fluid .calender table { -cursor:pointer; -border:1px solid #ccc; -font-size: 11px; -color: #000; -background: #fff; -font-family:"Lucida Grande", Tahoma, Arial, Verdana, sans-serif; -} - -.container-fluid .calender .button { -text-align: center; -padding: 2px; -} - -.container-fluid .calender .nav { -background:#f5f5f5; -} - -.container-fluid .calender thead .title { -font-weight: bold; -text-align: center; -background: #dedede; -color: #000; -padding: 2px 0 3px 0; -} - -.container-fluid .calender thead .headrow { -background: #f5f5f5; -color: #444; -font-weight:bold; -} - -.container-fluid .calender thead .daynames { -background: #fff; -color:#333; -font-weight:bold; -} - -.container-fluid .calender thead .name { -border-bottom: 1px dotted #ccc; -padding: 2px; -text-align: center; -color: #000; -} - -.container-fluid .calender thead .weekend { -color: #666; -} - -.container-fluid .calender thead .hilite { -background-color: #444; -color: #fff; -padding: 1px; -} - -.container-fluid .calender thead .active { -background-color: #d12f19; -color:#fff; -padding: 2px 0px 0px 2px; -} - - -.container-fluid .calender tbody .day { -width:1.8em; -color: #222; -text-align: right; -padding: 2px 2px 2px 2px; -} -.container-fluid .calender tbody .day.othermonth { -font-size: 80%; -color: #bbb; -} -.container-fluid .calender tbody .day.othermonth.oweekend { -color: #fbb; -} - -.container-fluid .calender table .wn { -padding: 2px 2px 2px 2px; -border-right: 1px solid #000; -background: #666; -} - -.container-fluid .calender tbody .rowhilite td { -background: #FFF1AF; -} - -.container-fluid .calender tbody .rowhilite td.wn { -background: #FFF1AF; -} - -.container-fluid .calender tbody td.hilite { -padding: 1px 1px 1px 1px; -background:#444 !important; -color:#fff !important; -} - -.container-fluid .calender tbody td.active { -color:#fff; -background: #529214 !important; -padding: 2px 2px 0px 2px; -} - -.container-fluid .calender tbody td.selected { -font-weight: bold; -border: 1px solid #888; -padding: 1px 1px 1px 1px; -background: #f5f5f5 !important; -color: #222 !important; -} - -.container-fluid .calender tbody td.weekend { -color: #666; -} - -.container-fluid .calender tbody td.today { -font-weight: bold; -color: #529214; -background:#D9EFC2; -} - -.container-fluid .calender tbody .disabled { color: #999; } - -.container-fluid .calender tbody .emptycell { -visibility: hidden; -} - -.container-fluid .calender tbody .emptyrow { -display: none; -} - -.container-fluid .calender tfoot .footrow { -text-align: center; -background: #556; -color: #fff; -} - -.container-fluid .calender tfoot .ttip { -background: #222; -color: #fff; -font-size:10px; -border-top: 1px solid #dedede; -padding: 3px; -} - -.container-fluid .calender tfoot .hilite { -background: #aaf; -border: 1px solid #04f; -color: #000; -padding: 1px; -} - -.container-fluid .calender tfoot .active { -background: #77c; -padding: 2px 0px 0px 2px; -} - -.container-fluid .calender .combo { -position: absolute; -display: none; -top: 0px; -left: 0px; -width: 4em; -border: 1px solid #ccc; -background: #f5f5f5; -color: #222; -font-size: 90%; -z-index: 100; -} - -.container-fluid .calender .combo .label, -.container-fluid .calender .combo .label-IEfix { -text-align: center; -padding: 1px; -} - -.container-fluid .calender .combo .label-IEfix { -width: 4em; -} - -.container-fluid .calender .combo .hilite { -background: #444; -color:#fff; -} - -.container-fluid .calender .combo .active { -border-top: 1px solid #999; -border-bottom: 1px solid #999; -background: #dedede; -font-weight: bold; -} -.container-fluid form li div label -{ - clear:both; - color:#444; - display:block; - font-size:9px; - line-height:9px; - margin:0; - padding-top:3px; -} - -.container-fluid form li span label -{ - clear:both; - color:#444; - display:block; - font-size:9px; - line-height:9px; - margin:0; - padding-top:3px; -} -.container-fluid form li .datepicker -{ - cursor:pointer !important; - float:left; - height:16px; - margin:.1em 5px 0 0; - padding:0; - width:16px; -} -.container-fluid input.text -{ - background:#fff url(../../../images/shadow.gif) repeat-x top; - border-bottom:1px solid #ddd; - border-left:1px solid #c3c3c3; - border-right:1px solid #c3c3c3; - border-top:1px solid #7c7c7c; - color:#333; - font-size:100%; - margin:0; - padding:2px 0; -} -p.small { - font-size: 16px; -} - - -.container-fluid form ul -{ - font-size:200%; - list-style-type:none; - margin:0; - padding:0; - width:100%; -} - -.container-fluid form li -{ - display:block; - margin:0; - padding:4px 5px 2px 9px; - position:relative; -} -a, -a:hover, -a:focus, -a:active, -a.active { - outline: 0; -} -@media(min-width:768px) { - .navbar-fixed-top { - padding: 25px 0; - -webkit-transition: padding .3s; - -moz-transition: padding .3s; - transition: padding .3s; - } - - .navbar-fixed-top .navbar-brand { - font-size: 2em; - -webkit-transition: all .3s; - -moz-transition: all .3s; - transition: all .3s; - } - - .navbar-fixed-top.navbar-shrink { - padding: 10px 0; - } - - .navbar-fixed-top.navbar-shrink .navbar-brand { - font-size: 1.5em; - } -} - -.navbar a:focus { - outline: 0; -} - -.navbar .navbar-nav li a:focus { - outline: 0; -} - -.navbar-default, -.navbar-inverse { - border: 0; -} -.footer-div -{ -margin-top:120px; -} - - -#top { - min-height: 100vh; - display: grid; - grid-template-rows: max-content auto max-content; -} - - -#footer { - color: #eee; - font-size: 14px; - width: 100%; - bottom: 0; -} - -#footer .footer-top { - background: #111; - padding: 15px 0 0px 0; -} - -#footer .row { - padding-bottom: 2rem; -} - -#footer .footer-top .footer-info h3 { - font-size: 34px; - margin: 0 0 20px 0; - padding: 2px 0 2px 10px; - line-height: 1; - font-family: "Open Sans", sans-serif; - font-weight: 700; - letter-spacing: 3px; - border-left: 4px solid #18d26e; -} - -#footer .footer-top p { - font-size: 1.4rem; - margin-bottom: 0; - color: #eee; -} - -#footer .footer-top .social-links a { - font-size: 18px; - display: inline-block; - background: #333; - color: #eee; - line-height: 1; - padding: 8px 0; - margin-right: 4px; - border-radius: 50%; - text-align: center; - width: 36px; - height: 36px; - transition: 0.3s; -} - -#footer .footer-top .social-links a:hover { - background: #3cd6ed; - color: #fff; -} - -#footer .footer-top h4 { - font-size: 14px; - color: #fff; - position: relative; - padding-bottom: 12px; -} - -#footer .footer-top h4::before, #footer .footer-top h4::after { - content: ''; - position: absolute; - left: 0; - bottom: 0; - height: 2px; -} - -#footer .footer-top h4::before { - right: 0; - background: #555; -} - -#footer .footer-top h4::after { - background: #3EC1D5; - width: 60px; -} -#footer .footer-top i { - color:#fff; -} - -#footer .footer-top a { - color:#fff; -} - - - - -/*******************************************************************************/ -/*****************************CUSTOME STYLE*************************************/ -/*******************************************************************************/ - -.search-textbox -{ - background: url("../images/search-box.png") no-repeat; - border: 0 none; - color: #666666; - float: left; - font-family: 'Raleway'; - font-size: 15px; - height: 36px; - margin: 0; - padding-left: 15px; - transition: background 0.3s ease-in-out 0s; - width: 220px; - -} - -.search-button -{ - background: url("../images/search.png") no-repeat; - cursor: pointer; - height: 36px; - text-indent: -99999em; - width: 36px; - border: 0px; - -} -.main-logo-a -{ - height: auto; - overflow: visible; - margin-left: 0px !important; - padding-bottom: 10px !important; - padding-top: 10px !important; -} - -.menu-a -{ - font-size: 14px !important; - font-family: 'Raleway' !important; - color: #2C99CD !important; - padding-left: 10px !important; - padding-bottom: 5px !important; - padding-top: 5px !important; - padding-right: 10px !important; - -} - -.menu-a-active -{ - color: white !important; -} - -.menu-li -{ - /* float: right; */ - border-radius: 10px; - margin-left: 20px; - margin-right: 20px; -} - -.menu-li:HOVER -{ - background-color: #77BB41 !important; -} - -.menu-a:HOVER -{ - color: white !important; -} -.menu-li-active -{ - background-color: #77BB41; -} - -.menu-div -{ - /* margin-top: 30px; */ - -} - -.menu-ul -{ - margin-top: 45px; -} - -@media only screen and (max-width: 375px) { - .featured-labs-experiment-div - { - text-align: center; - } - .featured-labs-experiment-icon - { - float: left; - min-width: 78px; - } -} - - -@media only screen and (min-width: 401px) { - - .custom-toggle - { - margin-bottom: 0px !important; - margin-top: 27px !important; - } -} - -@media only screen and (max-width: 400px) { - - .main-logo-a - { - width: 60%; - } - - .custom-toggle - { - margin-bottom: 0px !important; - margin-top: 12% !important; - } - - -/* .menu-div - { - margin-top: 30px !important; - } */ - -} - - - -@media only screen and (min-width: 401px) and (max-width: 523px) { - -/* .menu-div - { - margin-top: 30px !important; - } */ -} - -@media only screen and (max-width: 496px) { - - .featured-labs-div - { - background: none !important; - } -} - -@media only screen and (max-width: 540px) { - .broad-labs-empty-div - { - display: none; - } - .border-right-green-dotted - { - margin-top: 60px !important; - } -} - -@media only screen and (min-width: 401px) and (max-width: 767px) { - - .main-logo - { - width: 70%; - } -} - -@media only screen and (max-width: 767px) { - - .menu-ul - { - margin-top: 0px !important; - } - - .menu-li-active - { - background-color: white !important; - } - - .menu-a-active - { - color: #2C99CE !important; - } - - .search-ul - { - display: none !important; - } - - - -} - -@media only screen and (min-width: 768px) and (max-width: 991px) { - .menu-a - { - font-size: 1.4em !important; - } - - .main-logo - { - width: 70%; - } - - .banner-text-small - { - font-size: 1.2em !important; - } - - .banner-text-medium - { - font-size: 1.7em !important; - } - - .banner-text-big - { - font-size: 2.0em !important; - } - -} - -@media only screen and (max-width: 991px) { - .menu-ul - { - margin-top: 30px; - } - - .search-textbox - { - width: 150px; - font-size: 0.9em; - } - - .menu-li - { - margin-left: 10px; - margin-right: 10px; - } - .aboutus-col-8 - { - padding-right: 15px !important; - } - .footer-div - { - background-size: cover !important; - } - - .lab-list-col-10 - { - /* background: none !important; */ - overflow:hidden; - } - - .featured-labs-main-div - { - margin-top: -35px !important; - } -} - - -@media only screen and (min-width: 992px) and (max-width: 1199px) { - -} - - -/*====================new grid================================*/ -@media only screen and (min-width: 992px) { - .col-md-2-5 - { - width: 20%; - float: left; - } -} - -@media only screen and (max-width: 991px) { - .col-md-2-5 - { - width: 33.33%; - float: left; - } - .col-md-2-5-1-l - { - background: url("../images/dotted-devider-h-o.png") no-repeat; - background-position: left bottom; - } -} - -@media only screen and (max-width: 767px) { - .col-md-2-5 - { - width: 50%; - float: left; - } -} - -@media only screen and (max-width: 540px) { - .col-md-2-5 - { - width: 100%; - float: left; - } -} -.col-md-2-5 -{ - position: relative; - min-height: 1px; - vertical-align: bottom; - /* display: flex; */ - min-height: 228px; -} - -.col-md-2-5-1-l -{ - width: 100%; - min-height: 228px; - height: 100%; -} - -.col-md-2-5-1-withbg -{ - background: url("../images/dotted-devider-h-o.png") no-repeat; - background-position: left bottom; - width: 100%; - min-height: 228px; - height: 100%; -} - -.col-md-2-5-2 -{ - padding-right: 15px; - padding-left: 15px; -} -/*************************************************************/ - -.featured-labs-div -{ - margin-left: 0px !important; - margin-right: 0px !important; - padding-left: 15px !important; -} -.border-bottom-img -{ - /* border-bottom: 2px dotted; - border-top : 0px; - border-left: 0px; - border-right: 0px; - -webkit-border-image: url(../images/dotted-devider-h-o.png) 30 round; Safari 3.1-5 - -o-border-image: url(../images/dotted-devider-h-o.png) 30 round; Opera 11-12.1 - border-image: url(../images/dotted-devider-h-o.png) 30 round; */ -} - -.broad-labs-a:HOVER -{ - text-decoration: none !important; - -} -.col-md-2-5-1-l:HOVER, .col-md-2-5-1-withbg:HOVER -{ - background-color: #e4e4e4 !important; -} - -.border-right-green-dotted -{ - border-right: 2px dotted; - margin-top: 30px; - border-right-color: #678f48; - min-height: 115px; -} -.border-right-green-dotted a{ - padding-left: 10px; - display: block; - margin-bottom: 10px; -} -a:focus -{ - color: #72AB44 !important; -} - -.featured-labs -{ - min-height: 190px !important; -} -/*========================font classes=======================*/ -.text-h2-lightblue -{ - color: #2C99CE; - font-size: 1.8em; - -} - -.text-a-lightgreen -{ - color: #72AB44; - font-size: 1.3em; - text-decoration: underline; -} - -.text-a-lightgreen:HOVER -{ - color: #72AB44 !important; -} - -.text-a-white -{ - color: white; - font-size: 1.4em; - text-decoration: underline; -} - - -.text-h2-lightblue-small -{ - color: #2C99CE; - font-size: 1.5em; -} - -.text-h3-darkblue-bold -{ - color: #3e6389; - font-size: 1.4em; - font-weight: bold; -} - -.text-h3-darkblue -{ - color: #3e6389; - font-size: 1.4em; -} - -.text-normal-gray-small -{ - color: #888; - font-size: 16px; -} - -.text-normal-gray-big -{ - color: #888; - font-size: 30px; -} -#experiment-article-section-1-heading -{ -color: #888; -font-size: 30px; -} -.text-normal-gray-smallest -{ - color: #888; - font-size: 13px; -} - -.featured-labs-icon-text -{ - color: #888; - font-size: 13px; -} - -.featured-labs-main-div -{ - margin-top: -50px; -} - -.nounderline -{ - text-decoration: none; -} - -.nounderline:HOVER -{ - text-decoration: none !important; -} -.text-normal-gray-medium -{ - color: #888; - font-size: 1.4em; -} -/*===========================================================*/ - -.shadow -{ - -webkit-box-shadow: inset 0 8px 6px -6px black; - -moz-box-shadow: inset 0 8px 6px -6px black; - box-shadow: inset 0 8px 6px -6px black; -} - - -/*owl style sheet*/ -#owl-demo .item{ - display: block; - padding: 1px 10px; - margin: 5px; - color: #888; - -webkit-border-radius: 3px; - -moz-border-radius: 3px; - border-radius: 3px; -} -.owl-theme .owl-controls .owl-buttons div { - padding: 5px 9px; -} - -.owl-theme .owl-buttons i{ - margin-top: 2px; -} - -//To move navigation buttons outside use these settings: - -#owl-demo .owl-controls .owl-buttons div, #owl-partner-institutions .owl-controls .owl-buttons div{ - position: absolute; -} - -#owl-demo .owl-controls .owl-buttons .owl-prev{ - left: -45px; - top: 55px; - position: absolute; - background: none !important; -} - - #owl-partner-institutions .owl-controls .owl-buttons .owl-prev - { - left: -45px; - top: 20px; - position: absolute; - background: none !important; - } - -#owl-demo .owl-controls .owl-buttons .owl-next{ - right: -45px; - top: 55px; - position: absolute; - background: none !important; -} - -#owl-partner-institutions .owl-controls .owl-buttons .owl-next -{ - right: -45px; - top: 20px; - position: absolute; - background: none !important; -} - -#owl-demo .owl-controls .owl-pagination, #owl-partner-institutions .owl-controls .owl-pagination -{ - display: none; -} - -#owl-aboutus .owl-controls .owl-buttons -{ - display: none; -} - -#owl-aboutus .owl-controls .owl-pagination -{ - text-align: left; -} -#owl-aboutus .owl-controls .owl-page span -{ - background-color: white; - border: 2px solid; - height: 20px; - width: 20px; -} - -#owl-aboutus .owl-controls .owl-page.active span, #owl-aboutus .owl-controls.clickable .owl-page:hover span -{ - background-color: #FF6600; - border: 0px; -} -/*******************/ - - -/*Labs page*/ -.sidebar-col-2 -{ - -} - -.lab-list-col-10 -{ - background: url("../images/devider-blue-v-o.png") repeat-y; - background-position: left top; - margin-bottom: 25px; -} - -.sidebar-a:HOVER, .text-h3-darkblue:HOVER { - color: #ff6600 !important; -} - -.lab-list-row-div -{ - background: url('../images/bottom-line-n.png') no-repeat; - background-position: left bottom; - height: auto; - overflow: hidden; - border-bottom: 1.5px dotted; - border-bottom-color: #888; - padding-bottom: 10px; -} - -.lab-list-row-col-2 -{ - margin-top: 15px; -} - -/**********************************************************************************/ - -.banner-text -{ - position: relative; - top: -59px; - color: white !important; -} - -.banner-text-small -{ - font-size: 1.7em; -} - -.banner-text-medium -{ - font-size: 2.2em; -} - -.banner-text-big -{ - font-size: 2.7em; -} - -.baneer-text-sub-div -{ - position: relative; - float: left -} - -.banner-text-1 -{ - left: 3.7%; -} - -.banner-text-2 -{ - left: 9.6%; -} - -.banner-text-3 -{ - left: 15%; -} - -.banner-text-4 -{ - left:22%; -} - -.banner-caption-div -{ - position: absolute; - top: 140px; - left: 42%; -} - -.banner-caption-text -{ - font-size: 2.0em; - line-height: normal; - color: black; -} - - -/*==========================RESPONSIVE+++++++++++++++++++++++++++++++*/ - -@media only screen and (max-width: 399px) { - - .banner-text-small - { - font-size: 0.8em !important; - } - - .banner-text-medium - { - font-size: 0.9em !important; - } - - .banner-text-big - { - font-size: 1.1em !important; - } - - .banner-text - { - top: -21px; - letter-spacing: -1.5px; - } - - .banner-text-1 - { - left: 1.5%; - } - - .banner-text-2 - { - left: 3.0%; - } - - .banner-text-3 - { - left: 5%; - } - - .banner-text-4 - { - left: 8%; - } - -} - -@media only screen and (min-width: 400px) and (max-width: 500px) { - .banner-text-small - { - font-size: 0.9em !important; - } - - .banner-text-medium - { - font-size: 1.1em !important; - } - - .banner-text-big - { - font-size: 1.2em !important; - } - - .banner-text - { - top: -24px; - letter-spacing: -1px; - } - - .banner-text-2 - { - left: 7.0%; - } - - .banner-text-3 - { - left: 12%; - } - - .banner-text-4 - { - left: 17%; - } -} - -@media only screen and (min-width: 501px) and (max-width: 767px) { - .banner-text-small - { - font-size: 0.9em !important; - } - - .banner-text-medium - { - font-size: 1.2em !important; - } - - .banner-text-big - { - font-size: 1.4em !important; - } - .banner-text - { - top: -30px; - } - - .banner-text-2 - { - left: 7.0%; - } - - .banner-text-3 - { - left: 12%; - } - - .banner-text-4 - { - left: 17%; - } -} - - -@media only screen and (max-width: 349px) { - - .banner-caption-text - { - font-size: 0.5em; - } - -} - -@media only screen and (min-width: 350px) and (max-width: 400px) { - - .banner-caption-text - { - font-size: 0.6em; - } - -} - - -@media only screen and (min-width: 401px) and (max-width: 444px) { - - .banner-caption-text - { - font-size: 0.7em; - } - -} - - -@media only screen and (min-width: 445px) and (max-width: 609px) { - - .banner-caption-text - { - font-size: 0.9em; - } - -} - -@media only screen and (min-width: 610px) and (max-width: 767px) { - - .banner-caption-text - { - font-size: 1.1em; - } - -} - -@media only screen and (max-width: 767px) { - .banner-caption-div - { - position: relative !important; - } -} - -@media only screen and (max-width: 346px) { - .banner-caption-div - { - top: -39px; - left: -32%; - } -} - -@media only screen and (min-width: 347px) and (max-width: 399px) { - .banner-caption-div - { - top: -43px; - left: -22%; - } -} - -@media only screen and (min-width: 400px) and (max-width: 444px) { - .banner-caption-div - { - top: -50px; - left: -31%; - } -} - -@media only screen and (min-width: 445px) and (max-width: 500px) { - .banner-caption-div - { - top: -57px; - left: -23%; - } -} - -@media only screen and (min-width: 501px) and (max-width: 569px) { - .banner-caption-div - { - top: -65px; - left: -30%; - } -} - -@media only screen and (min-width: 570px) and (max-width: 639px) { - .banner-caption-div - { - top: -74px; - left: -22%; - } -} - -@media only screen and (min-width: 640px) and (max-width: 709px) { - .banner-caption-div - { - top: -83px; - left: -16%; - } -} - -@media only screen and (min-width: 710px) and (max-width: 767px) { - .banner-caption-div - { - top: -92px; - left: -11%; - } -} - - -@media only screen and (min-width: 768px) and (max-width: 991px) { - - .banner-text-small - { - font-size: 1.2em !important; - } - - .banner-text-medium - { - font-size: 1.7em !important; - } - - .banner-text-big - { - font-size: 2.0em !important; - } - - .banner-text - { - top: -40px; - } - - .banner-text-2 - { - left: 7.0%; - } - - .banner-text-3 - { - left: 12%; - } - - .banner-text-4 - { - left: 17%; - } - - .banner-caption-text - { - font-size: 1.5em; - } - .banner-caption-div - { - top: 99px; - } -} - -@media only screen and (min-width: 992px) and (max-width: 1100px) { - - .banner-text - { - top: -52px; - } -} - -@media only screen and (min-width: 992px) and (max-width: 1150px) { - - .banner-text-2 - { - left: 7.0%; - } - - .banner-text-3 - { - left: 9%; - } - - .banner-text-4 - { - left: 12%; - } - - .banner-caption-text - { - font-size: 1.6em; - } - .banner-caption-div - { - top: 133px; - } -} - -@media only screen and (min-width: 1150px) and (max-width: 1275px) { - - .banner-text-2 - { - left: 8.3%; - } - .banner-text-3 - { - left: 12%; - } - - .banner-text-4 - { - left: 17%; - } - - .banner-caption-text - { - font-size: 1.8em; - } -} - - -/*modifications for fitting ui3 over iitb lab pages*/ -body{ - display: flex; - flex-direction: column; -} -body > div:nth-child(2) { - flex: 1; -} \ No newline at end of file diff --git a/ph3-beta-to-ui3.0-conv/ui3template/assets/css/style.css b/ph3-beta-to-ui3.0-conv/ui3template/assets/css/style.css deleted file mode 100755 index 323c7dc3..00000000 --- a/ph3-beta-to-ui3.0-conv/ui3template/assets/css/style.css +++ /dev/null @@ -1,14746 +0,0 @@ -/* -------------------------------------- - -1. Loading -2. Bootstrap Overrides -3. Typography -4. Tables -5. Form controls -6. Buttons component -7. Dropdown menu -8. Nav bars -9. Pagination -10. Progress bar -11. Labels & Badges -12. Thumbnails -13. Media -14. List groups -15. Panels -16. Breadcrumb -17. Search -18. Footer -19. Main Content -20. Pulse -21. To Top -22. Menu Icons -23. Office Sidebar -24. Smart Forms -25. Webkit Scrollbar -26. login modal -27. Enlarge Panel -28. Accordion -29. Video Alert -30. Button -31. Carousel -32. Panel -33. Map -34. Chartist -35. Cards -36. Table-dark -37. 404 -38. Container -39. Cookie Modal -40. Invoice -41. Market Buttons -42. login -43. CHat Application -44. Fullcalendar -45. Scrumboard -46. Dropzone -47. Widget Weather -48. Sidebar ---------------------------------------------------------*/ -/** ************************************* ** - DO NOT CHANGE ANYTHING HERE! - REWRITE IN A CUSTOM CSS FILE IF REQUIRED! - ** ************************************* **/ - -@import url('custom.css'); -@import url('../plugins/animate/animate.min.css'); -@import url('../plugins/awesome-bootstrap-checkbox/awesome-bootstrap-checkbox.css'); -@import url('../fonts/font-awesome-4.7.0/css/font-awesome.min.css'); -@import url('../fonts/ionicons/css/ionicons.min.css'); -@import url('../fonts/simple-line-icons/css/simple-line-icons.css'); -@import url('../fonts/line-icons/line-icons.css'); -@import url('../fonts/line-icons-pro/line-icons-pro.css'); -@import url('../fonts/linea/arrows/linea-icons.css'); -@import url('../fonts/linea/basic/linea-icons.css'); -@import url('../fonts/linea/ecommerce/linea-icons.css'); -@import url('../fonts/linea/software/linea-icons.css'); -@import url('../fonts/material_icon/icon.css'); -@import url('../fonts/weather-icons/css/weather-icons.css'); -@import url('../fonts/weather-icons/css/weather-icons-wind.css'); -@import url('../fonts/ionicons/css/ionicons.min.css'); - -/** 1. Loading -*************************************************** **/ -.preloader .loading h2, .preloader .loading .progress { - display: none; -} - -.preloader { - position: fixed !important; - top: 0; - left: 0; - bottom: 0; - right: 0; - background: #FFFFFF; - z-index: 99999; -} - -.preloader:after { - content: "loading.."; - position: absolute; - top: 45%; - left: 49.7%; - margin: 20px 0 0 -15px; -} - -.loading { - width: 60px; - height: 60px; - position: absolute; - top: 43%; - left: 50%; - margin: -20px 0 0 -20px; -} - - -.lds-circle { - display: inline-block; - transform: translateZ(1px); -} - -.lds-circle > div { - display: inline-block; - width: 50px; - height: 50px; - margin: 0; - background: #4076e0; - animation: lds-circle 2.4s cubic-bezier(0, 0.2, 0.8, 1) infinite; -} - -@keyframes lds-circle { - 0%, 100% { - animation-timing-function: cubic-bezier(0.5, 0, 1, 0.5); - } - 0% { - transform: rotateY(0deg); - } - 50% { - transform: rotateY(1800deg); - animation-timing-function: cubic-bezier(0, 0.5, 0.5, 1); - } - 100% { - transform: rotateY(3600deg); - } -} - -/** 2. Bootstrap Overrides -*************************************************** **/ -body *:not(.fa):not([class^="icon-"]):not(.material-icons):not(.icons):not(.wi):not(.glyphicon):not(.icon) { - font-family: "Roboto", Helvetica Neue, Helvetica, Arial, sans-serif !important; -} - -html { - height: 100%; -} - -body { - position: relative; - min-height: 100%; - background-color: #ffffff; - overflow-x: hidden !important; -} - -a { - cursor: pointer; - text-decoration: none !important; -} - -a:focus { - outline: 0; -} - -figure { - position: relative; -} - -figcaption { - position: absolute; - bottom: 0; - opacity: 0; - visibility: hidden; - width: 100%; - color: #fff; - padding: 10px 15px; - z-index: 2; - background-color: rgba(0, 0, 0, 0.7); - -webkit-transition: all ease-in-out 0.2s; - -o-transition: all ease-in-out 0.2s; - transition: all ease-in-out 0.2s; -} - -figure:hover figcaption { - opacity: 1; - visibility: visible; -} - -.hr-condensed { - margin-top: 10px; - margin-bottom: 10px; -} - -.row-seamless { - margin-left: 0; - margin-right: 0; -} - -.row-seamless > div[class*=col-] { - padding-left: 0; - padding-right: 0; -} - -.navbar-default { - background-color: #ffffff; - /*background-color: #E0FFFF; */ /* header color */ - border-color: #e7e7e7; - /*box-shadow: 5px 10px #E6E7EC;*/ - /*-webkit-box-shadow: 0 7px 6px -6px #777; - -moz-box-shadow: 0 7px 6px -6px #777; - box-shadow: 0 7px 6px -6px #777;*/ /* header shadow */ -} - -.navbar-default .navbar-nav > .active > a, .navbar-default .navbar-nav > .active > a:hover, .navbar-default .navbar-nav > .active > a:focus, -.navbar-default .navbar-nav > .open > a, .navbar-default .navbar-nav > .open > a:hover, .navbar-default .navbar-nav > .open > a:focus { - background-color: #ffffff; - /*background-color: #40ADF4;*/ - /*color: #fff; */ /* active text color */ -} - -.navbar.navbar-default.navbar-transparent.affix { - border-bottom: 1px solid #dddddd; -} - -.panel, -.panel-heading, -.alert, -.label, -.btn, -.dropdown-menu, -.img-thumbnail, -.modal-content, -.pagination a, -.input-sm, -.form-control, -.checkbox label::before, -.thumbnail, -.input-group-addon, -.fc-state-default.fc-corner-left, -.fc-state-default.fc-corner-right, -.fc-event, -.sweet-alert, -.sweet-alert input, -.ranges li, -.popover-title, -.popover, -.select2-container--default .select2-selection--single, -.select2-container--default .select2-selection--multiple, -.nav-tabs > li > a { - border-radius: 0 !important; -} - -.fa { - speak: none; - font-style: normal; - font-weight: normal; - font-variant: normal; - text-transform: none; - line-height: 1; - min-width: 1em; - display: inline-block; - text-align: center; - font-size: 16px; - vertical-align: middle; - position: relative; - top: -1px; - -webkit-font-smoothing: antialiased; -} - -/** 3. Typography -*************************************************** **/ -h1, -h2, -h3, -h4, -h5, -h6, -.h1, -.h2, -.h3, -.h4, -.h5, -.h6 { - letter-spacing: -0.015em; -} - -h1 > .label, -h2 > .label, -h3 > .label, -h4 > .label, -h5 > .label, -h6 > .label, -.h1 > .label, -.h2 > .label, -.h3 > .label, -.h4 > .label, -.h5 > .label, -.h6 > .label, -h1 > .badge, -h2 > .badge, -h3 > .badge, -h4 > .badge, -h5 > .badge, -h6 > .badge, -.h1 > .badge, -.h2 > .badge, -.h3 > .badge, -.h4 > .badge, -.h5 > .badge, -.h6 > .badge { - vertical-align: middle; - margin-top: -2px; -} - -h1 > .label.pull-right, -h2 > .label.pull-right, -h3 > .label.pull-right, -h4 > .label.pull-right, -h5 > .label.pull-right, -h6 > .label.pull-right, -.h1 > .label.pull-right, -.h2 > .label.pull-right, -.h3 > .label.pull-right, -.h4 > .label.pull-right, -.h5 > .label.pull-right, -.h6 > .label.pull-right, -h1 > .badge.pull-right, -h2 > .badge.pull-right, -h3 > .badge.pull-right, -h4 > .badge.pull-right, -h5 > .badge.pull-right, -h6 > .badge.pull-right, -.h1 > .badge.pull-right, -.h2 > .badge.pull-right, -.h3 > .badge.pull-right, -.h4 > .badge.pull-right, -.h5 > .badge.pull-right, -.h6 > .badge.pull-right { - margin-top: 3px; -} - -h1 small, -h2 small, -h3 small, -h4 small, -h5 small, -h6 small, -.h1 small, -.h2 small, -.h3 small, -.h4 small, -.h5 small, -.h6 small { - font-size: 13px; -} - -h1 small.display-block, -h2 small.display-block, -h3 small.display-block, -h4 small.display-block, -h5 small.display-block, -h6 small.display-block, -.h1 small.display-block, -.h2 small.display-block, -.h3 small.display-block, -.h4 small.display-block, -.h5 small.display-block, -.h6 small.display-block { - margin-top: 3px; -} - -h1 > [class*=icon-], -h2 > [class*=icon-], -h3 > [class*=icon-], -.h1 > [class*=icon-], -.h2 > [class*=icon-], -.h3 > [class*=icon-] { - top: -2px; -} - -h1 small, -h2 small, -h3 small, -.h1 small, -.h2 small, -.h3 small { - font-size: 13px; -} - -.heading-divided { - margin-bottom: 15px; - padding-bottom: 10px; - border-bottom: 1px solid #ddd; -} - -a, -button, -input, -textarea { - outline: 0; -} - -mark, -.mark { - background-color: #333333; - padding: 2px 6px; - color: #fff; -} - -a.text-muted:hover { - color: #333333; -} - -svg { - display: block; -} - -.svg-inline svg { - display: inline-block; -} - -.svg-center svg { - margin: auto; -} - -.no-transitions * { - -webkit-transition: none !important; - -o-transition: none !important; - transition: none !important; -} - -.btn, -.navbar-link, -.nav-tabs > li > a, -.nav-tabs > li > a:after, -.nav-pills > li > a, -.nav li > a > .label, -.nav li > a > .badge, -.breadcrumb > li > a, -.breadcrumb-elements > li > a, -.tt-suggestion, -.tokenfield .token, -.selectboxit-btn, -.bootstrap-select .btn-default, -.select2-results__option, -.select2-selection__choice__remove, -.dropdown-menu > li > a, -.dropdown-menu > li > label, -.wizard .actions a, -.checker span:after, -.choice span:after, -.selectboxit-option-anchor, -.dt-autofill-list ul li, -.dt-autofill-button .btn, -.dataTable .select-checkbox:before, -.dataTable .select-checkbox:after, -.pika-button, -.sp-input, -.navbar-nav > li > a, -.dropdown-content-footer a, -.icons-list > li > a, -.picker__nav--prev, -.picker__nav--next, -.multiselect.btn-default, -.list-group-item, -.pagination > li > a, -.pagination > li > span, -.pager > li > a, -.pager > li > span, -.datepicker-dropdown .day, -a.label, -a.badge, -.ui-datepicker-buttonpane > button, -.ui-button, -.ui-menu-item, -.ui-selectmenu-button, -.ui-datepicker a, -.media-link, -.menu-list li > a, -.plupload_file_action > a, -.dataTables_paginate .paginate_button, -.dataTables_filter input, -.dt-button, -.picker__list-item, -.picker__day, -.picker__footer, -.sp-replacer, -.sp-cancel, -.sp-choose, -.sp-palette-toggle, -.daterangepicker td, -.daterangepicker th, -.noUi-handle, -.fc-button, -.plupload_button, -.picker__footer button, -.picker__list button, -.AnyTime-btn, -.plupload_filelist li, -.password-indicator-group.input-group-addon, -.password-indicator-label-absolute, -.select2-selection--single:not([class*=bg-]), -.select2-selection--multiple:not([class*=bg-]) .select2-selection__choice, -.bootstrap-select.btn-group .dropdown-menu > li > a .check-mark { - -webkit-transition: all ease-in-out 0.15s; - -o-transition: all ease-in-out 0.15s; - transition: all ease-in-out 0.15s; -} - -.close, -.tag [data-role="remove"] { - -webkit-transition: opacity ease-in-out 0.15s; - -o-transition: opacity ease-in-out 0.15s; - transition: opacity ease-in-out 0.15s; -} - -.checker span { - -webkit-transition: border-color ease-in-out 0.15s; - -o-transition: border-color ease-in-out 0.15s; - transition: border-color ease-in-out 0.15s; -} - -.table tr, -.table th, -.table td, -.htContextMenu td, -.ranges ul li { - -webkit-transition: background-color ease-in-out 0.15s; - -o-transition: background-color ease-in-out 0.15s; - transition: background-color ease-in-out 0.15s; -} - -.letter-icon { - width: 16px; - display: block; -} - -.content-divider { - text-align: center; - position: relative; - z-index: 1; -} - -.content-divider > span { - background-color: #f5f5f5; - display: inline-block; - padding-left: 12px; - padding-right: 12px; -} - -.panel .content-divider > span, -.tab-content-bordered .content-divider > span, -.modal .content-divider > span { - background-color: #fff; -} - -.content-divider > span:before { - content: ""; - position: absolute; - top: 50%; - left: 0; - height: 1px; - background-color: #ddd; - width: 100%; - z-index: -1; -} - -.icon-object { - border-radius: 50%; - text-align: center; - margin: 10px; - border-width: 3px; - border-style: solid; - padding: 20px; - display: inline-block; -} - -.icon-object > i { - font-size: 32px; - top: 0; -} - -.img-preview { - max-height: 70px; -} - -.video-container { - position: relative; - padding-bottom: 56.25%; - height: 0; - overflow: hidden; -} - -.video-container iframe, -.video-container object, -.video-container embed { - position: absolute; - top: 0; - left: 0; - width: 100%; - height: 100%; -} - -.position-left { - margin-right: 7px; -} - -.position-right { - margin-left: 7px; -} - -.bg-dark { - background-color: #333333 !important; - color: #fff; -} - -a.bg-dark:hover, -a.bg-dark:focus { - background-color: #222222; -} - -.bg-primary { - color: #fff; - background-color: #4076e0; -} - -a.bg-primary:hover, -a.bg-primary:focus { - background-color: #0069d9; -} - -.bg-success { - color: #fff; - background-color: #28a745; -} - -a.bg-success:hover, -a.bg-success:focus { - background-color: #3d8b40; -} - -a.bg-success:hover, -a.bg-success:focus { - background-color: #28a745; -} - -.bg-info { - color: #fff; - background-color: #17a2b8; -} - -a.bg-info:hover, -a.bg-info:focus { - background-color: #008fa1; -} - -a.bg-info:hover, -a.bg-info:focus { - background-color: #17a2b8; -} - -.bg-warning { - color: #fff; - background-color: #ffc107; -} - -a.bg-warning:hover, -a.bg-warning:focus { - background-color: #ee3900; -} - -a.bg-warning:hover, -a.bg-warning:focus { - background-color: #ffc107; -} - -.bg-danger { - color: #fff; - background-color: #dc3545; -} - -a.bg-danger:hover, -a.bg-danger:focus { - background-color: #ea1c0d; -} - -a.bg-danger:hover, -a.bg-danger:focus { - background-color: #dc3545; -} - -#header { - margin: 0; - padding: 0; - position: relative; - border-bottom-width: 0; -} - -@media (min-width: 768px) { - .page-header-fixed { - position: fixed; - top: 0; - left: 0; - right: 0; - z-index: 1030; - } -} - -@media (max-width: 768px) { - .has-fixed-header { - padding-top: 0 !important; - } -} - -#header { - background-color: #ffffff; - color: #fff; - margin-bottom: 0px; -} - -#header .page-title small { - color: rgba(255, 255, 255, 0.5); -} - -#header .form-control-feedback, -#header .input-group-addon { - color: rgba(255, 255, 255, 0.75); -} - -#header .heading-text > a { - color: #fff; -} - -#header .form-control { - border-bottom-color: rgba(255, 255, 255, 0.3); - color: #fff; -} - -#header .form-control::-moz-placeholder { - color: rgba(255, 255, 255, 0.75); - opacity: 1; -} - -#header .form-control:-ms-input-placeholder { - color: rgba(255, 255, 255, 0.75); -} - -#header .form-control::-webkit-input-placeholder { - color: rgba(255, 255, 255, 0.75); -} - -#header .form-control:focus { - border-bottom-color: #fff; - -webkit-box-shadow: 0 1px 0 #fff; - box-shadow: 0 1px 0 #fff; -} - -.text-highlight { - padding: 4px 6px; -} - -.text-size-large { - font-size: 14px; -} - -.text-size-base { - font-size: 13px; -} - -.text-size-small { - font-size: 12px; -} - -.text-size-mini { - font-size: 11px; -} - -ul, -ol { - padding-left: 25px; -} - -.list > li, -.list > li .list > li { - margin-top: 7px; -} - -.list > li:first-child { - margin-top: 0; -} - -.list-condensed > li, -.list-condensed > li .list > li { - margin-top: 3px; -} - -.list-extended > li, -.list-extended > li .list > li { - margin-top: 11px; -} - -ul.list-square { - list-style-type: square; -} - -ul.list-circle { - list-style-type: circle; -} - -.list-inline { - margin-left: 0; - font-size: 0; -} - -.list-inline > li { - padding-left: 0; - padding-right: 20px; - font-size: 13px; -} - -.list-inline > li:last-child { - padding-right: 0; -} - -.list-inline-condensed > li { - padding-right: 10px; -} - -.list-inline-separate > li { - padding-right: 20px; - position: relative; -} - -.list-inline-separate > li:before { - content: '\2022'; - position: absolute; - right: 8px; - color: #ccc; - top: 1px; -} - -.list-inline-separate > li:last-child:before { - content: none; -} - -.list-inline-bordered > li { - margin-right: 20px; - border-right: 1px solid #ddd; -} - -.list-inline-bordered > li:last-child { - border-right: 0; -} - -.list-icons { - padding-left: 0; -} - -.list-icons li { - list-style: none; -} - -.list-icons li i { - margin-right: 7px; -} - -.list-feed { - margin: 0; - padding: 7px 0; - list-style: none; -} - -.list-feed > li { - position: relative; - margin: 0; - padding-bottom: 20px; - padding-left: 28px; -} - -.list-feed > li:before { - content: ''; - position: absolute; - left: 0; - top: 5px; - width: 8px; - height: 8px; - background-color: #fff; - display: inline-block; - border-radius: 50%; - border: 2px solid #607D8B; - z-index: 3; -} - -.list-feed > li:after { - content: ''; - position: absolute; - top: 5px; - left: 3px; - bottom: -7px; - width: 0; - border-left: 1px solid #607D8B; - border-right: 1px solid #607D8B; - z-index: 2; -} - -.list-feed > li:first-child:after { - top: 8px; -} - -.list-feed > li:last-child { - padding-bottom: 0; -} - -.list-feed > li:last-child:after { - content: none; -} - -.list-feed > li[class*=border-]:before, -.list-feed > li[class*=border-]:after { - border-color: inherit; -} - -.list-feed-solid > li:before { - content: ''; - width: 0; - height: 0; - border-width: 4px; -} - -.list-feed-square > li:before { - content: ''; -} - -.list-feed-rhombus > li:before { - content: ''; - -webkit-transform: rotate(45deg); - -ms-transform: rotate(45deg); - -o-transform: rotate(45deg); - transform: rotate(45deg); -} - -.list-feed-time > li { - margin-left: 48px; -} - -.list-feed-time > li .feed-time { - position: absolute; - left: -48px; - top: 0; - font-size: 12px; -} - -.icons-list { - margin: 0; - padding: 0; - list-style: none; - line-height: 1; - font-size: 0; -} - -.icons-list > li { - position: relative; - display: inline-block; - margin-left: 5px; - font-size: 13px; -} - -.icons-list > li:first-child { - margin-left: 0; -} - -.icons-list > li > a { - color: inherit; - display: block; - opacity: 1; - filter: alpha(opacity=100); -} - -.icons-list > li > a:hover, -.icons-list > li > a:focus { - opacity: 0.75; - filter: alpha(opacity=75); -} - -.icons-list > li > a > i { - top: 0; -} - -.icons-list > li > a > .caret { - margin-top: 0; - margin-bottom: 0; -} - -.icons-list-extended > li { - margin-left: 10px; -} - -dl { - margin-bottom: 0; -} - -dt { - margin-bottom: 5px; - font-weight: 500; -} - -dd + dt { - margin-top: 20px; -} - -@media (min-width: 768px) { - .dl-horizontal dt + dd { - margin-top: 20px; - } - - .dl-horizontal dt:first-child + dd { - margin-top: 0; - } -} - -blockquote { - margin: 0; -} - -blockquote img { - height: 42px; - float: left; - margin-right: 20px; -} - -blockquote img.pull-right { - margin-right: 0; - margin-left: 20px; -} - -blockquote footer, -blockquote small, -blockquote .small { - font-size: 13px; - margin-top: 7px; - display: block; -} - -.blockquote-reverse, -blockquote.pull-right { - padding-right: 20px; -} - -code { - word-wrap: break-word; -} - -kbd { - font-size: 11px; - vertical-align: text-top; - -webkit-box-shadow: none; - box-shadow: none; -} - -pre { - padding: 20px; - margin: 0; - -moz-tab-size: 4; - -o-tab-size: 4; - tab-size: 4; - -webkit-hyphens: none; - -moz-hyphens: none; - -ms-hyphens: none; - hyphens: none; -} - -/** 4. Tables -*************************************************** **/ -th { - font-weight: 500; -} - -.table { - margin-bottom: 0; -} - -.table > thead > tr > th, -.table > tbody > tr > th, -.table > tfoot > tr > th, -.table > thead > tr > td, -.table > tbody > tr > td, -.table > tfoot > tr > td { - vertical-align: middle; -} - -.panel[class*=bg-] .table > thead > tr > th, -.table[class*=bg-] > thead > tr > th, -.panel[class*=bg-] .table > tbody > tr > th, -.table[class*=bg-] > tbody > tr > th, -.panel[class*=bg-] .table > tfoot > tr > th, -.table[class*=bg-] > tfoot > tr > th, -.panel[class*=bg-] .table > thead > tr > td, -.table[class*=bg-] > thead > tr > td, -.panel[class*=bg-] .table > tbody > tr > td, -.table[class*=bg-] > tbody > tr > td, -.panel[class*=bg-] .table > tfoot > tr > td, -.table[class*=bg-] > tfoot > tr > td { - border-color: rgba(255, 255, 255, 0.2); -} - -.table tr[class*=bg-] > td, -.table tr[class*=bg-] > th { - border-color: #fff; -} - -.table tr > td[class*=bg-], -.table tr > th[class*=bg-] { - border-color: #fff; -} - -.table > thead > tr[class*=border-bottom-] > th, -.table > thead > tr[class*=border-bottom-] > td { - border-bottom-color: inherit; -} - -.table > tbody > tr[class*=border-top-] > th, -.table > tfoot > tr[class*=border-top-] > th, -.table > tbody > tr[class*=border-top-] > td, -.table > tfoot > tr[class*=border-top-] > td { - border-top-color: inherit; -} - -.table > thead > tr > th { - border-bottom: 1px solid #bbb; -} - -.table > tfoot > tr > th { - border-top: 1px solid #bbb; -} - -.table .table { - background-color: #fff; -} - -.table-responsive + .table-responsive > .table:not(.table-bordered):not(.table-framed), -.table:not(.table-bordered):not(.table-framed) + .table:not(.table-bordered):not(.table-framed) { - border-top: 1px solid #ddd; -} - -.panel-body + .table > tbody:first-child > tr:first-child > td, -.panel-body + .table-responsive > .table > tbody:first-child > tr:first-child > td, -.panel-body + .table > tbody:first-child > tr:first-child > th, -.panel-body + .table-responsive > .table > tbody:first-child > tr:first-child > th { - border-top: 0; -} - -.modal-body + .table-responsive > .table, -.modal-body + .table { - border-bottom: 1px solid #ddd; -} - -.modal-body + .table-responsive { - border: 0; -} - -.panel[class*=bg-] > .panel-body + .table, -.panel[class*=bg-] > .panel-body + .table-responsive { - border-color: #fff; -} - -.table > thead > tr.border-solid > th, -.table > thead > tr.border-solid > td { - border-bottom-width: 2px; -} - -.table > tbody > tr.border-solid > td, -.table > tfoot > tr.border-solid > td, -.table > tbody > tr.border-solid > th, -.table > tfoot > tr.border-solid > th { - border-top-width: 2px; -} - -.table-bordered > thead > tr.border-solid:first-child > th, -.table-bordered > thead > tr.border-solid:first-child > td { - border-bottom-width: 2px; -} - -.table > thead > tr.border-double > th, -.table > thead > tr.border-double > td { - border-bottom-width: 3px; - border-bottom-style: double; -} - -.table > tbody > tr.border-double > td, -.table > tfoot > tr.border-double > td, -.table > tbody > tr.border-double > th, -.table > tfoot > tr.border-double > th { - border-top-width: 3px; - border-top-style: double; -} - -.table-bordered > thead > tr.border-double:first-child > th, -.table-bordered > thead > tr.border-double:first-child > td { - border-bottom-width: 3px; - border-bottom-style: double; -} - -.table > tbody > tr.border-dashed > td, -.table > tbody > tr.border-dashed > th { - border-top-style: dashed; -} - -.table-framed, -.panel > .table-framed, -.panel > .table-responsive > .table-framed { - border: 1px solid #ddd; -} - -@media screen and (max-width: 768px) { - .table-responsive > .table-framed { - border: 0; - } -} - -.table-borderless > tbody > tr > td, -.table-borderless > tbody > tr > th { - border: 0; -} - -.table-columned > tbody > tr > td, -.table-columned > tfoot > tr > td, -.table-columned > tbody > tr > th, -.table-columned > tfoot > tr > th { - border: 0; - border-left: 1px solid #ddd; -} - -.table-columned > tbody > tr > td:first-child, -.table-columned > tfoot > tr > td:first-child, -.table-columned > tbody > tr > th:first-child, -.table-columned > tfoot > tr > th:first-child { - border-left: 0; -} - -.table-columned > thead > tr > th, -.table-columned > thead > tr > td { - border-left: 1px solid #ddd; -} - -.table-columned > thead > tr > th:first-child, -.table-columned > thead > tr > td:first-child { - border-left: 0; -} - -.table-lg > thead > tr > th, -.table-lg > tbody > tr > th, -.table-lg > tfoot > tr > th, -.table-lg > thead > tr > td, -.table-lg > tbody > tr > td, -.table-lg > tfoot > tr > td { - padding: 15px 20px; -} - -.table-sm > thead > tr > th, -.table-sm > tbody > tr > th, -.table-sm > tfoot > tr > th, -.table-sm > thead > tr > td, -.table-sm > tbody > tr > td, -.table-sm > tfoot > tr > td { - padding: 10px 20px; -} - -.table-xs > thead > tr > th, -.table-xs > tbody > tr > th, -.table-xs > tfoot > tr > th, -.table-xs > thead > tr > td, -.table-xs > tbody > tr > td, -.table-xs > tfoot > tr > td { - padding: 8px 20px; -} - -.table-xxs > thead > tr > th, -.table-xxs > tbody > tr > th, -.table-xxs > tfoot > tr > th, -.table-xxs > thead > tr > td, -.table-xxs > tbody > tr > td, -.table-xxs > tfoot > tr > td { - padding: 6px 15px; -} - -.table-bordered tr:first-child > td, -.table-bordered tr:first-child > th { - border-top-color: #bbb; -} - -.table-bordered tr[class*=bg-] > th, -.table-bordered tr[class*=bg-] > td, -.table-bordered tr > th[class*=bg-], -.table-bordered tr > td[class*=bg-] { - border-color: #fff; -} - -.panel[class*=bg-] .table-striped > tbody > tr:nth-child(odd), -.table-striped[class*=bg-] > tbody > tr:nth-child(odd) { - background-color: rgba(0, 0, 0, 0.05); -} - -.table-hover > tbody > tr:hover > th, -.table-hover > tbody > tr:hover > td { - background-color: inherit; -} - -.panel[class*=bg-] .table-hover > tbody > tr:hover, -.table-hover[class*=bg-] > tbody > tr:hover { - background-color: rgba(0, 0, 0, 0.1); -} - -.panel[class*=bg-] .panel-body > .table .active > th, -.panel[class*=bg-] .panel-body > .table-responsive > .table .active > th, -.table[class*=bg-] .active > th, -.panel[class*=bg-] .panel-body > .table .active > td, -.panel[class*=bg-] .panel-body > .table-responsive > .table .active > td, -.table[class*=bg-] .active > td, -.panel[class*=bg-] .panel-body > .table th.active, -.panel[class*=bg-] .panel-body > .table-responsive > .table th.active, -.table[class*=bg-] th.active, -.panel[class*=bg-] .panel-body > .table td.active, -.panel[class*=bg-] .panel-body > .table-responsive > .table td.active, -.table[class*=bg-] td.active { - background-color: rgba(0, 0, 0, 0.15); -} - - -/** 5. Form controls -*************************************************** **/ -legend { - font-size: 12px; - padding-top: 10px; - padding-bottom: 10px; - text-transform: uppercase; -} - -fieldset:first-child legend:first-child { - padding-top: 0; -} - -legend .control-arrow { - float: right; - color: #999999; -} - -legend .control-arrow:hover { - color: #333333; -} - -label { - margin-bottom: 7px; - font-weight: 400; -} - -select[multiple], -select[size] { - height: 200px; - padding: 7px; -} - -select[multiple] option, -select[size] option { - padding: 2px 12px; -} - -select[multiple] option + option, -select[size] option + option { - margin-top: 1px; -} - -input[type="file"]:focus, -input[type="radio"]:focus, -input[type="checkbox"]:focus { - outline: 0; -} - -.form-control { - -webkit-box-shadow: none; - box-shadow: none; -} - -.form-control:focus { - outline: 0; - -webkit-box-shadow: none; - box-shadow: none; -} - -.form-control[class*=bg-]:focus { - border-color: transparent; -} - -.form-control[class*=bg-]::-moz-placeholder { - color: #fff; - opacity: 1; -} - -.form-control[class*=bg-]:-ms-input-placeholder { - color: #fff; -} - -.form-control[class*=bg-]::-webkit-input-placeholder { - color: #fff; -} - -.form-control-unstyled { - padding: 0; - border: 0; - background-color: transparent; -} - -input[type="text"], -input[type="password"], -input[type="search"], -input[type="email"], -input[type="number"], -input[type="datetime"], -input[type="datetime-local"], -input[type="date"], -input[type="month"], -input[type="time"], -input[type="week"], -input[type="url"], -input[type="tel"], -textarea { - -webkit-appearance: none; -} - -.form-group .form-group:last-child { - margin-bottom: 0; -} - -@media (max-width: 1024px) { - .form-group div[class*="col-md-"]:not(.control-label) + div[class*="col-md-"] { - margin-top: 20px; - } -} - -@media (max-width: 1199px) { - .form-group div[class*="col-lg-"]:not(.control-label) + div[class*="col-lg-"] { - margin-top: 20px; - } -} - -@media (max-width: 768px) { - .form-group div[class*="col-sm-"]:not(.control-label) + div[class*="col-sm-"] { - margin-top: 20px; - } -} - -.form-group-material > .control-label { - position: relative; - top: 7px; - opacity: 0; - filter: alpha(opacity=0); -} - -.form-group-material > .control-label ~ .form-control-feedback { - top: 27px; -} - -.form-group-material > .control-label.is-visible { - top: 0; - opacity: 1; - filter: alpha(opacity=100); -} - -.form-group-material > .control-label.animate { - -webkit-transition: all linear 0.1s; - -o-transition: all linear 0.1s; - transition: all linear 0.1s; -} - -.radio, -.checkbox { - margin-top: 8px; - margin-bottom: 8px; -} - -.radio input[type="radio"], -.radio-inline input[type="radio"], -.checkbox input[type="checkbox"], -.checkbox-inline input[type="checkbox"] { - margin-left: 0; - left: 0; -} - -.radio + .radio, -.checkbox + .checkbox { - margin-top: 0; -} - -.radio-inline, -.checkbox-inline { - -} - -.radio-right.radio-inline, -.radio-right label, -.checkbox-right.radio-inline, -.checkbox-right label, -.checkbox-right.checkbox-inline, -.checkbox-right label { - padding-left: 0; - padding-right: 28px; -} - -.radio-right input[type="radio"], -.checkbox-right input[type="radio"], -.checkbox-right input[type="checkbox"] { - left: auto; - right: 0; -} - -.radio-inline + .radio-inline, -.checkbox-inline + .checkbox-inline { - margin-left: 15px; -} - -.radio.disabled, -.checkbox.disabled, -.radio-inline.disabled, -.checkbox-inline.disabled, -fieldset[disabled] .radio, -fieldset[disabled] .checkbox, -fieldset[disabled] .radio-inline, -fieldset[disabled] .checkbox-inline { - color: #999999; -} - -.input-lg { - font-size: inherit !important; -} - -.input-xs { - height: 32px; - padding: 5px 10px; - font-size: 12px; - line-height: 1.6666667; -} - -select.input-xs { - height: 32px; - line-height: 32px; -} - -textarea.input-xs, -select[multiple].input-xs { - height: auto; -} - -.form-group-xs .form-control { - height: 32px; - padding: 5px 10px; - font-size: 12px; - line-height: 1.6666667; -} - -select.form-group-xs .form-control { - height: 32px; - line-height: 32px; -} - -textarea.form-group-xs .form-control, -select[multiple].form-group-xs .form-control { - height: auto; -} - -.form-group-xs .form-control-static { - height: 32px; - min-height: 32px; - padding: 5px 10px; - font-size: 12px; - line-height: 1.6666667; -} - - -.has-feedback .form-control { - padding-right: 36px; -} - -.has-feedback .form-control.input-lg { - padding-right: 40px; -} - -.has-feedback .form-control.input-sm { - padding-right: 34px; -} - -.has-feedback .form-control.input-xs { - padding-right: 32px; -} - -.form-control-feedback { - width: 38px; - color: #333333; - z-index: 3; -} - -input[class*=bg-] + .form-control-feedback { - color: #fff; -} - -.has-feedback-left .form-control { - padding-right: 12px; - padding-left: 36px; -} - -.has-feedback-left .form-control.input-lg { - padding-right: 15px; - padding-left: 40px; -} - -.has-feedback-left .form-control.input-sm { - padding-right: 11px; - padding-left: 34px; -} - -.has-feedback-left .form-control.input-xs { - padding-right: 10px; - padding-left: 32px; -} - -.has-feedback-left .form-control-feedback { - right: auto; - left: 0; -} - -.input-lg + .form-control-feedback, -.form-group-lg > .form-control-feedback { - width: 42px; -} - -.input-sm + .form-control-feedback, -.form-group-sm > .form-control-feedback { - width: 36px; -} - -.input-xs + .form-control-feedback, -.form-group-xs > .form-control-feedback { - width: 34px; - height: 32px; - line-height: 32px; -} - -.has-success .form-control:focus, -.has-warning .form-control:focus, -.has-error .form-control:focus { - -webkit-box-shadow: none; - box-shadow: none; -} - -.help-block { - color: #999999; - font-size: 12px; - margin-top: 7px; - margin-bottom: 7px; -} - -.help-inline { - display: inline-block; - color: #999999; - font-size: 12px; - margin-top: 8px; - margin-bottom: 8px; -} - -.form-horizontal .form-group > div[class*="col-"] + .help-inline { - margin-left: 10px; - margin-right: 10px; -} - -@media (min-width: 1025px) { - .help-inline { - display: inline-block; - margin-top: 8px; - margin-bottom: 8px; - vertical-align: top; - } - - .help-inline:not(.label) { - color: #999999; - } - - .form-group-lg .help-inline { - margin-top: 10px; - } - - .form-group-sm .help-inline { - margin-top: 7px; - } - - .form-group-xs .help-inline { - margin-top: 6px; - } -} - - -@media (min-width: 768px) { - .form-inline .form-group + .form-group { - margin-left: 15px; - } - - .form-inline .form-group > label { - margin-right: 7px; - position: relative; - top: 1px; - } -} - -.form-horizontal .form-group .form-group { - margin-left: 0; - margin-right: 0; -} - -@media (min-width: 768px) { - .form-horizontal .control-label { - padding-bottom: 7px; - padding-top: 0; - } - - .form-horizontal .control-label:not(.text-right) { - text-align: left; - } -} - -@media (min-width: 480px) { - .form-horizontal .control-label[class*=col-xs-] { - padding-top: 8px; - } -} - -@media (min-width: 1025px) { - .form-horizontal .control-label[class*=col-md-] { - padding-top: 8px; - } -} - -@media (min-width: 768px) { - .form-horizontal .control-label[class*=col-sm-] { - padding-top: 8px; - } -} - -@media (min-width: 1200px) { - .form-horizontal .control-label[class*=col-lg-] { - padding-top: 8px; - } -} - -.form-horizontal .has-feedback > .form-control-feedback { - right: 0; -} - -.form-horizontal .has-feedback-left .form-control-feedback { - right: auto; - left: 10px; -} - -.form-horizontal .has-feedback-left > .form-control-feedback { - left: 0; -} - -@media (min-width: 768px) { - .form-horizontal .form-group-lg .control-label { - padding-top: 10px; - } -} - -@media (min-width: 768px) { - .form-horizontal .form-group-sm .control-label { - padding-top: 7px; - } -} - -@media (min-width: 768px) { - .form-horizontal .form-group-xs .control-label { - font-size: 12px; - padding-top: 6px; - } -} - -.input-group .form-control-feedback { - z-index: 3; -} - -.input-group-xs > .form-control, -.input-group-xs > .input-group-addon, -.input-group-xs > .input-group-btn > .btn { - height: 32px; - padding: 5px 10px; - font-size: 12px; - line-height: 1.6666667; -} - -.input-group-transparent .input-group-addon { - background-color: transparent; - border-color: transparent; - padding: 0; -} - -.input-group-transparent .form-control { - background-color: transparent; - border-color: transparent; - cursor: pointer; - width: auto; - padding: 0; -} - -.input-group-transparent .form-control:hover, -.input-group-transparent .form-control:focus { - border-color: transparent; -} - -.input-group-addon > i { - display: block; - top: 0; -} - -.input-group-addon .checker, -.input-group-addon .choice { - display: block; - margin-top: 1px; -} - -.input-group-addon.input-xs { - padding: 5px 10px; - font-size: 13px; -} - -.input-group-addon.input-sm { - font-size: 13px; -} - -/** 6. Buttons component -*************************************************** **/ -.btn { - position: relative; -} - -.btn:focus, -.btn:active:focus, -.btn.active:focus, -.btn.focus, -.btn:active.focus, -.btn.active.focus { - outline: 0; -} - -.btn::-moz-focus-inner { - border: 0; -} - -.btn:hover, -.btn:focus, -.btn.focus { - -webkit-box-shadow: 0 0 0 100px rgba(0, 0, 0, 0.05) inset; - box-shadow: 0 0 0 100px rgba(0, 0, 0, 0.05) inset; -} - -.btn:active, -.btn.active { - -webkit-box-shadow: 0 0 0 100px rgba(0, 0, 0, 0.1) inset; - box-shadow: 0 0 0 100px rgba(0, 0, 0, 0.1) inset; -} - -.btn[class*=bg-]:hover, -.btn[class*=bg-]:focus, -.btn[class*=bg-].focus { - color: #fff; -} - -.btn.text-size-small { - line-height: 1.6666667; -} - -.btn.text-size-mini { - line-height: 1.82; -} - -.btn-default:hover, -.btn-default:focus, -.btn-default.focus { - -webkit-box-shadow: 0 0 0 100px rgba(0, 0, 0, 0.01) inset; - box-shadow: 0 0 0 100px rgba(0, 0, 0, 0.01) inset; -} - -.btn-default:active, -.btn-default.active { - -webkit-box-shadow: 0 0 0 100px rgba(0, 0, 0, 0.03) inset; - box-shadow: 0 0 0 100px rgba(0, 0, 0, 0.03) inset; -} - -.btn-labeled { - padding-left: 48px; -} - -.btn-labeled.btn-default > b { - background-color: #4076e0; - color: #fff; -} - -.btn-labeled > b { - position: absolute; - top: -1px; - left: -1px; - background-color: rgba(0, 0, 0, 0.15); - display: block; - line-height: 1; - padding: 10px; - border-bottom-left-radius: 3px; - border-top-left-radius: 3px; -} - -.btn-labeled > b > i { - top: 0; -} - -.btn-labeled.btn-labeled-right { - padding-left: 12px; - padding-right: 48px; -} - -.btn-labeled.btn-labeled-right > b { - left: auto; - right: -1px; - border-bottom-left-radius: 0; - border-top-left-radius: 0; - border-bottom-right-radius: 3px; - border-top-right-radius: 3px; -} - -.btn-labeled.btn-lg { - padding-left: 55px; -} - -.btn-labeled.btn-lg > b { - padding: 12px; -} - -.btn-labeled.btn-lg.btn-labeled-right { - padding-left: 15px; - padding-right: 55px; -} - -.btn-labeled.btn-sm { - padding-left: 45px; -} - -.btn-labeled.btn-sm > b { - padding: 9px; -} - -.btn-labeled.btn-sm.btn-labeled-right { - padding-left: 11px; - padding-right: 45px; -} - -.btn-labeled.btn-xs { - padding-left: 42px; -} - -.btn-labeled.btn-xs > b { - padding: 8px; -} - -.btn-labeled.btn-xs.btn-labeled-right { - padding-left: 10px; - padding-left: 42px; -} - -.btn-flat { - border-width: 2px; - background-color: transparent; -} - -.btn-flat:hover, -.btn-flat:focus { - opacity: 0.8; - filter: alpha(opacity=80); - -webkit-box-shadow: none; - box-shadow: none; -} - -.btn-flat:active { - opacity: 0.95; - filter: alpha(opacity=95); -} - -.btn-group.open .dropdown-toggle.btn-flat { - -webkit-box-shadow: none; - box-shadow: none; -} - -.btn-icon { - padding-left: 9px; - padding-right: 9px; -} - -.btn-icon .checker, -.btn-icon .choice { - margin-top: -1px; -} - -.btn-icon.icon-2x { - padding-left: 7px; - padding-right: 7px; -} - -.btn-icon.icon-2x > i { - font-size: 32px; - top: 0; -} - -.btn-icon.icon-2x.btn-lg { - padding-left: 9px; - padding-right: 9px; -} - -.btn-icon.icon-2x.btn-sm { - padding-left: 6px; - padding-right: 6px; -} - -.btn-icon.icon-2x.btn-xs { - padding-left: 5px; - padding-right: 5px; -} - -.btn-icon.btn-lg, -.input-group-lg > .input-group-btn > .btn-icon { - padding-left: 11px; - padding-right: 11px; -} - -.btn-icon.btn-sm, -.input-group-sm > .input-group-btn > .btn-icon { - padding-left: 8px; - padding-right: 8px; -} - -.btn-icon.btn-xs, -.input-group-xs > .input-group-btn > .btn.btn-icon { - padding-left: 7px; - padding-right: 7px; -} - -.btn-float { - padding: 18px; -} - -.btn-float.btn-link { - padding: 13px; -} - -.btn-float i { - display: block; - margin: 0; - top: 0; -} - -.btn-float > span { - display: block; - padding-top: 10px; - margin-bottom: -6px; - overflow: hidden; - text-overflow: ellipsis; -} - -.btn-float.btn-float-lg i { - font-size: 32px; -} - -.btn-block-group .btn { - border-width: 1px 0 0 1px; -} - -.btn-block-group .btn:last-child { - border-bottom-width: 1px; -} - -.btn-block-group .btn-default { - border-color: #ddd; -} - -.btn-block-group .btn-block + .btn-block { - margin-top: 0; -} - -.btn-block-group div[class*=col-]:last-child .btn { - border-right-width: 1px; -} - -.btn-link { - color: #333333; -} - -.btn-link, -.btn-link:hover, -.btn-link:focus, -.btn-link:active { - -webkit-box-shadow: none; - box-shadow: none; -} - -.btn-block + .btn-block { - margin-top: 10px; -} - -.btn-default:focus, -.btn-default.focus, -.btn-default:hover { - background-color: #fcfcfc; - border-color: #ddd; -} - -.btn-default:active, -.btn-default.active, -.open > .dropdown-toggle.btn-default { - background-color: #fcfcfc; - border-color: #ddd; -} - -.btn-default:active:hover, -.btn-default.active:hover, -.open > .dropdown-toggle.btn-default:hover, -.btn-default:active:focus, -.btn-default.active:focus, -.open > .dropdown-toggle.btn-default:focus, -.btn-default:active.focus, -.btn-default.active.focus, -.open > .dropdown-toggle.btn-default.focus { - background-color: #fcfcfc; - border-color: #ddd; -} - -.btn-default.disabled { - -webkit-box-shadow: none; - box-shadow: none; -} - -.btn-primary { - color: #fff; - background-color: #4076e0; - border-color: #4076e0; -} - -.btn-primary:focus, -.btn-primary.focus, -.btn-primary:hover { - background-color: #0069d9; - border-color: #0069d9; -} - -.btn-primary:active, -.btn-primary.active, -.open > .dropdown-toggle.btn-primary { - background-color: #0069d9; - border-color: #0069d9; -} - -.btn-primary:active:hover, -.btn-primary.active:hover, -.open > .dropdown-toggle.btn-primary:hover, -.btn-primary:active:focus, -.btn-primary.active:focus, -.open > .dropdown-toggle.btn-primary:focus, -.btn-primary:active.focus, -.btn-primary.active.focus, -.open > .dropdown-toggle.btn-primary.focus { - background-color: #0069d9; - border-color: #0069d9; -} - -.btn-primary.disabled { - -webkit-box-shadow: none; - box-shadow: none; -} - -.btn-success { - color: #fff; - background-color: #28a745; - border-color: #28a745; -} - -.btn-success:focus, -.btn-success.focus, -.btn-success:hover { - background-color: #218838; - border-color: #218838; -} - -.btn-success:active, -.btn-success.active, -.open > .dropdown-toggle.btn-success { - background-color: #218838; - border-color: #218838; -} - -.btn-success:active:hover, -.btn-success.active:hover, -.open > .dropdown-toggle.btn-success:hover, -.btn-success:active:focus, -.btn-success.active:focus, -.open > .dropdown-toggle.btn-success:focus, -.btn-success:active.focus, -.btn-success.active.focus, -.open > .dropdown-toggle.btn-success.focus { - background-color: #218838; - border-color: #218838; -} - -.btn-success.disabled { - -webkit-box-shadow: none; - box-shadow: none; -} - -.btn-info { - color: #fff; - background-color: #17a2b8; - border-color: #17a2b8; -} - -.btn-info:focus, -.btn-info.focus, -.btn-info:hover { - background-color: #138496; - border-color: #138496; -} - -.btn-info:active, -.btn-info.active, -.open > .dropdown-toggle.btn-info { - background-color: #138496; - border-color: #138496; -} - -.btn-info:active:hover, -.btn-info.active:hover, -.open > .dropdown-toggle.btn-info:hover, -.btn-info:active:focus, -.btn-info.active:focus, -.open > .dropdown-toggle.btn-info:focus, -.btn-info:active.focus, -.btn-info.active.focus, -.open > .dropdown-toggle.btn-info.focus { - background-color: #138496; - border-color: #138496; -} - -.btn-info.disabled { - -webkit-box-shadow: none; - box-shadow: none; -} - -.btn-warning { - color: #212529; - background-color: #ffc107; - border-color: #ffc107; -} - -.btn-warning:focus, -.btn-warning.focus, -.btn-warning:hover { - background-color: #e0a800; - border-color: #e0a800; -} - -.btn-warning:active, -.btn-warning.active, -.open > .dropdown-toggle.btn-warning { - background-color: #e0a800; - border-color: #e0a800; -} - -.btn-warning:active:hover, -.btn-warning.active:hover, -.open > .dropdown-toggle.btn-warning:hover, -.btn-warning:active:focus, -.btn-warning.active:focus, -.open > .dropdown-toggle.btn-warning:focus, -.btn-warning:active.focus, -.btn-warning.active.focus, -.open > .dropdown-toggle.btn-warning.focus { - background-color: #e0a800; - border-color: #e0a800; -} - -.btn-warning.disabled { - -webkit-box-shadow: none; - box-shadow: none; -} - -.btn-danger { - color: #fff; - background-color: #dc3545; - border-color: #dc3545; -} - -.btn-danger:focus, -.btn-danger.focus, -.btn-danger:hover { - background-color: #c82333; - border-color: #c82333; -} - -.btn-danger:active, -.btn-danger.active, -.open > .dropdown-toggle.btn-danger { - background-color: #c82333; - border-color: #c82333; -} - -.btn-danger:active:hover, -.btn-danger.active:hover, -.open > .dropdown-toggle.btn-danger:hover, -.btn-danger:active:focus, -.btn-danger.active:focus, -.open > .dropdown-toggle.btn-danger:focus, -.btn-danger:active.focus, -.btn-danger.active.focus, -.open > .dropdown-toggle.btn-danger.focus { - background-color: #c82333; - border-color: #c82333; -} - -.btn-danger.disabled { - -webkit-box-shadow: none; - box-shadow: none; -} - -.btn-toolbar { - font-size: 0; -} - -.btn-toolbar .btn-group, -.btn-toolbar .input-group { - float: none; -} - -.btn-group > .btn-group:last-child:not(:first-child) > .btn:first-child { - border-bottom-left-radius: 0; - border-top-left-radius: 0; -} - -.btn-group > .btn + .dropdown-toggle { - padding-left: 9px; - padding-right: 9px; -} - -.btn-group > .btn-lg + .dropdown-toggle, -.btn-group-lg > .btn + .dropdown-toggle { - padding-left: 12px; - padding-right: 12px; -} - -.btn-group > .btn-sm + .dropdown-toggle, -.btn-group-sm > .btn + .dropdown-toggle { - padding-left: 8px; - padding-right: 8px; -} - -.btn-group > .btn-xs + .dropdown-toggle, -.btn-group-xs > .btn + .dropdown-toggle { - padding-left: 7px; - padding-right: 7px; -} - -.btn-group.open .dropdown-toggle { - -webkit-box-shadow: 0 0 0 100px rgba(0, 0, 0, 0.1) inset; - box-shadow: 0 0 0 100px rgba(0, 0, 0, 0.1) inset; -} - -.btn-group.open .dropdown-toggle.btn-default { - -webkit-box-shadow: 0 0 0 100px rgba(0, 0, 0, 0.03) inset; - box-shadow: 0 0 0 100px rgba(0, 0, 0, 0.03) inset; -} - -.btn-group-justified > .btn + .btn, -.btn-group-justified > .btn-group + .btn-group > .btn { - border-left-color: rgba(255, 255, 255, 0.2); -} - -.btn-group-justified > .btn + .btn-default, -.btn-group-justified > .btn-group + .btn-group > .btn-default { - border-left-width: 0; -} - - -.btn-outline-primary { - color: #007bff; - background-color: transparent; - background-image: none; - border-color: #007bff; -} - -.btn-outline-primary:hover { - color: #fff; - background-color: #007bff; - border-color: #007bff; -} - -.btn-outline-primary:focus, .btn-outline-primary.focus { - box-shadow: 0 0 0 0.2em rgba(0, 123, 255, 0.5); -} - -.btn-outline-primary.disabled, .btn-outline-primary:disabled { - color: #007bff; - background-color: transparent; -} - -.btn-outline-primary:not(:disabled):not(.disabled):active, .btn-outline-primary:not(:disabled):not(.disabled).active, -.show > .btn-outline-primary.dropdown-toggle { - color: #fff; - background-color: #007bff; - border-color: #007bff; -} - -.btn-outline-primary:not(:disabled):not(.disabled):active:focus, .btn-outline-primary:not(:disabled):not(.disabled).active:focus, -.show > .btn-outline-primary.dropdown-toggle:focus { - box-shadow: 0 0 0 0.2em rgba(0, 123, 255, 0.5); -} - -.btn-outline-secondary { - color: #6c757d; - background-color: transparent; - background-image: none; - border-color: #6c757d; -} - -.btn-outline-secondary:hover { - color: #fff; - background-color: #6c757d; - border-color: #6c757d; -} - -.btn-outline-secondary:focus, .btn-outline-secondary.focus { - box-shadow: 0 0 0 0.2em rgba(108, 117, 125, 0.5); -} - -.btn-outline-secondary.disabled, .btn-outline-secondary:disabled { - color: #6c757d; - background-color: transparent; -} - -.btn-outline-secondary:not(:disabled):not(.disabled):active, .btn-outline-secondary:not(:disabled):not(.disabled).active, -.show > .btn-outline-secondary.dropdown-toggle { - color: #fff; - background-color: #6c757d; - border-color: #6c757d; -} - -.btn-outline-secondary:not(:disabled):not(.disabled):active:focus, .btn-outline-secondary:not(:disabled):not(.disabled).active:focus, -.show > .btn-outline-secondary.dropdown-toggle:focus { - box-shadow: 0 0 0 0.2em rgba(108, 117, 125, 0.5); -} - -.btn-outline-success { - color: #28a745; - background-color: transparent; - background-image: none; - border-color: #28a745; -} - -.btn-outline-success:hover { - color: #fff; - background-color: #28a745; - border-color: #28a745; -} - -.btn-outline-success:focus, .btn-outline-success.focus { - box-shadow: 0 0 0 0.2em rgba(40, 167, 69, 0.5); -} - -.btn-outline-success.disabled, .btn-outline-success:disabled { - color: #28a745; - background-color: transparent; -} - -.btn-outline-success:not(:disabled):not(.disabled):active, .btn-outline-success:not(:disabled):not(.disabled).active, -.show > .btn-outline-success.dropdown-toggle { - color: #fff; - background-color: #28a745; - border-color: #28a745; -} - -.btn-outline-success:not(:disabled):not(.disabled):active:focus, .btn-outline-success:not(:disabled):not(.disabled).active:focus, -.show > .btn-outline-success.dropdown-toggle:focus { - box-shadow: 0 0 0 0.2em rgba(40, 167, 69, 0.5); -} - -.btn-outline-info { - color: #17a2b8; - background-color: transparent; - background-image: none; - border-color: #17a2b8; -} - -.btn-outline-info:hover { - color: #fff; - background-color: #17a2b8; - border-color: #17a2b8; -} - -.btn-outline-info:focus, .btn-outline-info.focus { - box-shadow: 0 0 0 0.2em rgba(23, 162, 184, 0.5); -} - -.btn-outline-info.disabled, .btn-outline-info:disabled { - color: #17a2b8; - background-color: transparent; -} - -.btn-outline-info:not(:disabled):not(.disabled):active, .btn-outline-info:not(:disabled):not(.disabled).active, -.show > .btn-outline-info.dropdown-toggle { - color: #fff; - background-color: #17a2b8; - border-color: #17a2b8; -} - -.btn-outline-info:not(:disabled):not(.disabled):active:focus, .btn-outline-info:not(:disabled):not(.disabled).active:focus, -.show > .btn-outline-info.dropdown-toggle:focus { - box-shadow: 0 0 0 0.2em rgba(23, 162, 184, 0.5); -} - -.btn-outline-warning { - color: #ffc107; - background-color: transparent; - background-image: none; - border-color: #ffc107; -} - -.btn-outline-warning:hover { - color: #212529; - background-color: #ffc107; - border-color: #ffc107; -} - -.btn-outline-warning:focus, .btn-outline-warning.focus { - box-shadow: 0 0 0 0.2em rgba(255, 193, 7, 0.5); -} - -.btn-outline-warning.disabled, .btn-outline-warning:disabled { - color: #ffc107; - background-color: transparent; -} - -.btn-outline-warning:not(:disabled):not(.disabled):active, .btn-outline-warning:not(:disabled):not(.disabled).active, -.show > .btn-outline-warning.dropdown-toggle { - color: #212529; - background-color: #ffc107; - border-color: #ffc107; -} - -.btn-outline-warning:not(:disabled):not(.disabled):active:focus, .btn-outline-warning:not(:disabled):not(.disabled).active:focus, -.show > .btn-outline-warning.dropdown-toggle:focus { - box-shadow: 0 0 0 0.2em rgba(255, 193, 7, 0.5); -} - -.btn-outline-danger { - color: #dc3545; - background-color: transparent; - background-image: none; - border-color: #dc3545; -} - -.btn-outline-danger:hover { - color: #fff; - background-color: #dc3545; - border-color: #dc3545; -} - -.btn-outline-danger:focus, .btn-outline-danger.focus { - box-shadow: 0 0 0 0.2em rgba(220, 53, 69, 0.5); -} - -.btn-outline-danger.disabled, .btn-outline-danger:disabled { - color: #dc3545; - background-color: transparent; -} - -.btn-outline-danger:not(:disabled):not(.disabled):active, .btn-outline-danger:not(:disabled):not(.disabled).active, -.show > .btn-outline-danger.dropdown-toggle { - color: #fff; - background-color: #dc3545; - border-color: #dc3545; -} - -.btn-outline-danger:not(:disabled):not(.disabled):active:focus, .btn-outline-danger:not(:disabled):not(.disabled).active:focus, -.show > .btn-outline-danger.dropdown-toggle:focus { - box-shadow: 0 0 0 0.2em rgba(220, 53, 69, 0.5); -} - -.btn-outline-light { - color: #f8f9fa; - background-color: transparent; - background-image: none; - border-color: #f8f9fa; -} - -.btn-outline-light:hover { - color: #212529; - background-color: #f8f9fa; - border-color: #f8f9fa; -} - -.btn-outline-light:focus, .btn-outline-light.focus { - box-shadow: 0 0 0 0.2em rgba(248, 249, 250, 0.5); -} - -.btn-outline-light.disabled, .btn-outline-light:disabled { - color: #f8f9fa; - background-color: transparent; -} - -.btn-outline-light:not(:disabled):not(.disabled):active, .btn-outline-light:not(:disabled):not(.disabled).active, -.show > .btn-outline-light.dropdown-toggle { - color: #212529; - background-color: #f8f9fa; - border-color: #f8f9fa; -} - -.btn-outline-light:not(:disabled):not(.disabled):active:focus, .btn-outline-light:not(:disabled):not(.disabled).active:focus, -.show > .btn-outline-light.dropdown-toggle:focus { - box-shadow: 0 0 0 0.2em rgba(248, 249, 250, 0.5); -} - -.btn-outline-dark { - color: #343a40; - background-color: transparent; - background-image: none; - border-color: #343a40; -} - -.btn-outline-dark:hover { - color: #fff; - background-color: #343a40; - border-color: #343a40; -} - -.btn-outline-dark:focus, .btn-outline-dark.focus { - box-shadow: 0 0 0 0.2em rgba(52, 58, 64, 0.5); -} - -.btn-outline-dark.disabled, .btn-outline-dark:disabled { - color: #343a40; - background-color: transparent; -} - -.btn-outline-dark:not(:disabled):not(.disabled):active, .btn-outline-dark:not(:disabled):not(.disabled).active, -.show > .btn-outline-dark.dropdown-toggle { - color: #fff; - background-color: #343a40; - border-color: #343a40; -} - -.btn-outline-dark:not(:disabled):not(.disabled):active:focus, .btn-outline-dark:not(:disabled):not(.disabled).active:focus, -.show > .btn-outline-dark.dropdown-toggle:focus { - box-shadow: 0 0 0 0.2em rgba(52, 58, 64, 0.5); -} - -/** 7. Dropdown menu -*************************************************** **/ -.caret { - font-style: normal; - font-weight: normal; - border: 0; - margin: 0; - width: auto; - height: auto; - text-align: center; - margin-top: -1px; -} - -.caret:after { - content: '\f0d7'; - font-family: 'FontAwesome'; - display: block; - font-size: 12px; - width: 12px; - line-height: 1; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} - -.dropdown-menu { - font-size: 13px; - min-width: 180px; - padding: 7px 0; - color: #333333; - -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1); - box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1); -} - -.dropdown-menu .divider { - margin: 7px 0; -} - -.dropdown-menu > li { - position: relative; - margin-bottom: 1px; -} - -.dropdown-menu > li:last-child { - margin-bottom: 0; -} - -.dropdown-menu > li > a { - padding: 5px 15px; - outline: 0; - overflow: hidden; - text-overflow: ellipsis; -} - -.dropdown-menu > li > a > i, -.dropdown-menu > .dropdown-header > i, -.dropdown-menu > li > a > img, -.dropdown-menu > .dropdown-header > img { - margin-right: 12px; - float: left; - margin-top: 2px; - top: 0; -} - -.dropdown-menu > li > a > i.pull-right, -.dropdown-menu > .dropdown-header > i.pull-right, -.dropdown-menu > li > a > img.pull-right, -.dropdown-menu > .dropdown-header > img.pull-right { - margin-right: 0; - margin-left: 12px; -} - -.dropdown-menu > li > a > .label, -.dropdown-menu > .dropdown-header > .label, -.dropdown-menu > li > a > .badge, -.dropdown-menu > .dropdown-header > .badge { - float: left; - margin-right: 12px; -} - -.dropdown-menu > li > a > .label.pull-right, -.dropdown-menu > .dropdown-header > .label.pull-right, -.dropdown-menu > li > a > .badge.pull-right, -.dropdown-menu > .dropdown-header > .badge.pull-right { - margin-right: 0; - margin-left: 12px; -} - -.dropdown-menu > li > a > img, -.dropdown-menu > .dropdown-header > img { - max-height: 16px; -} - -.dropdown-menu > li > label:hover, -.dropdown-menu > li > label:focus { - text-decoration: none; - color: #333333; - background-color: #f5f5f5; -} - -.dropdown-menu > .active > label, -.dropdown-menu > .active > label:hover, -.dropdown-menu > .active > label:focus { - color: #fff; - outline: 0; - background-color: #4076e0; -} - -.dropdown-menu > .disabled > label, -.dropdown-menu > .disabled > label:hover, -.dropdown-menu > .disabled > label:focus { - background-color: transparent; - color: #999999; -} - -.dropdown-menu > li > label { - padding: 8px 15px; - padding-left: 43px; - display: block; - cursor: pointer; -} - -.dropdown-menu > li > label .checker, -.dropdown-menu > li > label .choice, -.dropdown-menu > li > label > input[type=checkbox], -.dropdown-menu > li > label > input[type=radio] { - left: 15px; - top: auto; - margin-top: 1px; -} - -.dropdown-menu > li.checkbox, -.dropdown-menu > li.radio { - margin-top: 0; -} - -.dropdown-menu > li.checkbox-right > label, -.dropdown-menu > li.radio-right > label, -.dropdown-menu > li.checkbox-right > label { - padding-left: 15px; - padding-right: 43px; -} - -.dropdown-menu > li.checkbox-right > label .checker, -.dropdown-menu > li.checkbox-right > label > input[type=checkbox] { - left: auto; - right: 15px; -} - -.dropdown-menu > li.radio-right > label .choice, -.dropdown-menu > li.radio-right > label > input[type=radio], -.dropdown-menu > li.checkbox-right > label .choice, -.dropdown-menu > li.checkbox-right > label > input[type=radio] { - left: auto; - right: 15px; -} - -.dropdown-menu > .checkbox-switchery > label > .switchery { - left: 15px; -} - -.dropdown-menu > .checkbox-switchery.checkbox-right[class*=switchery-] > label { - padding-left: 15px; -} - -.dropdown-menu > .checkbox-switchery.checkbox-right[class*=switchery-] > label > .switchery { - left: auto; - right: 15px; -} - -.dropdown-menu > .checkbox-switchery.switchery-sm { - margin-bottom: 0; -} - -.dropdown-menu > .checkbox-switchery.switchery-sm > label { - padding-left: 68px; -} - -.dropdown-menu > .checkbox-switchery.switchery-xs { - margin-bottom: 0; -} - -.dropdown-menu > .checkbox-switchery.switchery-xs > label { - padding-left: 60px; -} - -.dropdown-menu > .checkbox-switchery.checkbox-right.switchery-sm > label { - padding-right: 68px; -} - -.dropdown-menu > .checkbox-switchery.checkbox-right.switchery-xs > label { - padding-right: 60px; -} - -.dropdown-menu > .disabled .badge, -.dropdown-menu > .disabled .label, -.dropdown-menu > .disabled img { - opacity: 0.8; - filter: alpha(opacity=80); -} - -.dropdown-menu[class*=bg-] > li > a, -.dropdown-menu[class*=bg-] > li > label { - color: #fff; -} - -.dropdown-menu[class*=bg-] > li > a:hover, -.dropdown-menu[class*=bg-] > li > label:hover, -.dropdown-menu[class*=bg-] > li > a:focus, -.dropdown-menu[class*=bg-] > li > label:focus { - background-color: rgba(0, 0, 0, 0.1); -} - -.dropdown-menu[class*=bg-] > li > a > .label, -.dropdown-menu[class*=bg-] > li > label > .label, -.dropdown-menu[class*=bg-] > li > a > .badge, -.dropdown-menu[class*=bg-] > li > label > .badge { - color: #333333; - background-color: #fff; - border-color: #fff; -} - -.dropdown-menu[class*=bg-] > .active > a, -.dropdown-menu[class*=bg-] > .active > label, -.dropdown-menu[class*=bg-] > .active > a:hover, -.dropdown-menu[class*=bg-] > .active > label:hover, -.dropdown-menu[class*=bg-] > .active > a:focus, -.dropdown-menu[class*=bg-] > .active > label:focus { - background-color: rgba(0, 0, 0, 0.2); -} - -.dropdown-menu[class*=bg-] > .disabled > a, -.dropdown-menu[class*=bg-] > .disabled > label, -.dropdown-menu[class*=bg-] > .disabled > a:hover, -.dropdown-menu[class*=bg-] > .disabled > label:hover, -.dropdown-menu[class*=bg-] > .disabled > a:focus, -.dropdown-menu[class*=bg-] > .disabled > label:focus { - background-color: transparent; - color: rgba(255, 255, 255, 0.6); -} - -.dropdown-menu[class*=bg-] > .dropdown-header { - color: rgba(255, 255, 255, 0.6); -} - -.dropdown-menu[class*=bg-] > .dropdown-header.highlight { - background-color: rgba(0, 0, 0, 0.1); -} - -.dropdown-menu[class*=bg-] .divider { - background-color: rgba(255, 255, 255, 0.4); -} - -.dropdown-menu-lg > li > a { - padding-top: 9px; - padding-bottom: 9px; - font-size: 14px; - line-height: 1.4285715; -} - -.dropdown-menu-sm > li > a { - padding-top: 6px; - padding-bottom: 6px; - font-size: 12px; - line-height: 1.6666667; -} - -.dropdown-menu-xs > li > a { - padding-top: 5px; - padding-bottom: 5px; - font-size: 12px; - line-height: 1.6666667; -} - -.dropdown-menu > .dropdown-submenu > a { - padding-right: 38px; - position: relative; -} - -.dropdown-menu > .dropdown-submenu > a:after { - content: '\e9c7'; - font-family: 'icomoon'; - position: absolute; - top: 50%; - margin-top: -8px; - right: 15px; - font-size: 16px; - font-weight: 400; - line-height: 1; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; - opacity: 0.8; - filter: alpha(opacity=80); -} - -.dropdown-menu > .dropdown-submenu a.dropdown-toggle { - box-shadow: none; -} - -.dropdown-menu > .dropdown-submenu:hover > a, -.dropdown-menu > .dropdown-submenu:focus > a, -.dropdown-menu > .dropdown-submenu.open > a { - background-color: #f5f5f5; -} - -.dropdown-menu > .dropdown-submenu:hover > a:after, -.dropdown-menu > .dropdown-submenu:focus > a:after, -.dropdown-menu > .dropdown-submenu.open > a:after { - opacity: 1; - filter: alpha(opacity=100); -} - -.dropdown-menu > .dropdown-submenu.active > a { - background-color: #4076e0; - color: #fff; -} - -@media (min-width: 768px) { - .dropdown-menu > .dropdown-submenu-hover:hover > .dropdown-menu, - .dropdown-menu > .dropdown-submenu-hover:focus > .dropdown-menu { - display: block; - } -} - -.dropdown-menu > .dropdown-submenu.disabled > .dropdown-menu { - display: none; -} - -.dropdown-menu > .dropdown-submenu.disabled > a { - background-color: transparent; -} - -.dropdown-menu > .dropdown-submenu > .dropdown-menu { - top: 0; - left: 100%; - margin-top: -8px; -} - -.dropup .dropdown-menu > .dropdown-submenu > .dropdown-menu, -.navbar-fixed-bottom .dropdown .dropdown-menu > .dropdown-submenu > .dropdown-menu { - top: auto; - bottom: 0; - margin-top: 0; - margin-bottom: -8px; -} - -.dropdown-menu > .dropdown-submenu.dropdown-submenu-left > .dropdown-menu { - left: auto; - right: 100%; -} - -.dropup .dropdown-menu > .dropdown-submenu > .dropdown-menu, -.dropup.dropdown-menu > .dropdown-submenu > .dropdown-menu { - top: auto; - bottom: 0; - margin-top: 0; - margin-bottom: -8px; -} - -@media (max-width: 768px) { - .dropdown-menu > .dropdown-submenu { - position: static; - } - - .dropdown-menu > .dropdown-submenu > a:after { - content: '\e9c5'; - } - - .dropdown-menu > .dropdown-submenu .dropdown-menu, - .dropdown-menu > .dropdown-submenu.dropdown-submenu-left .dropdown-menu { - position: relative; - left: 0; - right: 0; - float: none; - border-width: 0; - border-color: rgba(0, 0, 0, 0.1); - box-shadow: none; - min-width: 100%; - margin: 0; - } - - .dropdown-menu > .dropdown-submenu .dropdown-menu > li > a, - .dropdown-menu > .dropdown-submenu.dropdown-submenu-left .dropdown-menu > li > a { - padding-left: 30px; - } - - .dropdown-menu > .dropdown-submenu .dropdown-menu > li > ul > li > a, - .dropdown-menu > .dropdown-submenu.dropdown-submenu-left .dropdown-menu > li > ul > li > a { - padding-left: 45px; - } -} - -.dropdown-menu[class*=bg-] > .dropdown-submenu:hover > a, -.dropdown-menu[class*=bg-] > .dropdown-submenu:focus > a { - background-color: rgba(0, 0, 0, 0.1); -} - -.dropdown-menu[class*=bg-] > .dropdown-submenu.disabled:hover > a, -.dropdown-menu[class*=bg-] > .dropdown-submenu.disabled:focus > a { - background-color: transparent; -} - -.dropdown-header { - padding: 8px 15px; - font-size: 11px; - line-height: 1.82; - color: #999999; - text-transform: uppercase; -} - -.dropdown-header.highlight { - margin-top: 0; - background-color: #f8f8f8; - color: #999999; -} - -li + .dropdown-header.highlight, -.dropdown-header.highlight + li { - margin-top: 7px; -} - -.dropdown-header.highlight:first-child { - margin-top: 0; -} - -.dropup .caret, -.navbar-fixed-bottom .dropdown .caret { - border: 0; -} - -.dropup .caret:after, -.navbar-fixed-bottom .dropdown .caret:after { - content: '\f0d8'; -} - -/** 8. Nav bars -*************************************************** **/ -.nav > li > a:focus { - outline: 0; -} - -.nav > li.disabled > a > .badge, -.nav > li.disabled > a > .label, -.nav > li.disabled > a > img { - opacity: 0.75; - filter: alpha(opacity=75); -} - -.nav .open > a, -.nav .open > a:hover, -.nav .open > a:focus { - background-color: transparent; - border-color: transparent; - color: #333333; -} - -.nav.nav-lg > li > a { - padding: 11px 20px; -} - -.nav.nav-sm > li > a { - padding: 7px 15px; -} - -.nav.nav-xs > li > a { - padding: 5px 10px; -} - -.nav .tab-img { - max-height: 20px; - display: inline-block; - vertical-align: top; -} - -.nav-tabs { - margin-bottom: 20px; -} - -.nav-tabs > li { - float: none; -} - -.nav-tabs > li > a { - margin-right: 0; - color: #888; -} - -.nav-tabs > li > a:hover, -.nav-tabs > li > a:focus { - background-color: transparent; - border-color: transparent; - color: #333333; -} - -.nav-tabs > li > a > [class*=icon-].pull-right { - float: right; - margin-top: 2px; -} - -.nav-tabs.nav-justified > li > a { - margin-bottom: 0; -} - -.nav-tabs.nav-justified > li > a:hover, -.nav-tabs.nav-justified > li > a:focus { - border-bottom-color: #ddd; -} - -@media (min-width: 768px) { - .nav-tabs.nav-justified.nav-tabs-bottom { - border-bottom: 1px solid #ddd; - } -} - -@media (max-width: 768px) { - .nav-tabs.nav-justified { - border-bottom: 1px solid #ddd; - } - - .nav-tabs.nav-justified > li.active > a, - .nav-tabs.nav-justified > li.active > a:hover, - .nav-tabs.nav-justified > li.active > a:focus { - border: 0; - } -} - -@media (min-width: 768px) { - .nav-tabs.nav-tabs-bottom > li { - margin-bottom: 0; - } - - .nav-tabs.nav-tabs-bottom > li > a { - border-width: 0; - margin-bottom: -1px; - } - - .nav-tabs.nav-tabs-bottom > li > a:after { - content: ''; - position: absolute; - bottom: 0; - left: 0; - right: 0; - height: 2px; - } - - .nav-tabs.nav-tabs-bottom > li.active > a:after { - background-color: #4076e0; - } - - .nav-tabs.nav-tabs-bottom > li.active > a, - .nav-tabs.nav-tabs-bottom > li.active > a:hover, - .nav-tabs.nav-tabs-bottom > li.active > a:focus { - background-color: transparent; - border-width: 0; - } -} - -.nav-tabs[class*=bg-] { - border-bottom: 0; -} - -.nav-tabs[class*=bg-] > li { - margin-bottom: 0; -} - -.nav-tabs[class*=bg-] > li > a { - color: #fff; - border-width: 0; -} - -resetpassword -.nav-tabs[class*=bg-] > li > a:hover, -.nav-tabs[class*=bg-] > li > a:focus { - background-color: rgba(0, 0, 0, 0.05); -} - -.nav-tabs[class*=bg-] > li.open:not(.active) > a { - color: #fff; - background-color: rgba(0, 0, 0, 0.05); -} - -.nav-tabs[class*=bg-] > .active > a, -.nav-tabs[class*=bg-] > .active > a:hover, -.nav-tabs[class*=bg-] > .active > a:focus { - background-color: rgba(0, 0, 0, 0.1); - border-width: 0; - color: #fff; -} - -.nav-tabs[class*=bg-] > .disabled > a, -.nav-tabs[class*=bg-] > .disabled > a:hover, -.nav-tabs[class*=bg-] > .disabled > a:focus { - color: rgba(255, 255, 255, 0.5); -} - -@media (min-width: 768px) { - .tab-content-bordered .nav-tabs[class*=bg-] { - border-bottom-right-radius: 0; - border-bottom-left-radius: 0; - } -} - -.nav-tabs.nav-tabs-solid > li > a { - color: #333333; -} - -.nav-tabs.nav-tabs-solid > li > a, -.nav-tabs.nav-tabs-solid > li > a:hover, -.nav-tabs.nav-tabs-solid > li > a:focus { - border-color: transparent; -} - -.nav-tabs.nav-tabs-solid > .active > a, -.nav-tabs.nav-tabs-solid > .active > a:hover, -.nav-tabs.nav-tabs-solid > .active > a:focus { - background-color: #4076e0; - border-color: #4076e0; - color: #fff; -} - -@media (min-width: 768px) { - .nav-tabs.nav-tabs-solid { - border: 0; - } - - .nav-tabs.nav-tabs-solid > li { - margin-bottom: 0; - } - - .nav-tabs.nav-tabs-solid > li > a:hover, - .nav-tabs.nav-tabs-solid > li > a:focus { - background-color: #f5f5f5; - } - - .nav-tabs.nav-tabs-solid > .open:not(.active) > a { - background-color: #f5f5f5; - border-color: transparent; - } -} - -.nav-tabs.nav-tabs-icon > li > a > i { - margin-right: 7px; -} - -@media (min-width: 768px) { - .nav-tabs.nav-tabs-icon > li > a { - padding-bottom: 9.5px; - } - - .nav-tabs.nav-tabs-icon > li > a > i { - display: block; - margin: 5px 0; - } - - .nav-tabs.nav-tabs-icon.nav-lg > li > a { - padding-bottom: 10.5px; - } - - .nav-tabs.nav-tabs-icon.nav-sm > li > a { - padding-bottom: 7.5px; - } - - .nav-tabs.nav-tabs-icon.nav-xs > li > a { - padding-bottom: 5.5px; - } -} - -.nav-tabs.nav-tabs-toolbar { - background-color: #fcfcfc; -} - -@media (min-width: 768px) { - .nav-tabs { - font-size: 0; - } - - .nav-tabs > li { - display: inline-block; - font-size: 13px; - } -} - -@media (max-width: 768px) { - .nav-tabs { - border-bottom: 0; - position: relative; - background-color: #fff; - padding: 7px 0; - border: 1px solid #ddd; - } - - .nav-tabs > li { - margin-bottom: 0; - } - - .nav-tabs > li > a { - border: 0; - } - - .nav-tabs > li > a:hover, - .nav-tabs > li > a:focus { - background-color: #fafafa; - } - - .nav-tabs > li > a .position-right[class*=icon-] { - float: right; - margin-top: 2px; - } - - .nav-tabs > li > a .position-right.label, - .nav-tabs > li > a .position-right.badge { - float: right; - } - - .nav-tabs > li.active > a, - .nav-tabs > li.active > a:hover, - .nav-tabs > li.active > a:focus { - border: 0; - background-color: #f5f5f5; - } - - .nav-tabs > li.active > a:after, - .nav-tabs > li.active > a:hover:after, - .nav-tabs > li.active > a:focus:after { - content: ''; - position: absolute; - top: 0; - left: -1px; - bottom: 0; - width: 2px; - background-color: #4076e0; - } - - .nav-tabs > li.open:not(.active) > a, - .nav-tabs > li.open:not(.active) > a:hover, - .nav-tabs > li.open:not(.active) > a:focus { - background-color: #fafafa; - } - - .nav-tabs > li.pull-right { - float: none !important; - } - - .nav-tabs.nav-tabs-solid > li.active > a:after, - .nav-tabs[class*=bg-] > li.active > a:after { - content: none; - } - - .nav-tabs:before { - content: 'Contents'; - color: inherit; - font-size: 12px; - line-height: 1.6666667; - margin-top: 8px; - margin-left: 15px; - margin-bottom: 15px; - text-transform: uppercase; - opacity: 0.5; - filter: alpha(opacity=50); - } - - .nav-tabs[class*=bg-] > li > a:hover, - .nav-tabs[class*=bg-] > li > a:focus, - .nav-tabs[class*=bg-] > li.open:not(.active) > a { - background-color: rgba(0, 0, 0, 0.05); - } - - .nav-tabs-right .nav-tabs { - margin-bottom: 0; - margin-top: 20px; - } -} - -.nav-pills { - margin-bottom: 20px; -} - -.nav-pills > li { - float: none; -} - -.nav-pills > li > a { - color: #333333; -} - -.nav-pills > li + li { - margin-left: 0; -} - -.nav-pills > li + li > a { - margin-top: 2px; -} - -.nav-pills .open > a, -.nav-pills .open > a:hover, -.nav-pills .open > a:focus { - background-color: #f5f5f5; -} - -.nav-pills.nav-pills-bordered > li > a, -.nav-pills.nav-pills-toolbar > li > a, -.nav-pills.nav-pills-bordered > .open > a, -.nav-pills.nav-pills-toolbar > .open > a { - border: 1px solid #ddd; -} - -.nav-pills.nav-pills-bordered > .active > a, -.nav-pills.nav-pills-toolbar > .active > a, -.nav-pills.nav-pills-bordered > .active > a:hover, -.nav-pills.nav-pills-toolbar > .active > a:hover, -.nav-pills.nav-pills-bordered > .active > a:focus, -.nav-pills.nav-pills-toolbar > .active > a:focus { - border-color: #4076e0; -} - -@media (min-width: 768px) { - .nav-pills.nav-pills-toolbar > li > a { - border: 1px solid #ddd; - } - - .nav-pills.nav-pills-toolbar > li + li > a { - margin-top: 0; - margin-left: 0; - border-left: 0; - } -} - -@media (min-width: 768px) { - .nav-pills { - font-size: 0; - } - - .nav-pills > li { - display: inline-block; - font-size: 13px; - } - - .nav-pills > li + li > a { - margin-top: 0; - margin-left: 2px; - } - - .nav-pills.nav-justified > li { - display: table-cell; - } -} - -@media (max-width: 768px) { - .nav-pills > li > a .position-right[class*=icon-] { - float: right; - margin-top: 2px; - } - - .nav-pills > li > a .position-right.label, - .nav-pills > li > a .position-right.badge { - float: right; - } -} - -.nav-stacked > li { - display: block; -} - -.nav-stacked > li > a .pull-right[class*=icon-] { - float: right; - margin-top: 2px; -} - -.nav-stacked > li > a .pull-right.label, -.nav-stacked > li > a .pull-right.badge { - float: right; -} - -.nav-stacked > li + li > a { - margin-left: 0; -} - -.nav-justified > li > a { - margin-bottom: 0; -} - -.nav-tabs-justified > li > a { - margin-bottom: 0; -} - -.nav-tabs-justified > li > a:hover, -.nav-tabs-justified > li > a:focus { - border-bottom-color: #ddd; -} - -@media (min-width: 768px) { - .nav-tabs-justified.nav-tabs-bottom { - border-bottom: 1px solid #ddd; - } -} - -@media (max-width: 768px) { - .nav-tabs-justified { - border-bottom: 1px solid #ddd; - } - - .nav-tabs-justified > li.active > a, - .nav-tabs-justified > li.active > a:hover, - .nav-tabs-justified > li.active > a:focus { - border: 0; - } -} - -.tab-content-bordered .tab-content > .has-padding { - padding: 20px; -} - -@media (min-width: 768px) { - .tab-content > .has-padding { - padding: 20px; - } -} - -.panel-tab-content > .has-padding { - padding: 20px; -} - -.tab-content-bordered .tab-content { - border: 1px solid transparent; -} - -.tab-content-bordered .tab-content:not([class*=bg-]) { - border-color: #ddd; - background-color: #fff; -} - -@media (min-width: 768px) { - .tab-content-bordered .tab-content { - border-top-width: 0; - } -} - -@media (min-width: 768px) { - .tab-content-bordered .nav-tabs { - margin-bottom: 0; - } - - .tab-content-bordered .nav-tabs.nav-tabs-solid { - -webkit-box-shadow: 0 0 0 1px #ddd inset; - box-shadow: 0 0 0 1px #ddd inset; - } - - .tab-content-bordered > .nav-tabs[class*=bg-] { - border-top-right-radius: 3px; - border-top-left-radius: 3px; - } - - .tab-content-bordered > .nav-tabs[class*=bg-] + .tab-content[class*=bg-] { - border-top-width: 1px; - border-top-color: rgba(255, 255, 255, 0.5); - } -} - -@media (min-width: 768px) { - .nav-tabs[class*=bg-] .dropdown-menu { - margin-top: 0; - } -} - -@media (max-width: 768px) { - .nav-tabs .dropdown-menu, - .nav-pills .dropdown-menu, - .nav-tabs.nav-justified > .dropdown .dropdown-menu, - .nav-pills.nav-justified > .dropdown .dropdown-menu { - left: -1px; - right: -1px; - margin-top: 2px; - } - - .nav-tabs.nav-justified > li > a, - .nav-pills.nav-justified > li > a, - .nav-tabs.text-center > li > a, - .nav-pills.text-center > li > a, - .nav-tabs.text-right > li > a, - .nav-pills.text-right > li > a { - text-align: left; - } -} - -.navbar { - margin-bottom: 0; - border-width: 0; - padding-left: 0; - padding-right: 0; -} - -.nav-pills > li.active > a, .nav-pills > li.active > a:hover, .nav-pills > li.active > a:focus { - color: #fff; - background-color: #4076e0; -} - -@media (min-width: 768px) { - .navbar { - padding-left: 20px; - padding-right: 20px; - } -} - -.navbar-component { - margin-bottom: 20px; -} - -.navbar.navbar-component, -.navbar-component > .navbar { - border-width: 1px; -} - -@media (min-width: 768px) { - .navbar.navbar-component, - .navbar-component > .navbar { - padding-left: 20px; - padding-right: 20px; - } -} - -.navbar-component > .navbar + .navbar { - border-top-width: 0; -} - -#header .navbar-component { - margin-left: 20px; - margin-right: 20px; -} - -.navbar-component.navbar-default, -.navbar-component > .navbar-default { - border-color: #ddd; - background-color: #fff; -} - -.navbar-component > .navbar:first-child, -.navbar-component > .navbar-collapse:first-child > .navbar:first-child { - border-top-right-radius: 3px; - border-top-left-radius: 3px; -} - -.navbar-component > .navbar:last-child, -.navbar-component > .navbar-collapse:last-child > .navbar:last-child { - border-bottom-right-radius: 3px; - border-bottom-left-radius: 3px; -} - -.affix.navbar, -.affix.navbar-collapse { - z-index: 1030; - top: 0; - width: 100%; -} - -@media (max-width: 768px) { - .affix.navbar, - .affix.navbar-collapse { - position: static; - } -} - -.navbar-collapse > .navbar-header { - margin-left: 0; -} - -.navbar-header .navbar-nav { - float: right; - margin-right: 5px; -} - -.navbar-header .navbar-nav > li { - float: left; -} - -.navbar-header .navbar-nav > li > a { - padding-left: 15px; - padding-right: 15px; -} - -@media (max-width: 768px) { - .navbar-header .navbar-nav > li + li { - margin-top: 0; - } - - .navbar-collapse > .navbar-header { - margin-left: 0; - } -} - -@media (min-width: 768px) { - .navbar-header { - margin-left: -15px; - } -} - -.navbar-collapse { - text-align: center; - padding-left: 0; - padding-right: 0; -} - -.navbar-collapse.collapsing { - -webkit-transition-duration: 0.00000001s; - transition-duration: 0.00000001s; -} - -.navbar + .navbar-collapse { - border-top: 0; -} - -@media (min-width: 768px) { - .navbar-collapse { - text-align: left; - margin-left: -20px; - } -} - -@media (max-width: 768px) { - .navbar-fixed-top { - position: static; - } -} - -@media (min-width: 768px) { - .navbar-top-lg { - padding-top: 54px; - } - - .navbar-top-lg .sidebar-fixed.affix { - top: 74px; - } - - .navbar-top { - padding-top: 50px; - } - - .navbar-top .sidebar-fixed.affix { - top: 70px; - } - - .navbar-top-xs { - padding-top: 46px; - } - - .navbar-top-xs .sidebar-fixed.affix { - top: 66px; - } - - .navbar-top-lg-lg { - padding-top: 108px; - } - - .navbar-top-lg-md, - .navbar-top-md-lg { - padding-top: 104px; - } - - .navbar-top-lg-sm, - .navbar-top-md-md { - padding-top: 100px; - } - - .navbar-top-lg-xs, - .navbar-top-md-sm, - .navbar-top-xs-lg { - padding-top: 98px; - } - - .navbar-top-md-xs, - .navbar-top-xs-md { - padding-top: 96px; - } - - .navbar-top-xs-sm { - padding-top: 94px; - } - - .navbar-top-xs-xs { - padding-top: 92px; - } -} - -.navbar-bottom-lg { - padding-bottom: 54px; -} - -.navbar-bottom { - padding-bottom: 50px; -} - -.navbar-bottom-sm { - padding-bottom: 48px; -} - -.navbar-bottom-xs { - padding-bottom: 46px; -} - -.navbar-bottom-lg-lg { - padding-bottom: 108px; -} - -.navbar-bottom-lg-md, -.navbar-bottom-md-lg { - padding-bottom: 104px; -} - -.navbar-bottom-lg-sm, -.navbar-bottom-md-md, -.navbar-bottom-sm-lg { - padding-bottom: 100px; -} - -.navbar-bottom-lg-xs, -.navbar-bottom-md-sm, -.navbar-bottom-sm-md, -.navbar-bottom-xs-lg { - padding-bottom: 98px; -} - -.navbar-bottom-md-xs, -.navbar-bottom-sm-sm, -.navbar-bottom-xs-md { - padding-bottom: 96px; -} - -.navbar-bottom-sm-xs, -.navbar-bottom-xs-sm { - padding-bottom: 94px; -} - -.navbar-bottom-xs-xs { - padding-bottom: 92px; -} - -.navbar-brand > img { - /*margin-top: 2px;*/ - /*height: 16px;*/ - height: 70px; -} - -.navbar-nav { - margin: 0; - text-align: left; -} - -.navbar-nav > li > a { - padding-top: 15px; - padding-bottom: 15px; -} - -.navbar-nav > li > a > .label, -.navbar-nav > li > a > .badge { - position: absolute; - top: 0; - right: 0; -} - -.navbar-nav > li > a > .label-left, -.navbar-nav > li > a > .badge-left { - right: auto; - left: 0; -} - -.navbar-nav > li > a > .label-inline, -.navbar-nav > li > a > .badge-inline { - position: static; -} - -.navbar-nav > .active > a:after { - content: ''; - position: absolute; - top: 0; - bottom: 0; - left: 0; - background-color: #fff; - width: 2px; -} - -@media (min-width: 768px) { - .navbar-nav > .active > a:after { - top: auto; - right: 0; - width: auto; - height: 2px; - } -} - -.navbar-nav > .dropdown-user > a, -.navbar-nav > .dropdown-user > a > span { - padding-top: 7.5px; - padding-bottom: 7.5px; -} - -.navbar-nav > .dropdown-user > a > span { - display: inline-block; -} - -.navbar-nav > .dropdown-user > a > img + span { - padding-left: 7px; -} - -.navbar-nav > .dropdown-user img { - max-height: 34px; - margin-top: -3.5px; - border-radius: 50%; -} - -.navbar .navbar-nav > .dropdown-user img { - max-height: 24px; - margin-top: -4.5px; -} - -@media (max-width: 768px) { - .navbar-nav .open .dropdown-menu > li > a, - .navbar-nav .open .dropdown-menu .dropdown-header { - padding: 8px 20px; - } - - .navbar-nav .open .dropdown-menu > .dropdown-submenu > ul > li > a { - padding-left: 40px; - } - - .navbar-nav .open .dropdown-menu > .dropdown-submenu > ul > li > ul > li > a { - padding-left: 60px; - } - - .navbar-nav > li + li { - margin-top: 1px; - } - - .navbar-nav > li > a { - padding-left: 12px; - padding-right: 12px; - } - - .navbar-nav > li > a .caret { - float: right; - margin-top: 2px; - margin-left: 5px; - } - - .navbar-nav > li > a .label, - .navbar-nav > li > a .badge { - position: static; - float: right; - } - - .navbar-nav > .dropdown-user .caret { - margin-top: 8px; - } - - .navbar-nav:last-child { - border-bottom: 0; - } -} - -@media (min-width: 768px) { - .navbar-nav { - margin-left: 20px; - } -} - -.navbar-form { - padding: 15px 20px; - margin-left: 0; - margin-right: 0; - border-top: 0; - -webkit-box-shadow: none; - box-shadow: none; -} - -.navbar-form:last-child { - border-bottom: 0; -} - -@media (max-width: 768px) { - .navbar-form .form-group { - margin-bottom: 10px; - } -} - -.navbar-form .input-sm, -.navbar-form .input-group-sm, -.navbar-form .btn-sm, -.navbar-form .select-sm, -.navbar-form .uploader-sm { - margin-top: 1px; - margin-bottom: 1px; -} - -.navbar-form .input-sm + .form-control-feedback { - top: 1px; -} - -.navbar-form .input-xs, -.navbar-form .input-group-xs, -.navbar-form .btn-xs, -.navbar-form .select-xs, -.navbar-form .uploader-xs { - margin-top: 2px; - margin-bottom: 2px; -} - -.navbar-form .input-xs + .form-control-feedback { - top: 2px; -} - -.navbar .navbar-form { - margin-top: 9px; - margin-bottom: 9px; -} - -.navbar-form .checkbox-switchery[class*=switchery-] { - margin-bottom: 0; -} - -.navbar-form .checkbox-inline.switchery-double { - padding-left: 0; -} - -@media (min-width: 768px) { - .navbar-form { - padding: 0; - } - - .navbar-form .form-control { - min-width: 200px; - } - - .navbar-form .uploader { - width: 200px; - } - - .navbar-form .form-group { - margin-left: 20px; - } - - .navbar-form .checkbox-inline, - .navbar-form .radio-inline { - margin-top: 8px; - margin-bottom: 8px; - } -} - -@media (max-width: 768px) { - .navbar-form { - margin: 0; - } -} - -.navbar-nav > li > .dropdown-menu { - border-top-width: 0; -} - -.navbar-nav > li > .dropdown-menu .media-list { - max-height: 340px; - min-width: 340px; - overflow-y: auto; -} - -.navbar-fixed-bottom .navbar-nav > li > .dropdown-menu { - border-top-width: 1px; - border-bottom-width: 0; - border-top-right-radius: 3px; - border-top-left-radius: 3px; -} - -.navbar-btn { - margin-left: 20px; -} - -.navbar-btn { - margin-top: 7px; - margin-bottom: 7px; -} - -.navbar .navbar-btn { - margin-top: 9px; - margin-bottom: 9px; -} - - -.navbar-btn.btn-sm { - margin-top: 8px; - margin-bottom: 8px; -} - -.navbar-btn.btn-xs, -.navbar .navbar-btn.btn-sm { - margin-top: 9px; - margin-bottom: 9px; -} - -.navbar .navbar-btn.btn-xs { - margin-top: 11px; - margin-bottom: 11px; -} - -@media (max-width: 768px) { - .navbar-btn, - .navbar-btn.btn-sm, - .navbar-btn.btn-xs { - margin: 15px 20px; - } - - .navbar-btn + .navbar-btn { - margin-left: 0; - } -} - -.navbar-text { - margin: 0; - padding: 15px 20px; -} - -.navbar-text:last-child { - border-bottom: 0; -} - -.navbar .navbar-text { - padding-top: 17px; - padding-bottom: 17px; -} - - -@media (min-width: 768px) { - .navbar-text { - padding-right: 0; - } - - .navbar-text + .navbar-nav { - margin-left: 15px; - } - - .navbar-header + .navbar-text:first-child { - padding-left: 0; - } -} - -@media (min-width: 768px) { - .navbar-right { - margin-right: 0; - } -} - -#header .navbar-default.navbar-static-top { - -webkit-box-shadow: 0 1px 0 0 #ddd; - box-shadow: 0 1px 0 0 #ddd; -} - -.navbar-default.navbar-fixed-bottom, -.navbar-fixed-bottom > .navbar-default:first-child, -.navbar-fixed-bottom > .navbar-default.navbar-static-top { - -webkit-box-shadow: 0 0px 0 0 #ddd; - box-shadow: 0 0px 0 0 #ddd; -} - -.navbar-default .navbar-nav > .active > a:after { - background-color: #4076e0; -} - -@media (max-width: 768px) { - .navbar-default .navbar-nav .open .dropdown-menu { - color: #333333; - border-bottom: 1px solid #ddd; - } - - .navbar-default .navbar-nav .open:last-child .dropdown-menu { - border-bottom: 0; - } -} - -.navbar-default .navbar-link { - color: #4076e0; -} - -.navbar-default .navbar-link:hover { - color: #0069d9; -} - -@media (max-width: 768px) { - .navbar-default .dropdown-menu[class*=bg-] .label, - .navbar-default .dropdown-menu[class*=bg-] .badge { - color: #fff; - background-color: #4076e0; - border-color: transparent; - } - - .navbar-default .dropdown-menu[class*=bg-] > .divider { - background-color: #e5e5e5; - } - - .navbar-default .dropdown-menu[class*=bg-] .dropdown-submenu:hover > a, - .navbar-default .dropdown-menu[class*=bg-] .dropdown-submenu:focus > a { - background-color: #f5f5f5; - } - - .navbar-default .dropdown-menu .table-responsive { - border-width: 0; - } - - .navbar-default .dropdown-menu .dropdown-content-heading + .table-responsive { - border-top-width: 1px; - } - - .navbar-default .navbar-text:not([data-toggle="collapse"]) { - border-bottom: 1px solid #ddd; - } - - .navbar-default > .navbar-nav > li > a:not(.collapsed), - .navbar-default > .navbar-nav > li > a:hover, - .navbar-default > .navbar-nav > li > a:focus { - background-color: #fcfcfc; - } -} - -.navbar-nav > li > a { - text-transform: uppercase; - /*font-size: 12px;*/ - font-size: 14px; /* nav bar text size */ - position: relative; - font-weight: 500; -} - -.navbar { - min-height: 46px; -} - -.navbar .navbar-brand { - /*height: 54px;*/ - height: 90px; - padding-top: 17px; - padding-bottom: 17px; -} - -.navbar .navbar-nav > li > a { - padding-top: 13px; - padding-bottom: 13px; - /*color: #009BEA; */ /* menu bar text color */ -} - -.navbar .navbar-nav > .dropdown-user > a, -.navbar .navbar-nav > .dropdown-user > a > span { - padding-top: 8.5px; - padding-bottom: 8.5px; -} - -.nav .mega-menu { - position: static; -} - -.mega-menu .dropdown-menu { - left: auto; -} - -@media (min-width: 768px) { - .mega-menu.mega-menu-wide > .dropdown-menu { - left: 130px; - right: 130px; - } - - .navbar-component .mega-menu.mega-menu-wide > .dropdown-menu, - .layout-boxed .mega-menu.mega-menu-wide > .dropdown-menu { - left: 0; - right: 0; - } -} - -.dropdown-content-heading { - padding: 20px; - font-size: 12px; - text-transform: uppercase; - font-weight: 500; -} - -.dropdown-content-heading + .dropdown-menu-body { - padding-top: 0; -} - -.dropdown-content-heading + .dropdown-header { - padding-top: 0 !important; -} - -ul.dropdown-menu .dropdown-content-heading { - padding-left: 15px; - padding-right: 15px; -} - -ul.dropdown-menu .dropdown-content-heading:first-child { - padding-top: 13px; - padding-bottom: 13px; -} - -.dropdown-content-heading .icons-list { - float: right; -} - -@media (min-width: 768px) { - .dropdown-content-heading + .table-responsive { - border-top: 1px solid #ddd; - } -} - -.dropdown-content-footer { - color: #333333; - border-top: 1px solid #ddd; - border-bottom-right-radius: 3px; - border-bottom-left-radius: 3px; -} - -.dropdown-content-footer a { - display: block; - padding: 10px 20px; - text-align: center; - color: #333333; -} - -.dropdown-content-footer a:hover, -.dropdown-content-footer a:focus { - background-color: #f5f5f5; -} - -.dropdown-content-footer a > i.display-block { - top: 0; -} - -@media (max-width: 768px) { - .navbar-inverse .dropdown-content-footer { - background-color: rgba(0, 0, 0, 0.1); - color: #fff; - border-color: transparent; - } - - .navbar-inverse .dropdown-content-footer a { - color: #fff; - } - - .navbar-inverse .dropdown-content-footer a:hover, - .navbar-inverse .dropdown-content-footer a:focus { - background-color: rgba(0, 0, 0, 0.1); - } -} - -.dropdown-content-body { - padding: 20px; -} - -.dropdown-content-heading + .dropdown-content-body { - padding-top: 0; -} - -.dropdown-content:not(ul) { - padding-top: 0; - padding-bottom: 0; -} - -.dropdown-content .form-inline { - white-space: nowrap; -} - -.menu-list { - margin: 0 0 20px 0; - list-style: none; - padding: 0; - overflow: hidden; -} - -@media (min-width: 1200px) { - [class*=col-lg-] .menu-list { - margin-bottom: 8px; - } -} - -@media (min-width: 1025px) { - [class*=col-md-] .menu-list { - margin-bottom: 8px; - } -} - -@media (min-width: 768px) { - [class*=col-sm-] .menu-list { - margin-bottom: 8px; - } -} - -@media (min-width: 480px) { - [class*=col-xs-] .menu-list { - margin-bottom: 8px; - } -} - -.menu-list ul { - margin: 0; - padding: 0; - list-style: none; - position: absolute; - display: none; - left: 110%; - width: 100%; -} - -.menu-list li { - position: relative; - margin-top: 1px; -} - -.menu-list li:first-child { - margin-top: 0; -} - -.menu-list li > a { - display: block; - color: #333333; - padding: 8px 12px; -} - -.menu-list li > a:hover, -.menu-list li > a:focus { - background-color: #f5f5f5; -} - -.menu-list li > a > i { - margin-right: 10px; -} - -.menu-list li > a > .label, -.menu-list li > a > .badge { - float: right; - margin-left: 7px; -} - -.menu-list li.active > a, -.menu-list li.active > a:hover, -.menu-list li.active > a:focus { - color: #fff; - background-color: #4076e0; -} - -.menu-list li.disabled > a, -.menu-list li.disabled > a:hover, -.menu-list li.disabled > a:focus { - background-color: transparent; - color: #999999; - cursor: not-allowed; -} - -.menu-list li.disabled > a > .label, -.menu-list li.disabled > a > .badge, -.menu-list li.disabled > a > img { - opacity: 0.8; - filter: alpha(opacity=80); -} - -@media (max-width: 768px) { - .menu-list li > a { - color: #fff; - } - - .menu-list li > a:hover, - .menu-list li > a:focus { - background-color: rgba(0, 0, 0, 0.1); - } - - .menu-list li.active > a, - .menu-list li.active > a:hover, - .menu-list li.active > a:focus { - background-color: rgba(0, 0, 0, 0.1); - } - - .menu-list li.disabled > a, - .menu-list li.disabled > a:hover, - .menu-list li.disabled > a:focus { - background-color: transparent; - color: rgba(255, 255, 255, 0.6); - cursor: not-allowed; - } - - .navbar-default .menu-list li > a { - color: #333333; - } - - .navbar-default .menu-list li > a:hover, - .navbar-default .menu-list li > a:focus { - background-color: #f5f5f5; - } - - .navbar-default .menu-list li.active > a, - .navbar-default .menu-list li.active > a:hover, - .navbar-default .menu-list li.active > a:focus { - color: #fff; - background-color: #4076e0; - } - - .navbar-default .menu-list li.disabled > a, - .navbar-default .menu-list li.disabled > a:hover, - .navbar-default .menu-list li.disabled > a:focus { - background-color: transparent; - color: #999999; - } -} - -@media (min-width: 768px) { - .menu-list { - overflow-y: auto; - max-height: 340px; - } -} - -.dd-wrapper .dd-menu { - overflow: hidden; - position: relative; -} - -.dd-wrapper .dd-header h6 .label, -.dd-wrapper .dd-header h6 .badge { - margin-left: 7px; -} - -.dd-wrapper .dd-header h6 > i { - margin-right: 7px; -} - -.dd-wrapper .dd-header h6:first-child { - display: none; -} - -.dd-wrapper .dd-parent .active-ul + ul { - position: relative; - display: block; - left: 0; -} - -.dd-wrapper .link-back { - display: block; - padding: 8px 0; - margin-bottom: 10px; - font-size: 12px; - text-transform: uppercase; - line-height: 1.6666667; -} - -.dd-wrapper .link-back:before { - content: '\ede7'; - font-family: 'icomoon'; - font-size: 16px; - line-height: 1; - position: relative; - top: -1px; - vertical-align: middle; - margin-right: 7px; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} - -.dd-wrapper .link-back .dd-icon, -.dd-wrapper .link-back i { - display: none; -} - -@media (max-width: 768px) { - .navbar .dd-wrapper .link-back { - padding: 20px 0; - text-align: center; - margin-top: -10px; - margin-bottom: 20px; - border-bottom: 1px solid #eeeeee; - } - - .navbar-inverse .dd-wrapper .link-back { - color: #fff; - border-bottom-color: rgba(255, 255, 255, 0.1); - } -} - -.dd-wrapper .dd-icon { - float: right; - margin-top: 2px; -} - -.dd-wrapper .dd-icon:after { - content: '\e9c7'; - font-family: 'icomoon'; - font-size: 16px; - line-height: 1; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} - -.dd-wrapper .dd-header .dd-icon:after { - content: '\e9c5'; -} - -.menu-heading { - display: block; - font-size: 12px; - text-transform: uppercase; - font-weight: 500; - margin-bottom: 10px; - padding-top: 4px; -} - -.menu-heading > i { - float: left; - margin-right: 7px; -} - -.menu-heading.underlined { - padding-bottom: 10px; - border-bottom: 1px solid #eeeeee; -} - -@media (max-width: 768px) { - .menu-heading { - color: #fff; - } - - div:first-child > .menu-heading { - margin-top: 0; - } - - .navbar-default .menu-heading { - color: #333333; - } - - .menu-heading.underlined { - border-bottom-color: rgba(255, 255, 255, 0.1); - } - - .navbar-default .menu-heading.underlined { - border-bottom-color: #eeeeee; - } -} - -.dropdown-menu .nav-tabs > li:first-child > a, -.dropdown-menu .nav-tabs > li.active:first-child > a { - border-left: 0; -} - -.dropdown-menu .nav-tabs > li:last-child > a, -.dropdown-menu .nav-tabs > li.active:last-child > a { - border-right: 0; -} - -@media (max-width: 768px) { - .dropdown-menu .nav-tabs { - margin-top: 0; - } - - .dropdown-menu .nav-tabs:before { - content: none; - } - - .dropdown-menu .nav-tabs > li + li { - margin-top: 1px; - } - - .dropdown-menu .nav-tabs > li > a { - border: 0; - padding-left: 20px; - padding-right: 20px; - } - - .dropdown-menu .nav-tabs > li > a:hover, - .dropdown-menu .nav-tabs > li > a:focus { - background-color: rgba(0, 0, 0, 0.1); - } - - .dropdown-menu .nav-tabs > li.active > a, - .dropdown-menu .nav-tabs > li.active > a:hover, - .dropdown-menu .nav-tabs > li.active > a:focus { - border: 0; - background-color: rgba(0, 0, 0, 0.1); - } - - .navbar .dropdown-menu .nav-tabs { - border-top: 1px solid rgba(255, 255, 255, 0.1); - border-bottom: 1px solid rgba(255, 255, 255, 0.1); - } - - .navbar .dropdown-menu .nav-tabs > li { - margin-bottom: 0; - } - - .navbar .dropdown-menu .nav-tabs.active > a { - border-color: transparent; - } - - .navbar-inverse .dropdown-menu .nav-tabs > li > a { - color: #fff; - } - - .navbar-inverse .dropdown-menu .nav-tabs > li.disabled > a, - .navbar-inverse .dropdown-menu .nav-tabs > li.disabled > a:hover, - .navbar-inverse .dropdown-menu .nav-tabs > li.disabled > a:focus { - color: rgba(255, 255, 255, 0.6); - background-color: transparent; - } - - .navbar-default .dropdown-menu .nav-tabs { - border-top-color: #ddd; - border-bottom-color: #ddd; - border-left: 0; - border-right: 0; - } - - .navbar-default .dropdown-menu .nav-tabs > li > a:hover, - .navbar-default .dropdown-menu .nav-tabs > li > a:focus { - color: #777; - background-color: transparent; - } - - .navbar-default .dropdown-menu .nav-tabs > li.active > a, - .navbar-default .dropdown-menu .nav-tabs > li.active > a:hover, - .navbar-default .dropdown-menu .nav-tabs > li.active > a:focus { - color: #777; - background-color: transparent; - } - - .navbar-default .dropdown-menu .nav-tabs > li.disabled > a, - .navbar-default .dropdown-menu .nav-tabs > li.disabled > a:hover, - .navbar-default .dropdown-menu .nav-tabs > li.disabled > a:focus { - color: #999999; - background-color: transparent; - } -} - -@media (max-width: 768px) { - .navbar .btn-group .dropdown-menu, - .navbar .input-group .dropdown-menu { - width: 100%; - border-width: 0 0 1px 0; - } - - .navbar .btn-group .dropdown-menu > li > a, - .navbar .dropdown .dropdown-menu > li > a, - .navbar .input-group .dropdown-menu > li > a { - padding-left: 20px; - padding-right: 20px; - } - - .navbar .btn-group, - .navbar .input-group, - .navbar .form-group:not(.has-feedback), - .navbar .input-group-btn { - position: static; - } - - .navbar .select2-container { - width: 100% !important; - } - - .navbar-fixed-bottom .btn-group .dropdown-menu, - .navbar-fixed-bottom .dropdown .dropdown-menu, - .navbar-fixed-bottom .input-group .dropdown-menu { - border-width: 1px 0 0 0; - } - - .navbar-component .btn-group .dropdown-menu, - .navbar-component .dropdown .dropdown-menu, - .navbar-component .input-group .dropdown-menu { - border-width: 0 1px 1px 1px; - border-bottom-right-radius: 3px; - border-bottom-left-radius: 3px; - } - - .table-responsive { - margin-bottom: 0; - } -} - -/** 9. Pagination -*************************************************** **/ -.pagination { - margin-top: 0; - margin-bottom: -6px; -} - -.pagination > li > a, -.pagination > li > span { - min-width: 36px; - text-align: center; -} - -.pagination.pagination-rounded > li:first-child > a, -.pagination.pagination-rounded > li:first-child > span { - border-bottom-left-radius: 100px; - border-top-left-radius: 100px; -} - -.pagination.pagination-rounded > li:last-child > a, -.pagination.pagination-rounded > li:last-child > span { - border-bottom-right-radius: 100px; - border-top-right-radius: 100px; -} - -.pagination-flat > li > a, -.pagination-flat > li > span { - margin-left: 1px; - min-width: 36px; - background-color: transparent; -} - -.pagination-flat.pagination-rounded > li > a, -.pagination-flat.pagination-rounded > li > span { - border-radius: 100px !important; - margin: 0 5px; -} - -.pagination-flat.pagination-lg > li > a, -.pagination-flat.pagination-lg > li > span { - min-width: 40px !important; -} - -.pagination-flat.pagination-sm > li > a, -.pagination-flat.pagination-sm > li > span { - min-width: 34px !important; -} - -.pagination-flat.pagination-xs > li > a, -.pagination-flat.pagination-xs > li > span { - min-width: 24px !important; -} - -.pagination-separated > li > a, -.pagination-separated > li > span { - margin-left: 2px; -} - -.pagination-lg > li > a, -.pagination-lg > li > span { - min-width: 40px; -} - -.pagination-lg > li:first-child > a, -.pagination-lg > li:first-child > span { - border-bottom-left-radius: 3px; - border-top-left-radius: 3px; -} - -.pagination-lg > li:last-child > a, -.pagination-lg > li:last-child > span { - border-bottom-right-radius: 3px; - border-top-right-radius: 3px; -} - -.pagination-sm > li > a, -.pagination-sm > li > span { - min-width: 34px; -} - -.pagination-xs > li > a, -.pagination-xs > li > span { - padding: 2px 10px; - font-size: 12px; - line-height: 1.6666667; -} - -.pagination-xs > li:first-child > a, -.pagination-xs > li:first-child > span { - border-bottom-left-radius: 3px; - border-top-left-radius: 3px; -} - -.pagination-xs > li:last-child > a, -.pagination-xs > li:last-child > span { - border-bottom-right-radius: 3px; - border-top-right-radius: 3px; -} - -.pagination-xs > li > a, -.pagination-xs > li > span { - min-width: 24px; -} - -.pagination > .active > a, -.pagination > .active > span { - background-color: #4076e0; - border-color: #4076e0; -} - -.pagination > .active > a:hover, -.pagination > .active > span:hover, -.pagination > .active > a:focus, -.pagination > .active > span:focus { - background-color: #0069d9; - border-color: #0069d9; -} - -/** 10. Progress bar -*************************************************** **/ -.progress-bar { - background-color: #4076e0; -} - -.progress-bar-danger { - background-color: #dc3545; -} - -.progress-bar-success { - background-color: #28a745; -} - -.progress-bar-warning { - background-color: #ffc107; -} - -.progress-bar-info { - background-color: #17a2b8; -} - -/** 11. Labels & Badges -*************************************************** **/ -.label { - display: inline; - padding: .2em .6em .2em; - font-weight: 700; - line-height: 1; - color: #fff; - text-align: center; - white-space: nowrap; - vertical-align: baseline; -} - -.btn .label { - top: 0; -} - -.list-group-item.active > .label, -.nav-pills > .active > a > .label, -.nav-tabs-solid > .active > a > .label, -.nav-tabs[class*=bg-] > li > a > .label { - color: #333333; - background-color: #fff; - border-color: #fff; -} - -@media (min-width: 768px) { - .list-group-item > .label { - float: right; - } - - .list-group-item > .label + .label { - margin-right: 7px; - } -} - -.label > .caret, -.badge > .caret { - margin-top: -2px; -} - -.open .label.dropdown-toggle, -.open .badge.dropdown-toggle { - -webkit-box-shadow: none; - box-shadow: none; -} - -.label[href]:hover, -.badge[href]:hover, -.label[href]:focus, -.badge[href]:focus { - opacity: 0.85; - filter: alpha(opacity=85); -} - -.label-primary { - background-color: #4076e0; - border-color: #4076e0; -} - -.label-primary[href]:hover, -.label-primary[href]:focus { - background-color: #0069d9; -} - -.label-success { - background-color: #28a745; - border-color: #28a745; -} - -.label-success[href]:hover, -.label-success[href]:focus { - background-color: #218838; -} - -.label-info { - background-color: #17a2b8; - border-color: #17a2b8; -} - -.label-info[href]:hover, -.label-info[href]:focus { - background-color: #138496; - border-color: #138496; -} - -.label-warning { - background-color: #ffc107; - border-color: #ffc107; -} - -.label-warning[href]:hover, -.label-warning[href]:focus { - background-color: #e0a800; -} - -.label-danger { - background-color: #dc3545; - border-color: #dc3545; -} - -.label-danger[href]:hover, -.label-danger[href]:focus { - background-color: #c82333; -} - -.label-block { - display: block; -} - -.form-control + .label-block { - margin-top: 7px; -} - -.label-block.text-left { - text-align: left; - margin-right: 0; -} - -.label-block.text-right { - text-align: right; - margin-left: 0; -} - -.badge { - font-size: 12px; - letter-spacing: 0.1px; - vertical-align: baseline; - border-radius: 100px; -} - -.btn .badge { - top: 0; -} - -.btn-xs .badge { - padding: 2px 6px 1px 6px; -} - -.list-group-item.active > .badge, -.nav-pills > .active > a > .badge, -.nav-tabs-solid > .active > a > .badge, -.nav-tabs[class*=bg-] > li > a > .badge { - color: #333333; - background-color: #fff; - border-color: #fff; -} - -.nav-pills > li > a > .badge { - margin-left: 0; -} - -.nav-pills > li > a > .badge.position-right { - margin-left: 7px; -} - -.badge-dark { - background-color: #333333; - border-color: #333333; -} - -.badge-light { - background-color: #BBBBBB; - border-color: #BBBBBB; -} - -.badge-primary { - background-color: #4076e0; - border-color: #4076e0; -} - -.badge-success { - background-color: #28a745; - border-color: #28a745; -} - -.badge-info { - background-color: #17a2b8; - border-color: #17a2b8; -} - -.badge-warning { - background-color: #ffc107; - border-color: #ffc107; -} - -.badge-danger { - background-color: #dc3545; - border-color: #dc3545; -} - -/** 12. Thumbnails -*************************************************** **/ -.thumbnail { - -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05); - box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05); -} - -.thumbnail > a { - display: block; -} - -.thumbnail > img, -.thumbnail a > img { - width: 100%; -} - -a.thumbnail:hover, -a.thumbnail:focus, -a.thumbnail.active { - border-color: #ddd; -} - -.thumbnail .caption { - padding: 17px; - padding-top: 20px; -} - -.thumbnail .caption a > img { - max-width: none; -} - -.thumbnail .caption i.pull-right, -.thumbnail .caption .icons-list.pull-right { - margin-top: 4px; -} - -.thumbnail .caption .media-heading { - margin-top: 0; -} - -.thumbnail .caption .media-heading:after { - content: ''; - display: table; - clear: both; -} - -.modal-dialog .thumbnail { - border-width: 0; - -webkit-box-shadow: none; - box-shadow: none; -} - -.thumbnail > .panel-heading { - margin: -3px; - margin-bottom: 0; -} - -.thumbnail .panel-footer { - margin: -3px; - margin-top: 0; -} - -.thumbnail.no-padding img, -.thumbnail.no-padding .thumb { - border-top-right-radius: 3px; - border-top-left-radius: 3px; - -webkit-box-shadow: none; - box-shadow: none; -} - -.thumbnail.no-padding .caption { - padding: 20px; -} - -.thumbnail.no-padding .panel-heading, -.thumbnail.no-padding .panel-footer { - margin: 0; -} - -.thumb { - position: relative; - display: block; - text-align: center; -} - -.thumb img:not(.media-preview) { - display: inline-block; - width: 100%; - max-width: 100%; - height: auto; -} - -.thumb.thumb-fixed img { - max-width: 240px; -} - -.thumb:hover .caption-zoom { - -webkit-box-shadow: 0 0 0 10px rgba(0, 0, 0, 0.7); - box-shadow: 0 0 0 10px rgba(0, 0, 0, 0.7); -} - -.thumb:hover .caption-offset { - left: 8px; - top: 8px; -} - -.thumb .caption-collapse { - top: 80%; - z-index: 10; - height: auto; -} - -.thumb:hover .thumb .caption-collapse { - top: 100%; -} - -.thumb-rounded { - width: 60%; - margin: 20px auto 0 auto; -} - -.caption-overflow { - position: absolute; - top: 0; - left: 0; - color: #fff; - width: 100%; - height: 100%; - visibility: hidden; - opacity: 0; - filter: alpha(opacity=0); - -webkit-transition: all 0.15s ease-in-out; - -o-transition: all 0.15s ease-in-out; - transition: all 0.15s ease-in-out; -} - -.caption-overflow span { - position: absolute; - left: 0; - top: 50%; - margin-top: -17px; - width: 100%; - text-align: center; -} - -.thumb:hover > .caption-overflow { - background-color: rgba(0, 0, 0, 0.7); - visibility: visible; - opacity: 1; - filter: alpha(opacity=100); -} - -.zoom-image { - color: #fff; - display: inline-block; - text-align: center; - position: absolute; - top: 0; - left: 0; - width: 100%; - height: 100%; - opacity: 0; - filter: alpha(opacity=0); - -webkit-transition: all 0.15s ease-in-out; - -o-transition: all 0.15s ease-in-out; - transition: all 0.15s ease-in-out; -} - -.thumb:hover .zoom-image { - background-color: rgba(0, 0, 0, 0.6); - opacity: 1; - filter: alpha(opacity=100); -} - -.zoom-image i { - font-size: 32px; - position: absolute; - top: 50%; - left: 50%; - margin-top: -16px; - margin-left: -16px; -} - -.thumb-slide { - overflow: hidden; -} - -.thumb-slide .caption { - position: absolute; - bottom: -100%; - left: 0; - color: #fff; - width: 100%; - height: 100%; - background-color: rgba(0, 0, 0, 0.7); - z-index: 10; - -webkit-transition: all 0.1s linear; - -o-transition: all 0.1s linear; - transition: all 0.1s linear; -} - -.thumb-slide .caption span { - position: absolute; - top: 50%; - left: 0; - margin-top: -18px; - width: 100%; - text-align: center; -} - -.thumb-slide:hover .caption { - bottom: 0; -} - -.alert-dark { - color: #1b1e21; - background-color: #d6d8d9; - border-color: #c6c8ca; -} - -/** 13. Media -*************************************************** **/ -.media { - margin-top: 20px; - position: relative; -} - -.media.panel-body { - margin-top: 0; -} - -.media, -.media-body { - overflow: visible; -} - -.media-left, -.media-right, -.media-body { - position: relative; -} - -.media-left img { - height: 45px; - width: 45px; -} - -.media-left img.thumbnail { - padding: 2px; -} - -.media-heading { - margin-bottom: 2px; - display: block; -} - -.media-heading span.f-w-500 { - color: #333333; -} - -.media-list { - margin-bottom: 0; -} - -.media-right, -.media > .pull-right { - padding-left: 20px; -} - -.media-left, -.media > .pull-left { - padding-right: 20px; -} - -@media (max-width: 768px) { - .stack-media-on-mobile:not(.text-left):not(.text-right) { - text-align: center; - } - - .stack-media-on-mobile .media-annotation { - display: block; - } - - .stack-media-on-mobile .media-annotation.dotted:not(.pull-right):before { - content: none; - margin: 0; - } - - .stack-media-on-mobile .media-heading .media-annotation { - margin-left: 0; - margin-right: 0; - padding-bottom: 5px; - } - - .stack-media-on-mobile .media-left, - .stack-media-on-mobile .media-right, - .stack-media-on-mobile .media-body { - display: block; - width: auto; - padding-left: 0; - padding-right: 0; - } - - .stack-media-on-mobile .media-body, - .stack-media-on-mobile .media-right { - margin-top: 15px; - } - - .stack-media-on-mobile .media-heading { - margin-bottom: 5px; - } -} - -.media-badge { - position: absolute; - left: -10px; - top: -2px; -} - -.media-badge, -.media-badge[class*=bg-] { - border: 2px solid; -} - -@media (max-width: 768px) { - .navbar-inverse .media-badge { - border: 0; - top: 0; - } -} - -.media-annotation { - color: #999999; - font-size: 12px; - line-height: 1.6666667; - font-weight: 400; -} - -.media-heading .media-annotation { - margin-left: 7px; -} - -.media-annotation i { - font-size: 13px; -} - -.media-annotation.dotted:not(.pull-right):before { - content: '\2022'; - margin-right: 10px; -} - -.media-header { - white-space: nowrap; - margin-top: 20px; - font-weight: 500; -} - -.media-header:first-child { - margin-top: 0; -} - -.media-list-bordered > li { - border-top: 1px solid #eeeeee; - padding-top: 15px; - margin-top: 15px; -} - -.media-list-bordered > li:first-child { - padding-top: 0; - border-top-width: 0; -} - -.media-list-bordered.media-list-linked .media-header { - margin-bottom: 15px; -} - -.media-list-linked .media { - margin-top: 0; - padding: 0; -} - -.media-list-linked .media-link { - display: block; - padding: 15px 20px; - color: #333333; -} - -.media-list-linked .media-link:hover, -.media-list-linked .media-link:focus { - background-color: #fafafa; - color: #333333; -} - -.media-list-linked .media-header { - padding-left: 20px; - padding-right: 20px; - margin-top: 10px; - margin-bottom: 10px; -} - -.media-list-linked .media-header:first-child { - margin-top: 0; -} - -.media-list-linked.media-list-bordered > li:first-child { - border-top-width: 1px; -} - -.media-list-linked.media-list-bordered > .media-header { - margin-top: 0; -} - -.media-list-linked.media-list-bordered > .media-header:first-child { - border-top-width: 0; -} - -/** 14. List groups -*************************************************** **/ -.list-group { - list-style: none; - margin-bottom: 0; - border: 1px solid #ddd; - padding: 7px 0; -} - -.list-group-item { - background-color: transparent; - padding: 10px 20px; - border: 0; -} - -.list-group-item.disabled .label, -.list-group-item.disabled:hover .label, -.list-group-item.disabled:focus .label, -.list-group-item.disabled .badge, -.list-group-item.disabled:hover .badge, -.list-group-item.disabled:focus .badge { - opacity: 0.75; - filter: alpha(opacity=75); -} - -.list-group-divider { - height: 1px; - display: block; - background-color: #e5e5e5; - margin-top: 7px; - margin-bottom: 7px; -} - -.list-group-header { - padding: 7px 20px; - font-size: 11px; - line-height: 1.82; - color: #999999; - text-transform: uppercase; -} - -.list-group-header:first-child { - margin-top: 7px; -} - -.list-group-item + .list-group-header, -.list-group-divider + .list-group-header { - margin-top: 14px; -} - -.list-group-item > i, -.list-group-header > i { - margin-right: 7px; -} - -.list-group-item > i.pull-right, -.list-group-header > i.pull-right { - margin-right: 0; - margin-left: 7px; - margin-top: 3px; -} - -.list-group-item-heading { - margin-top: 7px; - margin-bottom: 7px; -} - -.list-group-item-text { - line-height: 1.5384616; - margin-bottom: 7px; -} - -.list-group-item-success { - color: #43A047; - background-color: #E8F5E9; -} - -a.list-group-item-success, -button.list-group-item-success { - color: #43A047; -} - -a.list-group-item-success .list-group-item-heading, -button.list-group-item-success .list-group-item-heading { - color: inherit; -} - -a.list-group-item-success:hover, -button.list-group-item-success:hover, -a.list-group-item-success:focus, -button.list-group-item-success:focus { - color: #43A047; - background-color: #d6edd8; -} - -a.list-group-item-success.active, -button.list-group-item-success.active, -a.list-group-item-success.active:hover, -button.list-group-item-success.active:hover, -a.list-group-item-success.active:focus, -button.list-group-item-success.active:focus { - color: #fff; - background-color: #43A047; - border-color: #43A047; -} - -.list-group-item-success, -a.list-group-item-success, -a.list-group-item-success:hover, -a.list-group-item-success:focus { - color: #205823; -} - -.list-group-item-info { - color: #4076e0; - background-color: #E3F2FD; -} - -a.list-group-item-info, -button.list-group-item-info { - color: #4076e0; -} - -a.list-group-item-info .list-group-item-heading, -button.list-group-item-info .list-group-item-heading { - color: inherit; -} - -a.list-group-item-info:hover, -button.list-group-item-info:hover, -a.list-group-item-info:focus, -button.list-group-item-info:focus { - color: #4076e0; - background-color: #cbe7fb; -} - -a.list-group-item-info.active, -button.list-group-item-info.active, -a.list-group-item-info.active:hover, -button.list-group-item-info.active:hover, -a.list-group-item-info.active:focus, -button.list-group-item-info.active:focus { - color: #fff; - background-color: #4076e0; - border-color: #4076e0; -} - -.list-group-item-info, -a.list-group-item-info, -a.list-group-item-info:hover, -a.list-group-item-info:focus { - color: #104d92; -} - -.list-group-item-warning { - color: #EF6C00; - background-color: #FFF3E0; -} - -a.list-group-item-warning, -button.list-group-item-warning { - color: #EF6C00; -} - -a.list-group-item-warning .list-group-item-heading, -button.list-group-item-warning .list-group-item-heading { - color: inherit; -} - -a.list-group-item-warning:hover, -button.list-group-item-warning:hover, -a.list-group-item-warning:focus, -button.list-group-item-warning:focus { - color: #EF6C00; - background-color: #ffe9c6; -} - -a.list-group-item-warning.active, -button.list-group-item-warning.active, -a.list-group-item-warning.active:hover, -button.list-group-item-warning.active:hover, -a.list-group-item-warning.active:focus, -button.list-group-item-warning.active:focus { - color: #fff; - background-color: #EF6C00; - border-color: #EF6C00; -} - -.list-group-item-warning, -a.list-group-item-warning, -a.list-group-item-warning:hover, -a.list-group-item-warning:focus { - color: #aa3510; -} - -.list-group-item-danger { - color: #D84315; - background-color: #FBE9E7; -} - -a.list-group-item-danger, -button.list-group-item-danger { - color: #D84315; -} - -a.list-group-item-danger .list-group-item-heading, -button.list-group-item-danger .list-group-item-heading { - color: inherit; -} - -a.list-group-item-danger:hover, -button.list-group-item-danger:hover, -a.list-group-item-danger:focus, -button.list-group-item-danger:focus { - color: #D84315; - background-color: #f7d5d1; -} - -a.list-group-item-danger.active, -button.list-group-item-danger.active, -a.list-group-item-danger.active:hover, -button.list-group-item-danger.active:hover, -a.list-group-item-danger.active:focus, -button.list-group-item-danger.active:focus { - color: #fff; - background-color: #D84315; - border-color: #D84315; -} - -.list-group-item-danger, -a.list-group-item-danger, -a.list-group-item-danger:hover, -a.list-group-item-danger:focus { - color: #9c1f1f; -} - -/** 15. Panels -*************************************************** **/ -.panel { - margin-bottom: 20px; - border-color: #ddd; - color: #333333; -} - -.panel.has-scroll { - max-width: 100%; - overflow-x: auto; -} - -.panel[class*=bg-] > .panel-heading { - border-color: rgba(255, 255, 255, 0.2); -} - -@media (max-width: 768px) { - .panel[class*=bg-] > .panel-heading { - background-color: inherit; - } -} - -.panel[class*=bg-] .panel-title { - color: #fff; -} - -.panel[class*=bg-] .table thead td, -.panel[class*=bg-] .table tbody td, -.panel[class*=bg-] .table thead th, -.panel[class*=bg-] .table tbody th { - border-color: rgba(255, 255, 255, 0.1); -} - -.panel[class*=bg-] .text-muted, -.panel[class*=bg-] .help-block, -.panel[class*=bg-] .help-inline { - color: rgba(255, 255, 255, 0.8); -} - -.panel[class*=border-top-] { - border-top-right-radius: 0; - border-top-left-radius: 0; -} - -.panel[class*=border-bottom-] { - border-bottom-right-radius: 0; - border-bottom-left-radius: 0; -} - -.panel[class*=border-left-] { - border-bottom-left-radius: 0; - border-top-left-radius: 0; -} - -.panel[class*=border-right-] { - border-bottom-right-radius: 0; - border-top-right-radius: 0; -} - -.panel-body { - position: relative; -} - -.panel-body + .panel-body, -.panel-body + .table, -.panel-body + .table-responsive, -.panel-body.has-top-border { - border-top: 1px solid #ddd; -} - -.panel[class*=bg-] .panel-body + .panel-body, -.panel[class*=bg-] .panel-body + .table, -.panel[class*=bg-] .panel-body + .table-responsive, -.panel[class*=bg-] .panel-body.has-top-border { - border-top-color: rgba(255, 255, 255, 0.5); -} - -.panel-body-accent { - background-color: #fcfcfc; -} - -.panel[class*=bg-] .panel-body-accent { - background-color: rgba(0, 0, 0, 0.1); -} - -.panel-heading { - position: relative; - border-top-right-radius: 3px; - border-top-left-radius: 3px; - padding: 15px 15px; -} - -.panel-bordered > .panel-heading { - margin: 0; -} - -.panel-heading[class*=bg-], -.panel-primary .panel-heading, -.panel-danger .panel-heading, -.panel-success .panel-heading, -.panel-warning .panel-heading, -.panel-info .panel-heading { - margin: -1px -1px 0 -1px; - border-top-right-radius: 3px; - border-top-left-radius: 3px; -} - -.panel-white > .panel-heading { - background-color: #fff; - border-bottom-color: #ddd; -} - -.panel-title { - position: relative; - font-size: 13px; - text-transform: uppercase; -} - -.panel-title.text-size-mini { - font-size: 11px; -} - -.panel-title.text-size-small { - font-size: 12px; -} - -.panel-title.text-size-large { - font-size: 14px; -} - -a.panel-title { - display: block; -} - -.panel-title img { - max-height: 20px; - display: inline-block; - vertical-align: top; -} - -.panel-title > small:not(.display-block), -.panel-title > .small:not(.display-block) { - margin-left: 5px; -} - -h6.panel-title, -.h6.panel-title { - font-size: 14px; -} - -.icons-list a { - vertical-align: middle; - -webkit-transition: all ease-in-out 0.2s; - -o-transition: all ease-in-out 0.2s; - transition: all ease-in-out 0.2s; -} - -.icons-list a:after { - font-family: 'FontAwesome'; - margin-left: 8px; - color: #a0a0a0; - font-size: 13px; - min-width: 13px; - text-align: center; - display: inline-block; - line-height: 1; - vertical-align: middle; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} - -.icons-list .collapse_element a.down:after { - content: '\f063'; -} - -.icons-list .collapse_element a.up:after { - content: '\f062'; -} - -.icons-list .refresh_element a:after { - content: '\f021'; -} - -.icons-list .close_element a:after { - content: '\f00d'; -} - -.icons-list .fullscreen_element a:after { - content: '\f0b2'; -} - -.panel-footer { - position: relative; - padding-left: 0; - padding-right: 0; - border-bottom-right-radius: 3px; - border-bottom-left-radius: 3px; -} - -.panel-footer:after { - content: ''; - display: table; - clear: both; -} - -.panel-footer-transparent { - background-color: transparent; - border-top: 0; - padding-top: 0; - padding-bottom: 12px; -} - -.panel-footer-condensed { - padding-top: 2px; - padding-bottom: 2px; -} - -.panel-footer-bordered { - background-color: #fff; - padding-right: 0; - margin-left: 20px; - margin-right: 20px; -} - -.panel-group-control .panel-title > a { - padding-left: 26px; - display: inline-block; -} - -.panel-group-control .panel-title > a:before { - content: '\e9b7'; - font-family: 'icomoon'; - position: absolute; - top: 50%; - margin-top: -8px; - left: 0; - font-size: 16px; - font-weight: 400; - line-height: 1; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} - -.panel-group-control .panel-title > a.collapsed:before { - content: '\e9b8'; -} - -.panel-group-control.panel-group-control-right .panel-title > a { - padding-left: 0; - padding-right: 26px; -} - -.panel-group-control.panel-group-control-right .panel-title > a:before { - left: auto; - right: 0; -} - -.panel-primary { - border-color: #ddd; -} - -.panel-primary.panel-bordered { - border-color: #4076e0; -} - -.panel-success { - border-color: #ddd; -} - -.panel-success.panel-bordered { - border-color: #28a745; -} - -.panel-info { - border-color: #ddd; -} - -.panel-info.panel-bordered { - border-color: #17a2b8; -} - -.panel-warning { - border-color: #ddd; -} - -.panel-warning.panel-bordered { - border-color: #ffc107; -} - -.panel-danger { - border-color: #ddd; -} - -.panel-danger.panel-bordered { - border-color: #dc3545; -} - -/* PACE ---------------------------------------------------------------------------- */ -.has-error .form-control, -.has-error .form-control:focus, -.has-success .form-control, -.has-success .form-control:focus, -.has-warning .form-control, -.has-warning .form-control:focus { - -webkit-box-shadow: none; - box-shadow: none -} - -.has-success .checkbox, -.has-success .checkbox-inline, -.has-success .control-label, -.has-success .form-control-feedback, -.has-success .help-block, -.has-success .radio, -.has-success .radio-inline { - color: #28a745; -} - -.has-success .form-control { - border-color: #28a745; -} - -.has-success .form-control:focus { - border-color: #28a745; -} - -.has-warning .checkbox, -.has-warning .checkbox-inline, -.has-warning .control-label, -.has-warning .form-control-feedback, -.has-warning .help-block, -.has-warning .radio, -.has-warning .radio-inline { - color: #ffc107; -} - -.has-warning .form-control { - border-color: #ffc107; -} - -.has-warning .form-control:focus { - border-color: #ffc107; -} - -.has-error .checkbox, -.has-error .checkbox-inline, -.has-error .control-label, -.has-error .form-control-feedback, -.has-error .help-block, -.has-error .radio, -.has-error .radio-inline { - color: #dc3545; -} - -.has-error .form-control { - border-color: #dc3545; -} - -.has-error .form-control:focus { - border-color: #dc3545; -} - -.parsley-required { - font-size: 13px; - margin-top: 5px; -} - -.parsley-error { - background: #fff; - border-color: #dc3545 !important; -} - -.parsley-error:focus { - border-color: #dc3545 !important; - outline: 0; - box-shadow: 0 0 0 0.125rem rgba(204, 73, 70, 0.3) !important; -} - -.parsley-success { - background: #fff !important; - border-color: #28a745 !important; -} - -.parsley-success:focus { - border-color: #28a745 !important; - outline: 0; - box-shadow: 0 0 0 0.125rem rgba(0, 172, 172, 0.3) !important; -} - -.parsley-error, -.parsley-success { - color: #2d353c !important; - box-shadow: none !important; -} - -.parsley-error:focus, -.parsley-success:focus { - color: #2d353c !important; -} - -.parsley-errors-list { - padding: 0 !important; - list-style-type: none !important; - margin: 0 !important; - color: #dc3545; - font-size: 12px !important; - line-height: inherit !important; -} - -.parsley-errors-list.filled { - margin-top: 0px !important; -} - -/* PACE ---------------------------------------------------------------------------- */ -.pace { - -webkit-pointer-events: none; - pointer-events: none; - -webkit-user-select: none; - -moz-user-select: none; - user-select: none; -} - -.pace-inactive { - display: none; -} - -.pace .pace-progress { - background: #4076e0; - position: fixed; - z-index: 2000; - top: 0; - right: 100%; - width: 100%; - height: 2px; -} - -.pace .pace-progress-inner { - display: block; - position: absolute; - right: 0px; - width: 100px; - height: 100%; - box-shadow: 0 0 10px #4076e0, 0 0 5px #4076e0; - opacity: 1.0; - -webkit-transform: rotate(3deg) translate(0px, -4px); - -moz-transform: rotate(3deg) translate(0px, -4px); - -ms-transform: rotate(3deg) translate(0px, -4px); - -o-transform: rotate(3deg) translate(0px, -4px); - transform: rotate(3deg) translate(0px, -4px); -} - -.pace-progress, .pace:before { - height: 3px; - position: fixed; - left: 0 -} - -.pace .pace-activity { - display: block; - position: fixed; - z-index: 2000; - top: 15px; - right: 15px; - width: 14px; - height: 14px; - border: solid 2px transparent; - border-top-color: #4076e0; - border-left-color: #4076e0; - border-radius: 10px; - -webkit-animation: pace-spinner 400ms linear infinite; - -moz-animation: pace-spinner 400ms linear infinite; - -ms-animation: pace-spinner 400ms linear infinite; - -o-animation: pace-spinner 400ms linear infinite; - animation: pace-spinner 400ms linear infinite; -} - -@-webkit-keyframes pace-spinner { - 0% { - -webkit-transform: rotate(0deg); - transform: rotate(0deg); - } - 100% { - -webkit-transform: rotate(360deg); - transform: rotate(360deg); - } -} - -@-moz-keyframes pace-spinner { - 0% { - -moz-transform: rotate(0deg); - transform: rotate(0deg); - } - 100% { - -moz-transform: rotate(360deg); - transform: rotate(360deg); - } -} - -@-o-keyframes pace-spinner { - 0% { - -o-transform: rotate(0deg); - transform: rotate(0deg); - } - 100% { - -o-transform: rotate(360deg); - transform: rotate(360deg); - } -} - -@-ms-keyframes pace-spinner { - 0% { - -ms-transform: rotate(0deg); - transform: rotate(0deg); - } - 100% { - -ms-transform: rotate(360deg); - transform: rotate(360deg); - } -} - -@keyframes pace-spinner { - 0% { - transform: rotate(0deg); - transform: rotate(0deg); - } - 100% { - transform: rotate(360deg); - transform: rotate(360deg); - } -} - -@media (max-width: 767px) { - #main_menu_bar { - min-height: 0 !important; - } - - #menu_nav.navbar-collapse.collapse { - display: none !important; - } - - #menu_nav.navbar-collapse.collapse.in { - display: block !important; - } -} - -.progress { - position: relative; - margin-bottom: 0; - height: 18px; - -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.1); - box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.1); -} - -.progress-bar { - line-height: 18px; - overflow: hidden; -} - -.progress-rounded, -.progress-rounded > .progress-bar { - border-radius: 100px; -} - -.progress .progressbar-back-text { - position: absolute; - left: 0; - width: 100%; - height: 100%; - text-align: center; - font-size: 12px; -} - -.progress .progressbar-front-text { - display: block; - width: 100%; - text-align: center; - position: relative; - font-size: 12px; -} - -.progress.right .progress-bar { - right: 0; - float: right; -} - -.progress.right .progressbar-front-text { - position: absolute; - right: 0; -} - -.progress.vertical { - width: 50px; - height: 100%; - display: inline-block; -} - -.progress.vertical + .progress.vertical { - margin-left: 10px; -} - -.progress.vertical .progress-bar { - width: 100%; - height: 0; - -webkit-transition: height 0.6s ease; - -o-transition: height 0.6s ease; - transition: height 0.6s ease; -} - -.progress.vertical.bottom { - position: relative; -} - -.progress.vertical.bottom .progressbar-front-text { - position: absolute; - bottom: 0; -} - -.progress.vertical.bottom .progress-bar { - position: absolute; - bottom: 0; -} - -.progress-lg { - height: 22px; -} - -.progress-lg .progress-bar { - line-height: 22px; -} - -.progress-sm { - height: 14px; -} - -.progress-xs { - height: 10px; -} - -.progress-xxs { - height: 6px; -} - -.progress-micro { - height: 2px; -} - -.progress-sm .progress-bar, -.progress-xs .progress-bar, -.progress-xxs .progress-bar, -.progress-micro .progress-bar { - font-size: 0; -} - -.well { - margin-bottom: 0; - padding: 20px; - -webkit-box-shadow: none; - box-shadow: none; -} - -.well-white { - background-color: #fff; -} - -.well[class*=border-top-] { - border-top-right-radius: 0; - border-top-left-radius: 0; -} - -.well[class*=border-bottom-] { - border-bottom-right-radius: 0; - border-bottom-left-radius: 0; -} - -.well[class*=border-left-] { - border-bottom-left-radius: 0; - border-top-left-radius: 0; -} - -.well[class*=border-right-] { - border-bottom-right-radius: 0; - border-top-right-radius: 0; -} - -.well-lg { - padding: 25px; -} - -.well-sm { - padding: 15px; -} - - -.close { - text-shadow: none; - opacity: 0.6; - filter: alpha(opacity=60); -} - -.close:hover, -.close:focus { - outline: 0; - opacity: 1; - filter: alpha(opacity=100); -} - - -.modal-header[class*=bg-] { - padding: 15px 20px; - border-top-right-radius: 2px; - border-top-left-radius: 2px; -} - -.modal-header[class*=bg-] .close { - margin-top: -9.75px; -} - -.modal-content[class*=bg-] .modal-header .close, -.modal-header[class*=bg-] .close { - color: #fff; -} - -.modal-header .close { - position: relative; - right: 10px; - top: 50%; - margin-top: 0; -} - -.modal-body .close { - margin-top: 0 !important; -} - -.modal-footer.text-center { - text-align: center; -} - -.modal-footer.text-left { - text-align: left; -} - -@media (min-width: 992px) { - .modal-lg { - width: 900px; - margin-left: auto; - margin-right: auto; - } - - .modal-lg .modal-dialog { - width: 900px; - } -} - - -@media (min-width: 768px) { - .modal-xs { - width: 300px; - margin-right: auto; - margin-left: auto; - } - - .modal-xs .modal-dialog { - width: 300px; - } - - .modal-full { - width: 94%; - margin-left: 3%; - margin-right: 3%; - } -} - - -.tooltip { - font-size: 13px; - line-height: 1.5384616; -} - -.tooltip [class*=bg-] > .tooltip-inner { - background-color: inherit; -} - -.tooltip.top [class*=bg-] .tooltip-arrow { - border-top-color: inherit; -} - -.tooltip.right [class*=bg-] .tooltip-arrow { - border-right-color: inherit; -} - -.tooltip.bottom [class*=bg-] .tooltip-arrow { - border-bottom-color: inherit; -} - -.tooltip.left [class*=bg-] .tooltip-arrow { - border-left-color: inherit; -} - -.tooltip-inner { - padding: 7px 12px; -} - -.popover { - padding: 0; - -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1); - box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1); -} - -.popover-title { - font-size: 12px; - line-height: 1.6666667; - border: 0; - /*padding: 15px 15px 0 15px;*/ - text-transform: uppercase; - font-weight: 500; - border-top-right-radius: 3px; - border-top-left-radius: 3px; -} - -.popover-title[class*=bg-] { - padding: 10px 15px; - margin: -1px -1px 0 -1px; -} - -.popover-content { - padding: 15px; -} - -.popover[class*=bg-].top > .arrow, -.popover[class*=border-].top > .arrow, -.popover[class*=bg-].top > .arrow:after, -.popover[class*=border-].top > .arrow:after { - border-top-color: inherit; -} - -.popover[class*=bg-].right > .arrow, -.popover[class*=border-].right > .arrow, -.popover[class*=bg-].right > .arrow:after, -.popover[class*=border-].right > .arrow:after { - border-right-color: inherit; -} - -.popover[class*=bg-].bottom > .arrow, -.popover[class*=border-].bottom > .arrow, -.popover[class*=bg-].bottom > .arrow:after, -.popover[class*=border-].bottom > .arrow:after { - border-bottom-color: inherit; -} - -.popover[class*=bg-].left > .arrow, -.popover[class*=border-].left > .arrow, -.popover[class*=bg-].left > .arrow:after, -.popover[class*=border-].left > .arrow:after { - border-left-color: inherit; -} - -/** 16. Breadcrumb -*************************************************** **/ -.breadcrumb { - padding: 0.75rem 1rem; - margin-bottom: 1rem; - list-style: none; - background-color: #eceeef; -} - -.breadcrumb::after { - display: block; - content: ""; - clear: both; -} - -.breadcrumb-item { - float: left; -} - -.breadcrumb-item + .breadcrumb-item::before { - display: inline-block; - padding-right: 0.5rem; - padding-left: 0.5rem; - color: #636c72; - content: "/"; -} - -.breadcrumb-item + .breadcrumb-item:hover::before { - text-decoration: underline; -} - -.breadcrumb-item + .breadcrumb-item:hover::before { - text-decoration: none; -} - -.breadcrumb-item.active { - color: #333333; -} - -.breadcrumb { - list-style: none; - margin: 0; - padding: 10px 30px 10px 0; - background-color: transparent; -} - -.breadcrumb li { - margin-bottom: 0; - display: inline-block; - text-transform: uppercase; - font-size: 12px -} - -.breadcrumb li a { - color: #3E4B5B; -} - -.breadcrumb li span { - color: rgba(0, 0, 0, 0.4); -} - -.breadcrumbs + .sm-content-box { - padding-top: 0; -} - -.breadcrumb-pageheader { - padding: 15px 0; -} - -@media (min-width: 576px) { - .breadcrumb-pageheader { - padding: 0px 0 25px 0; - display: flex; - align-items: center; - justify-content: space-between; - flex-direction: row-reverse; - } -} - -@media (min-width: 767px) { - .breadcrumb-pageheader { - padding: 10px 0 25px 0 !important; - } -} - -.sm-pagetitle--style-1 { - margin-top: 15px; - margin-bottom: 10px; - color: #343a40; - padding-left: 10px; - border-left: 4px solid #4076e0; - text-transform: uppercase; - font-weight: 700; - font-size: 14px; - line-height: 14px; - letter-spacing: .5px; -} - -.sm-pagetitle--style-2 { - margin-top: 15px; - margin-bottom: 10px; - color: #343a40; - text-transform: uppercase; - font-weight: 700; - font-size: 14px; - line-height: 14px; - letter-spacing: .5px; -} - -@media (min-width: 576px) { - .sm-pagetitle { - margin-top: 0; - margin-bottom: 0; - } -} - -.sm-breadcrumb { - margin-bottom: 0; - padding: 0; - background-color: transparent; - font-size: 12px; -} - -@media (min-width: 576px) { - .sm-breadcrumb { - font-size: 14px; - padding-right: 15px; - } -} - -.sm-breadcrumb .breadcrumb-item + .breadcrumb-item::before { - color: #ced4da; -} - -/** 17. Search -*************************************************** **/ -.search { - display: flex; - flex-direction: column; - justify-content: center; - align-items: center; - text-align: center; - background: rgba(255, 255, 255, 0.9); -} - -#btn-search-close { - cursor: pointer; -} - -.js .search { - position: fixed; - z-index: 1000; - top: 0; - left: 0; - width: 100%; - height: 100vh; -} - -.search::before, -.search::after { - content: ''; - position: absolute; - width: calc(100% + 15px); - height: calc(100% + 15px); - pointer-events: none; -} - -.search::before { - top: 0; - left: 0; - border-right-width: 0; - border-bottom-width: 0; -} - -.search::after { - right: 0; - bottom: 0; - border-top-width: 0; - border-left-width: 0; -} - -.btn--search-close { - font-size: 2em; - position: absolute; - top: 1.25em; - right: 1.25em; - display: none; -} - -.js .btn--search-close { - display: block; -} - -.search__form { - margin: 5em 0; -} - -.search__input { - font-family: inherit; - font-size: 10vw; - line-height: 1; - display: inline-block; - box-sizing: border-box; - width: 75%; - padding: 0.05em 0; - color: #4076e0; - border-bottom: 2px solid; - - border-top: 0; - border-left: 0; - border-right: 0; - background: transparent; - -webkit-appearance: none; -} - -.search__input:focus, .search__input:active { - outline: none; -} - -.search__input::-webkit-input-placeholder { - opacity: 0.3; - color: #888888; -} - -.search__input::-moz-placeholder { - opacity: 0.3; - color: #888888; -} - -.search__input:-ms-input-placeholder { - opacity: 0.3; - color: #888888; -} - -.search__input::-webkit-search-cancel-button, -.search__input::-webkit-search-decoration { - -webkit-appearance: none; -} - -.search__input::-ms-clear { - display: none; -} - -.search__info { - font-size: 90%; - font-weight: bold; - display: block; - width: 75%; - margin: 0 auto; - padding: 0.85em 0; - text-align: right; - color: #4076e0; -} - -.search__related { - display: flex; - width: 75%; - pointer-events: none; - color: #888888; -} - -.search__suggestion { - width: 33.33%; - text-align: left; -} - -.search__suggestion:nth-child(2) { - margin: 0 3em; -} - -.search__suggestion h3 { - font-size: 1.35em; - margin: 0; - color: #888888; -} - -.search__suggestion h3::before { - content: '\21FE'; - display: inline-block; - padding: 0 0.5em 0 0; -} - -.search__suggestion p { - font-size: 1.15em; - line-height: 1.4; - margin: 0.75em 0 0 0; -} - -.js .search { - pointer-events: none; - opacity: 0; - transition: opacity 0.5s; -} - -.js .search--open { - pointer-events: auto; - opacity: 1; - z-index: 10000; -} - -.search::before, -.search::after { - transition: transform 0.5s; -} - -.search::before { - transform: translate3d(-15px, -15px, 0); -} - -.search::after { - transform: translate3d(15px, 15px, 0); -} - -.search--open::before, -.search--open::after { - transform: translate3d(0, 0, 0); -} - -.btn--search-close { - opacity: 0; - transform: scale3d(0.8, 0.8, 1); - transition: opacity 0.5s, transform 0.5s; -} - -.search--open .btn--search-close { - opacity: 1; - transform: scale3d(1, 1, 1); - color: #888888; -} - -.js .search__form { - opacity: 0; - transform: scale3d(0.8, 0.8, 1); - transition: opacity 0.5s, transform 0.5s; -} - -.js .search--open .search__form { - opacity: 1; - transform: scale3d(1, 1, 1); -} - -.search__suggestion { - opacity: 0; - transform: translate3d(0, -30px, 0); - transition: opacity 0.5s, transform 0.5s; -} - -.search--open .search__suggestion { - opacity: 1; - transform: translate3d(0, 0, 0); -} - -.search--open .search__suggestion:nth-child(2) { - transition-delay: 0.1s; -} - -.search--open .search__suggestion:nth-child(3) { - transition-delay: 0.2s; -} - -@media screen and (max-width: 40em) { - .search__form { - margin: 5em 0 1em; - } - - .btn--search-close { - font-size: 1.25em; - top: 1.5em; - right: 1.5em; - } - - .search__info { - text-align: left; - } - - .search__suggestion { - font-size: 80%; - width: 100%; - } - - .search__suggestion:nth-child(2), - .search__suggestion:nth-child(3) { - display: none; - } -} - -/** 18. Footer -*************************************************** **/ -.footer { - background: #DCE5EC; /* footer color*/ - z-index: 999; -} - -.footer-bottom { - padding: 1.5em 0em; -} - -.footer ul.footer-links { - margin: 0; - padding: 0; - list-style: none -} - -.footer .footer-links > li > a { - display: inline-block; - padding: 0.25em 0; - font-size: inherit; - font-weight: 400; - color: #333 -} - -.footer .footer-links > li > a:hover { - color: #333 -} - -.footer .footer-links > li > .footer-link-date { - display: block; - margin-bottom: 0.5em -} - -.footer .footer-menu { - padding: 0; - margin: 0; - list-style: none -} - -.footer .footer-menu > li { - display: inline-block; - margin-right: 1em -} - -.footer .footer-menu > li > a { - display: inline-block; - padding: 0.25em 0.4em; - color: #333; - font-weight: 500; - font-size: inherit; - text-transform: uppercase -} - -.footer .footer-menu > li:last-child > a { - margin-right: 0 -} - -.footer .footer-menu > li > a:hover { - color: #333; -} - -.footer .footer-menu > li.logo-delimiter { - padding-left: 2em; - padding-right: 2em -} - -@media (max-width: 991px) { - .footer .footer-menu > li.logo-delimiter { - display: none - } -} - -.footer .copy-links { - margin: 8px 0 0 0; - padding: 0; - list-style: none -} - -.footer .copy-links li { - display: inline-block; - margin-right: 10px; - font-size: inherit; - color: #333 -} - -.footer .copy-links li a { - color: #333; - font-size: 12px; -} - -.footer .copy-links li a:hover { - text-decoration: underline -} - - -.social-media { - margin: 0; - padding: 0; - position: relative; - list-style: none; -} - -.social-media > li { - display: inline-block; - font-size: inherit; -} - -.social-media > li > a { - display: block; -} - -.social-media > li > a > i { - color: #333; -} - -.social-media.social-media--style > li > a { - font-size: inherit; - width: auto; - height: auto; - padding-left: 0; - padding-right: 0; - margin-right: 1em; - background: transparent; - color: #333; -} - -@media (min-width: 576px) { - .text-sm-right { - text-align: right !important; - } -} - -@media (max-width: 576px) { - .footer-bottom { - padding: 1.5em 1.5em; - } -} - -/** 19. Main Content -*************************************************** **/ -.page-container { - position: relative; - padding: 10px 20px 20px; - padding-bottom: 0px; -} - -.navbar-bottom .page-container, -.navbar-bottom-lg .page-container, -.navbar-bottom-sm .page-container, -.navbar-bottom-xs .page-container { - padding-bottom: 20px; -} - -@media (min-width: 768px) { - .page-container { - width: 100%; - display: table; - table-layout: fixed; - } - - @-moz-document url-prefix() { - .page-container { - height: 1px; - } - } -} - -@media (min-width: 768px) { - .page-container, - .navbar { - padding-left: 65px; - padding-right: 65px; - } -} - -@media (min-width: 1366px) { - .page-container, - .navbar { - padding-left: 130px; - padding-right: 130px; - } -} - -@media (min-width: 768px) { - .main_content { - display: table-row; - } -} - -.content-wrapper { - width: 100%; -} - -@media (min-width: 768px) { - .content-wrapper { - display: table-cell; - vertical-align: top; - } -} - -.breadcrumb-elements-toggle { - float: right; - cursor: pointer; - line-height: 1; - margin-top: 10px; -} - -.breadcrumb-line-component .breadcrumb-elements-toggle { - margin-right: 20px; -} - -.heading-elements { - background-color: inherit; - position: absolute; - top: 50%; - right: 20px; - height: 36px; - margin-top: -18px; -} - -.heading-elements:not(.visible-elements) .icons-list { - margin-top: 10px; - float: left; - margin-left: 20px; -} - -body.top_nav_fixed:not(.fixed_both) .navbar.navbar-default.navbar-fixed-top.bordered{ - border-bottom: 1px solid #dddddd; -} - -#mobile_nav .navbar-right li:not(:last-child):not(.media){ - margin-top: 5px; -} - -@media (min-width: 769px){ - body.top_nav_fixed .navbar-fixed-top + #main_menu_bar, - body.sidebar_menu.top_nav_fixed #page-container{ - margin-top: 54px; - } - - body.top_nav_fixed.fixed_both #page-container{ - margin-top: 100px; - } -} - -body.fixed_menu #main_menu_bar .navbar-brand { - height: 46px !important; - padding-top: 14px !important; - padding-bottom: 14px !important; -} - -/** 20. Pulse -*************************************************** **/ -@keyframes shadow-pulse { - 0% { - box-shadow: 0 0 0 0px rgba(0, 0, 0, 0.2); - } - 100% { - box-shadow: 0 0 0 15px rgba(0, 0, 0, 0); - } -} - -@keyframes shadow-pulse-big { - 0% { - box-shadow: 0 0 0 0px rgba(0, 0, 0, 0.1); - } - 100% { - box-shadow: 0 0 0 50px rgba(0, 0, 0, 0); - } -} - -.pulse { - float: left; - width: 12px; - height: 12px; - text-transform: uppercase; - letter-spacing: 1px; - color: #fff; - text-align: center; - background: #4076e0; - border-radius: 50%; - position: absolute; - top: 8px; - right: 8px; - display: inline-block; - border: 2px solid; - animation: shadow-pulse 1s infinite; -} - -/** 21. To Top -*************************************************** **/ -.btn-back-to-top { - display: inline-block; - height: 30px; - width: 30px; - position: fixed; - bottom: 20px; - right: 20px; - text-align: center; - line-height: 30px; - background: #4076e0; - box-shadow: 0 0 10px rgba(0, 0, 0, 0.05); - border-radius: 100%; - overflow: hidden; - white-space: nowrap; - visibility: hidden; - opacity: 0; - -webkit-transition: opacity 0.3s 0s, visibility 0s 0.3s; - -moz-transition: opacity 0.3s 0s, visibility 0s 0.3s; - transition: opacity 0.3s 0s, visibility 0s 0.3s -} - -.btn-back-to-top:before { - font-family: "FontAwesome"; - content: "\f106"; - display: block; - font-size: 1rem; - color: #FFF -} - -.btn-back-to-top.back-to-top-fade-out, .btn-back-to-top.back-to-top-is-visible, .no-touch .btn-back-to-top:hover { - -webkit-transition: opacity 0.3s 0s, visibility 0s 0s; - -moz-transition: opacity 0.3s 0s, visibility 0s 0s; - transition: opacity 0.3s 0s, visibility 0s 0s -} - -.btn-back-to-top.back-to-top-is-visible { - visibility: visible; - opacity: 1; - z-index: 999; -} - -.btn-back-to-top.back-to-top-fade-out { - opacity: 0.8 -} - -.no-touch .btn-back-to-top:hover { - background-color: #e86256; - opacity: 1 -} - -@media only screen and (min-width: 768px) { - .btn-back-to-top { - right: 20px; - bottom: 20px - } -} - -@media only screen and (min-width: 1024px) { - .btn-back-to-top { - height: 30px; - width: 30px; - right: 30px; - bottom: 30px; - line-height: 30px - } -} - -/** 22. Menu Icons -*************************************************** **/ -.menu-icons { - margin: 7.5px; - padding: 0; - list-style-type: none -} - -.menu-icons > li { - width: 10%; - font-size: 12px; - float: left; - padding: 7.5px; - color: #333 -} - -.menu-icons > li .icon-name { - font-size: 12px; - color: #333; - margin-bottom: 0; - text-align: center; -} - -.menu-icons > li img { - max-width: 100%; - margin-bottom: 0; - padding: 15px; -} - -.menu-icons > li > a { - display: block; - margin-bottom: 10px -} - -.menu-icons > li .icon-name small { - display: block; - font-size: 11px; - color: #707478; - margin-top: 3px -} - -.text-ellipsis, .search_icon { - text-overflow: ellipsis !important; - overflow: hidden !important; - white-space: nowrap !important; -} - -@media (max-width: 576px) { - .menu-icons > li { - width: 25%; - } -} - -@media screen and (max-width: 768px) and (min-width: 576px) { - .menu-icons > li { - width: 20%; - } -} - -/** 23. Office Sidebar -*************************************************** **/ -.o365cs-base * { - -webkit-box-sizing: sm-content-box; - -moz-box-sizing: sm-content-box; - box-sizing: sm-content-box; - font-family: "Nunito", sans-serif; -} - -.o365cs-newALV2-on.o365cs-nav-navMenu, .o365cs-newALV3-on.o365cs-nav-navMenu { - border: 0; - overflow-y: auto; - outline: 0 -} - -.o365cs-newALV3-on.o365cs-nav-navMenu { - -webkit-box-shadow: 0 16px 24px 0 rgba(0, 0, 0, .1); - box-shadow: 0 16px 24px 0 rgba(0, 0, 0, .1); - top: 0 !important; - height: -webkit-calc(100vh); - height: -moz-calc(100vh); - height: calc(100vh); - overflow: hidden; - position: absolute; - box-sizing: border-box; - outline: 0; -} - -@media (max-width: 1023px) { - - .o365cs-newALV2-on.o365cs-nav-navMenu, .o365cs-newALV3-on.o365cs-nav-navMenu { - border-left: none; - -webkit-box-sizing: border-box !important; - -moz-box-sizing: border-box !important; - box-sizing: border-box !important; - left: auto !important; - right: 0 !important; - width: 320px; - max-width: none !important; - max-height: none !important - } -} - -@media (min-width: 1024px) { - - .o365cs-newALV2-on.o365cs-nav-navMenu, .o365cs-newALV3-on.o365cs-nav-navMenu { - border: 0; - -webkit-box-sizing: border-box !important; - -moz-box-sizing: border-box !important; - box-sizing: border-box !important; - position: absolute; - left: 0 !important; - right: auto !important; - margin: 0; - width: 320px; - min-width: 320px; - max-width: 320px; - max-height: none !important; - min-height: 100vh; - height: calc(100vh); - } -} - -.o365cs-newALV3-on.o365cs-nav-navMenu.slideInT { - -webkit-animation-duration: .25s; - -moz-animation-duration: .25s; - animation-duration: .25s; - -webkit-animation-fill-mode: both; - -moz-animation-fill-mode: both; - animation-fill-mode: both; - -webkit-animation-name: slideInTTransformFramesV3; - -moz-animation-name: slideInTTransformFramesV3; - animation-name: slideInTTransformFramesV3; - -webkit-animation-timing-function: cubic-bezier(.26, 1, .48, 1); - -moz-animation-timing-function: cubic-bezier(.26, 1, .48, 1); - animation-timing-function: cubic-bezier(.26, 1, .48, 1) -} - -@-webkit-keyframes slideInTTransformFramesV3 { - from { - opacity: 0; - -webkit-transform: scaleX(.93); - transform: scaleX(.93); - height: 65vh - } - to { - opacity: 1; - -webkit-transform: scaleX(1); - transform: scaleX(1); - height: -webkit-calc(100vh - 8px); - height: calc(100vh - 8px) - } -} - -@-moz-keyframes slideInTTransformFramesV3 { - from { - opacity: 0; - -moz-transform: scaleX(.93); - transform: scaleX(.93); - height: 65vh - } - to { - opacity: 1; - -moz-transform: scaleX(1); - transform: scaleX(1); - height: -moz-calc(100vh - 8px); - height: calc(100vh - 8px) - } -} - -@keyframes slideInTTransformFramesV3 { - from { - opacity: 0; - -webkit-transform: scaleX(.93); - -moz-transform: scaleX(.93); - transform: scaleX(.93); - height: 65vh - } - to { - opacity: 1; - -webkit-transform: scaleX(1); - -moz-transform: scaleX(1); - transform: scaleX(1); - height: -webkit-calc(100vh - 8px); - height: -moz-calc(100vh - 8px); - height: calc(100vh - 8px) - } -} - -.slideOuT { - z-index: -1; -} - -.slideInT { - z-index: 9999; -} - -.o365cs-newAL-on.o365cs-nav-navMenu.slideOutT, .o365cs-newALV2-on.o365cs-nav-navMenu.slideOutT, .o365cs-newAL-on .o365cs-nav-navMenuBeak.slideOutT { - -webkit-animation-duration: 1s; - -moz-animation-duration: 1s; - animation-duration: 1s; - -webkit-animation-name: slideOutTTransformFrames; - -moz-animation-name: slideOutTTransformFrames; - animation-name: slideOutTTransformFrames; - -webkit-animation-fill-mode: both; - -moz-animation-fill-mode: both; - animation-fill-mode: both -} - -@-webkit-keyframes slideOutTTransformFrames { - from { - opacity: 1; - -webkit-transform: translate(0, 0); - transform: translate(0, 0); - -webkit-animation-timing-function: cubic-bezier(.33, 0, .67, 1); - animation-timing-function: cubic-bezier(.33, 0, .67, 1) - } - to { - opacity: 0; - -webkit-transform: translate(0, -12px); - transform: translate(0, -12px) - } -} - -@-moz-keyframes slideOutTTransformFrames { - from { - opacity: 1; - -moz-transform: translate(0, 0); - transform: translate(0, 0); - -moz-animation-timing-function: cubic-bezier(.33, 0, .67, 1); - animation-timing-function: cubic-bezier(.33, 0, .67, 1) - } - to { - opacity: 0; - -moz-transform: translate(0, -12px); - transform: translate(0, -12px) - } -} - -@keyframes slideOutTTransformFrames { - from { - opacity: 1; - -webkit-transform: translate(0, 0); - -moz-transform: translate(0, 0); - transform: translate(0, 0); - -webkit-animation-timing-function: cubic-bezier(.33, 0, .67, 1); - -moz-animation-timing-function: cubic-bezier(.33, 0, .67, 1); - animation-timing-function: cubic-bezier(.33, 0, .67, 1) - } - to { - opacity: 0; - -webkit-transform: translate(0, -12px); - -moz-transform: translate(0, -12px); - transform: translate(0, -12px) - } -} - -.o365cs-newALV3-on.o365cs-nav-navMenu.slideOutT { - -webkit-animation-duration: .25s; - -moz-animation-duration: .25s; - animation-duration: .25s; - -webkit-animation-fill-mode: both; - -moz-animation-fill-mode: both; - animation-fill-mode: both; - -webkit-animation-name: slideOutTTransformFramesV3; - -moz-animation-name: slideOutTTransformFramesV3; - animation-name: slideOutTTransformFramesV3; - -webkit-animation-timing-function: cubic-bezier(.52, 0, .74, 0); - -moz-animation-timing-function: cubic-bezier(.52, 0, .74, 0); - animation-timing-function: cubic-bezier(.52, 0, .74, 0) -} - -@-webkit-keyframes slideOutTTransformFramesV3 { - from { - opacity: 1; - -webkit-transform: scale(1); - transform: scale(1); - height: -webkit-calc(100vh - 8px); - height: calc(100vh - 8px) - } - to { - opacity: 0; - -webkit-transform: scale(.93); - transform: scale(.93); - height: 65vh - } -} - -@-moz-keyframes slideOutTTransformFramesV3 { - from { - opacity: 1; - -moz-transform: scale(1); - transform: scale(1); - height: -moz-calc(100vh - 8px); - height: calc(100vh - 8px) - } - to { - opacity: 0; - -moz-transform: scale(.93); - transform: scale(.93); - height: 65vh - } -} - -@keyframes slideOutTTransformFramesV3 { - from { - opacity: 1; - -webkit-transform: scale(1); - -moz-transform: scale(1); - transform: scale(1); - height: -webkit-calc(100vh - 8px); - height: -moz-calc(100vh - 8px); - height: calc(100vh - 8px) - } - to { - opacity: 0; - -webkit-transform: scale(.93); - -moz-transform: scale(.93); - transform: scale(.93); - height: 65vh - } -} - -.o365cs-nav-navMenuContent { - background-image: url('../images/svg/header.svg'); - background-repeat: repeat-x; -} - -.o365cs-newALV2-on .o365cs-nav-navMenuContent { - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; - background-color: #333; - height: -webkit-calc(100vh - 50px); - height: -moz-calc(100vh - 50px); - height: calc(100vh - 50px); -} - -.o365cs-newALV3-on .o365cs-nav-navMenuContent { - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; - background-color: #fff; - height: -webkit-calc(100vh); - height: -moz-calc(100vh); - height: calc(100vh) -} - -.o365cs-newALV2-on .o365cs-nav-navMenuContent { - padding-top: 36px -} - -.o365cs-nav-closeButton { - display: block; - vertical-align: middle; - background-clip: sm-content-box !important; - background-color: transparent !important; - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; - border-width: 0; - margin: 0; - padding: 5px 0 0 5px !important; - min-width: 45px; - height: 45px !important; - text-align: center; - line-height: normal; - cursor: pointer; - -webkit-transition: background-color .083s linear; - -moz-transition: background-color .083s linear; - transition: background-color .083s linear -} - -.o365cs-nav-closeButton:hover { - /*background-color: #dbdad7 !important;*/ - -webkit-transition: background-color .167s linear; - -moz-transition: background-color .167s linear; - transition: background-color .167s linear; - outline: none; -} - -.o365cs-nav-closeButton:active { - /*background-color: #b9b7b5 !important*/ - outline: none; -} - -.o365button { - font-family: inherit; - background: transparent; - border-width: 0; - padding: 0; - cursor: pointer !important; - font-size: 14px; -} - -.popupShadow { - box-shadow: 0 0 20px rgba(0, 0, 0, .4) !important; - border: 1px solid #eaeaea !important; -} - -.o365cs-newALV2-on .o365cs-nav-hasAllAppsLink .o365cs-nav-navMenuTabContainer, .o365cs-newALV2-on .o365cs-nav-hasGetMoreAppsLink .o365cs-nav-navMenuTabContainer { - height: -webkit-calc(100vh - 188px); - height: -moz-calc(100vh - 188px); - height: calc(100vh - 188px) -} - -.o365cs-newALV3-on .o365cs-nav-pinnedTab.slideInT { - -webkit-animation-duration: .25s; - -moz-animation-duration: .25s; - animation-duration: .25s; - -webkit-animation-name: o365cs-nav-pinnedTab-slideInT; - -moz-animation-name: o365cs-nav-pinnedTab-slideInT; - animation-name: o365cs-nav-pinnedTab-slideInT; - -webkit-animation-timing-function: cubic-bezier(.26, 1, .48, 1); - -moz-animation-timing-function: cubic-bezier(.26, 1, .48, 1); - animation-timing-function: cubic-bezier(.26, 1, .48, 1) -} - -@-webkit-keyframes o365cs-nav-pinnedTab-slideInT { - from { - visibility: hidden; - opacity: 0; - margin-left: -30px - } - to { - visibility: visible; - opacity: 1; - margin-left: 0 - } -} - -@-moz-keyframes o365cs-nav-pinnedTab-slideInT { - from { - visibility: hidden; - opacity: 0; - margin-left: -30px - } - to { - visibility: visible; - opacity: 1; - margin-left: 0 - } -} - -@keyframes o365cs-nav-pinnedTab-slideInT { - from { - visibility: hidden; - opacity: 0; - margin-left: -30px - } - to { - visibility: visible; - opacity: 1; - margin-left: 0 - } -} - -.o365cs-newALV2-on .o365cs-nav-navMenuTabContainer { - padding-left: 24px; - height: -webkit-calc(100vh - 160px); - height: -moz-calc(100vh - 160px); - height: calc(100vh - 160px) -} - -.o365cs-newALV3-on .o365cs-nav-navMenuTabContainer { - height: -webkit-calc(100vh - 50px); - height: -moz-calc(100vh - 50px); - height: calc(100vh - 50px) -} - -.o365cs-newALV2-on .o365cs-nav-hasAllAppsLink.o365cs-nav-hasGetMoreAppsLink .o365cs-nav-navMenuTabContainer { - height: -webkit-calc(100vh - 216px); - height: -moz-calc(100vh - 216px); - height: calc(100vh - 216px) -} - -.o365cs-newALV2-on .o365cs-nav-scrollbar, .o365cs-newALV3-on .o365cs-nav-scrollbar { - overflow-y: auto; - -webkit-overflow-scrolling: touch -} - -.o365cs-newALV2-on .o365cs-nav-scrollbar:not(:-webkit-any-link), .o365cs-newALV3-on .o365cs-nav-scrollbar:not(:-webkit-any-link) { - margin-right: 6px -} - -.o365cs-newALV2-on .o365cs-nav-scrollbar::-webkit-scrollbar, .o365cs-newALV3-on .o365cs-nav-scrollbar::-webkit-scrollbar { - width: 6px -} - -.o365cs-newALV2-on .o365cs-nav-scrollbar::-webkit-scrollbar-button, .o365cs-newALV3-on .o365cs-nav-scrollbar::-webkit-scrollbar-button, .o365cs-newALV2-on .o365cs-nav-scrollbar::-webkit-scrollbar-track, .o365cs-newALV3-on .o365cs-nav-scrollbar::-webkit-scrollbar-track, .o365cs-newALV2-on .o365cs-nav-scrollbar::-webkit-scrollbar-corner, .o365cs-newALV3-on .o365cs-nav-scrollbar::-webkit-scrollbar-corner { - background-color: transparent -} - -.o365cs-newALV2-on .o365cs-nav-scrollbar::-webkit-scrollbar-button, .o365cs-newALV3-on .o365cs-nav-scrollbar::-webkit-scrollbar-button { - background-repeat: no-repeat; - cursor: pointer -} - -.o365cs-newALV2-on .o365cs-nav-scrollbar::-webkit-scrollbar-button:vertical, .o365cs-newALV3-on .o365cs-nav-scrollbar::-webkit-scrollbar-button:vertical { - background-position: center; - width: 18px; - height: 18px -} - -.o365cs-newALV2-on .o365cs-nav-scrollbar::-webkit-scrollbar-button:vertical:increment, .o365cs-newALV3-on .o365cs-nav-scrollbar::-webkit-scrollbar-button:vertical:increment { - background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAAAUUlEQVQ4T6XLMQ6AMAwEwfz/bXRIfOeQCxckK8iKYgqvfCPJLxgNjAZGA6OB0VjCcV55M/8/jkbDMv+VJbSdccHYvsYFo4HRwGhgNDAaGPdl3LNlBnofQ4+bAAAAAElFTkSuQmCC) -} - -.o365cs-newALV2-on .o365cs-nav-scrollbar::-webkit-scrollbar-button:vertical:decrement, .o365cs-newALV3-on .o365cs-nav-scrollbar::-webkit-scrollbar-button:vertical:decrement { - background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAAAVUlEQVQ4T6XMMQoAIQxEUe9/NrsFrzOSIqDxgzu7xSv8ZGySfsHowOjA6MDowOjAmPozFGpfYQw5vn2CsY5TvQtHoOGq3m+PLzA6MDowOjA6ML6nNgFW+wZ6kTk6FAAAAABJRU5ErkJggg==) -} - -.o365cs-newALV2-on .o365cs-nav-scrollbar::-webkit-scrollbar-button:vertical:increment:hover, .o365cs-newALV3-on .o365cs-nav-scrollbar::-webkit-scrollbar-button:vertical:increment:hover { - background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAAAUklEQVQ4T6XLsQ2AMAwF0ey/A1swAnt95MIFyQlyoniFT/4jyS8YDYwGRgOjgdFYwnFeeTP/P45GwzL/lSW0nXHB2L7GBaOB0cBoYDQwGhj3Zdx8sf7rjOGQqwAAAABJRU5ErkJggg==) -} - -.o365cs-newALV2-on .o365cs-nav-scrollbar::-webkit-scrollbar-button:vertical:decrement:hover, .o365cs-newALV3-on .o365cs-nav-scrollbar::-webkit-scrollbar-button:vertical:decrement:hover { - background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAAAVklEQVQ4T6XMwQ3AIAwEQfrvgS5SAn0d8sMSmJXIJY95sPLRJP2C0YHRgdGB0YHRgTH1ZyjUvsIYcnz7BGMdp3oXjkDDVb3fHl9gdGB0YHRgdGB8T20CB+X+675uLU0AAAAASUVORK5CYII=) -} - -.o365cs-newALV2-on .o365cs-nav-scrollbar::-webkit-scrollbar-thumb { - border: none; - background-color: rgba(255, 255, 255, .85) -} - -.o365cs-newALV3-on .o365cs-nav-scrollbar::-webkit-scrollbar-thumb { - border: none; - background-color: #ccd3d6 -} - -.o365cs-newALV2-on .o365cs-nav-scrollbar::-webkit-scrollbar-thumb:vertical, .o365cs-newALV3-on .o365cs-nav-scrollbar::-webkit-scrollbar-thumb:vertical { - min-height: 50px -} - -.o365cs-newALV2-on .o365cs-nav-scrollbar::-webkit-scrollbar-thumb:hover { - background-color: #fff -} - -.o365cs-newALV3-on .o365cs-nav-scrollbar::-webkit-scrollbar-thumb:hover { - background-color: #9db4c4 -} - -.o365cs-nav-placesLinks { - position: absolute; - top: 15px; - left: 202px -} - -.o365cs-nav-fluentLink { - background-color: transparent !important; - min-width: 0; - height: auto !important; - text-decoration: none !important -} - -.o365cs-nav-fluentLink :not(.owaimg) { - border-bottom: 1px solid transparent; - padding-bottom: 1px; - -webkit-transition: border-bottom-color .083s linear; - -moz-transition: border-bottom-color .083s linear; - transition: border-bottom-color .083s linear -} - -.o365cs-nav-fluentLink:hover :not(.owaimg) { - border-bottom-color: currentColor -} - -.o365cs-nav-placesLink { - font-size: 14px !important; - text-decoration: none !important -} - -.o365cs-nav-placesLink .owaimg { - margin-top: -4px; - margin-left: 12px; - vertical-align: middle -} - -.o365cs-nav-moduleLabel { - display: block; - font-size: 22px !important; - margin: 30px 0 20px 18px; - letter-spacing: .01px -} - -.o365cs-newALV3-on .o365cs-nav-appsModuleTiles { - margin-left: 8px -} - -.o365cs-clear { - clear: both -} - -.o365cs-nav-appsModuleMore { - display: block; - position: relative; - font-size: 14px !important; - border: 0; - margin: 12px 0 35px 20px !important; - padding: 0; - text-align: left; - cursor: pointer -} - -.o365cs-nav-appsModuleMore .owaimg { - margin-top: -2px; - margin-left: 12px; - vertical-align: middle -} - -.o365button:hover, .o365button:active, .o365button:focus { - background: transparent; - border-width: 0; - padding: 0; - cursor: pointer !important; - font-size: 14px; -} - -.more_icons:before { - display: inline-block; - -webkit-transform: rotate(90deg); /* Safari and Chrome */ - -moz-transform: rotate(90deg); /* Firefox */ - -ms-transform: rotate(90deg); /* IE 9 */ - -o-transform: rotate(90deg); /* Opera */ - transform: rotate(90deg); - margin-left: 10px; -} - -.o365cs-nav-appItem { - float: left -} - -.o365cs-nav-listView { - padding-left: 0 !important -} - -.o365cs-nav-listView .o365cs-nav-appItem { - float: none -} - -.o365cs-nav-appItemGroup { - width: 92px; - height: 92px -} - -.o365cs-nav-appTile { - display: block; - text-align: center; - line-height: normal; - position: relative; - text-decoration: none !important; - -webkit-touch-callout: none; - -webkit-user-select: none; - -moz-user-select: -moz-none; - -ms-user-select: none; - user-select: none -} - -.o365cs-newALV3-on .o365cs-nav-appTile { - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; - border: 1px solid transparent; - margin: 0; - text-align: left; - -webkit-transition: border-color .083s linear, -webkit-box-shadow .083s linear; - -moz-transition: border-color .083s linear, box-shadow .083s linear; - transition: border-color .083s linear, box-shadow .083s linear -} - -.o365cs-newALV3-on .o365cs-nav-appTileHovered, .o365cs-newALV3-on .o365cs-nav-appTileMenuShown { - border-color: #f4f4f4; - -webkit-box-shadow: 0 8px 16px 0 rgba(0, 0, 0, .1); - box-shadow: 0 8px 16px 0 rgba(0, 0, 0, .1); - -webkit-transition: border-color .167s linear, -webkit-box-shadow .167s linear; - -moz-transition: border-color .167s linear, box-shadow .167s linear; - transition: border-color .167s linear, box-shadow .167s linear -} - -.o365cs-newALV3-on .o365cs-nav-appTile:active { - border-color: #f4f4f4; - -webkit-box-shadow: 0 1px 2px 0 rgba(0, 0, 0, .1); - box-shadow: 0 1px 2px 0 rgba(0, 0, 0, .1) -} - -.o365cs-newALV3-on .o365cs-nav-appTileBackground { - background-color: transparent !important -} - -.o365cs-newALV3-on .o365cs-nav-appTileDisabled .o365cs-nav-appTileBackground { - color: #a6a6a6 -} - -.o365cs-newALV3-on .o365cs-nav-appTileMedium { - width: 145px; - height: 48px -} - -.o365cs-newALV3-on .o365cs-nav-appTileIcon { - color: inherit !important -} - -.o365cs-newALV3-on .o365cs-nav-appTileMedium .o365cs-nav-appTileIcon { - font-size: 26px !important; - margin-top: 12px; - margin-left: 10px; - -webkit-transition: color .167s linear; - -moz-transition: color .167s linear; - transition: color .167s linear -} - -.o365cs-newALV3-on .o365cs-nav-appTileMedium .o365cs-nav-appTileImage { - width: 28px; - height: 28px; - margin-top: 10px; - margin-left: 8px -} - -.o365cs-newALV3-on .o365cs-nav-appTileLoading .o365cs-nav-appTileImage { - display: inline-block; - background-color: #f6f6f6; -} - -.o365cs-newALV3-on .o365cs-nav-appTileTitle { - display: block; - position: absolute; - left: 47px; - top: 15px; - color: inherit !important; - -webkit-transition: color .083s linear; - -moz-transition: color .083s linear; - transition: color .083s linear -} - -.o365cs-newALV3-on .o365cs-nav-appTile:not(.o365cs-nav-appTileDisabled):not(.o365cs-nav-appTileHovered):not(:focus):not(.o365cs-nav-appTileMenuShown) .o365cs-nav-appTileIcon { - -webkit-transition: color .167s linear; - -moz-transition: color .167s linear; - transition: color .167s linear -} - -.o365cs-newALV3-on .o365cs-nav-appTile:not(.o365cs-nav-appTileDisabled):not(.o365cs-nav-appTileHovered):not(:focus):not(.o365cs-nav-appTileMenuShown) .o365cs-nav-appTileTitle { - color: #212121 !important; - -webkit-transition: color .167s linear; - -moz-transition: color .167s linear; - transition: color .167s linear -} - -.o365cs-newALV3-on .o365cs-nav-appTileMedium .o365cs-nav-appTileTitle { - width: -webkit-calc(100% - 45px); - width: -moz-calc(100% - 45px); - width: calc(100% - 45px) -} - -.o365cs-newALV3-on .o365cs-nav-appTileLoading .o365cs-nav-appTileTitle { - background-color: #f6f6f6; - width: 56px; - height: 15px -} - -.o365cs-newALV3-on .o365cs-nav-appTileTitle > span { - font-size: 14px; - white-space: nowrap; - text-align: left; - letter-spacing: .01px -} - -.o365cs-nav-appTileBackground { - width: 100%; - height: 100% -} - -.o365cs-newAL-on .o365cs-nav-appTileBackground { - margin: 0 2px 2px 0; - padding: 2px -} - -.o365cs-newAL-on .o365cs-nav-appTileHovered .o365cs-nav-appTileBackground, .o365cs-newAL-on .o365cs-nav-appTile:focus .o365cs-nav-appTileBackground, .o365cs-newAL-on .o365cs-nav-appTileMenuShown .o365cs-nav-appTileBackground { - border: 2px solid rgba(255, 255, 255, .45); - padding: 0 -} - -.o365cs-newALV2-on .o365cs-nav-appTile:not(.o365cs-nav-appTileDisabled):not(.o365cs-nav-appTileHovered):not(:focus):not(.o365cs-nav-appTileMenuShown) .o365cs-nav-appTileBackground { - background-color: rgba(255, 255, 255, .09) !important -} - -.o365cs-newALV2-on .o365cs-nav-listView .o365cs-nav-appTileBackground { - width: 48px; - height: 48px; - position: relative -} - -@font-face { - font-family: 'ShellFabricMDL2Icons'; - src: url(data:application/font-woff;base64,d09GRgABAAAAADYkAA4AAAAAVowAAnhTAAAAAAAAAAAAAAAAAAAAAAAAAABPUy8yAAABRAAAAEgAAABgMUZ8dmNtYXAAAAGMAAABUwAAAyrjJc3mY3Z0IAAAAuAAAAAgAAAAKgnZCa9mcGdtAAADAAAAAPAAAAFZ/J7mjmdhc3AAAAPwAAAADAAAAAwACAAbZ2x5ZgAAA/wAACwbAABDWM93QTpoZWFkAAAwGAAAADMAAAA2JJtD/WhoZWEAADBMAAAAGgAAACQ3zjBJaG10eAAAMGgAAABrAAABJGWqJBRsb2NhAAAw1AAAAJYAAACWHWIM3G1heHAAADFsAAAAHgAAACAA2ANgbmFtZQAAMYwAAAP2AAAJ+o2Z8E5wb3N0AAA1hAAAABQAAAAg/1EAwXByZXAAADWYAAAAiQAAANN4vfIOeJxjYOFoYJzAwMrAwDqL1ZiBgVEaQjNfZEhjEuJgZeViZGIEAwYgEGBAAN9gBQUGh+cMX/ZwgPkQkgGsjgXCU2BgAADaCghkeJxjYGBgZoBgGQZGIMnApALkMYL5LEwcQLqOwYGBlcHuOcNzoefCz8WeKz7Xfp7zPO959fP2F9Nf7H7J8NLxZdEruVfWrwJfNbzqfzXtdc7r/LeSb7PeFr6tflvztvPt8ben3555e/bt+bcX3x1/X/qh78PED38+Gny89/Hxx6cfn398+fH1p+pPdZ8aPjV9Wv5pz2fNLyZf6r40fWn70vNl2pdNX/b8/8/AgGS/1vNsqP3ToPYXotif/TqPavZP+rIRZL8ko8QnifcSXyVeS9yWmCMxVaJPok28QjxUnEvsgthC0d+it0WPic4QbRWtF1kvsk6YVWin0EahZUJLhKYJxQlFC0UIRQlFCkUIJgts45/PP5vfiO8/XxAQ+vB5A6EH727enbw7eLfzTuat5xXm4eQ+wL2Xexf3Vu4N3NO4eyHxMpCAkW2gXTDwAAC4KN4bAHicY9BiCGUoYGhgWMXIwNjA7MB4gMEBiwgQAACqHAeVeJxdj79Ow0AMxnMktIQnQDohnXUqQ5WInemGSyTUJSUM56WA1Eqk74CUhcUDz+JuGfNiCMwR/i62v8/6fL9zp/nJfHacpUcqKVacN+Gg1AsO6u2Z/fkhT+82ZWFM1XlW92XBagmia04X9U2waMjQ9ZZMbR4ftpwtYpfFjvDScNKGTuptAHaov8cd4lU8ksUjhBLfT/F9jEv6tSxWhtOLJqwD916z86gBTMVjE3j0GhB/yKQ/dWcT42w5ZdvATnOCRJ/KAvdEmoT7S49/9aCS/4b7bci/q0H1Tdz0FvSHYcGCsKGXZ9tQCRpg+Q6E/GTGAAEAAgAIAAr//wAPeJytfAd8G8eV985WkCABLhYdBEC0RSEJFhAAO0FSFCmxiaIKi6pVbBXLRZZkWbK1iq1my01ukYusuCguSc6WyzkuMXLfJU6xE5eL7bv4ck7OvsR3vovtnBNJxK6+N7sARVH25bvf7wO4mLIzs1PevPd/b96SIIkTBEHfwGwnKIIjiDTv40M+3neC+k3uefJ5eT7BbD9z4530EAEfiiCQpCNYqEAUEQYiSryk5lIEXfkCQZR9nygl2P/+PlFMUPCrU+MMxGvrkC/ps/DTPzriFHHuYiRJyhGSRKI9e6BllmC5M9wZIk1sJQ4Q98EzzVaLmbUwVIjlBIbyswG/GKBCghiGrAYx2ZBKhgQmlYas+lSi3pqAQlZbSEDtKNkghtNhJo7CQpiLo4Cf5cKcYEBciLMZkMVstXG2kAfZKFvagxL1qbQtTbWjNJNG9R7SYjaQAX+cTDa0k0J9O4RxSBsg30Oyf0EIUQ8q79mdc5S93yoyFcHft5S9c5x25b0HEYWQIj+IonAX7SncRXvgLoo+qBwkaZr8dInyubdT7HjzTlutzV5jv+PNDjFToXy+5FPtLjJeeBcZl+SODB1a39Ky/tBQIUyv6otG+1al8yEd/N91Rp45EOWf4VnwxOnHfXp+V2fevaCr5MaZ3cKhLM3omBoCPcBHB19CIMJEN7GS2AYrnJ/lRH7WfbPSqJ72kCaLmTSQdMAfjJNw19ROBmFVaFgVyDPQsCo0XqW0zUDhVQunPRQpueIBszkQd+VD8uNZGcq6mxH70Uv75s3b99JHypmbb1bOFFKIuWXXx689si2T2fbIax/vOhf/aPe8Q9tX+rZGr77zycllT9x5dXSrb+X2g7Q0o92vDCnpK5+S78EpSWv8wociKTJ/Y2fzyA3L6uuX3TDS3LlxfkTbjxIlcRItqXPZAvM4i2p9fyWNiFndpGb3+4KMvz7K2SF0C/o6Cnv6u3jZi1AYcwOU5s7kRico4dQZjs395wRNqCmJEiagPEuM6gitPPIhrgjZkA+YxRm4mxulvjuR+0+OpbJQjfqumoJi6FGCYmROxhQWggpFiHk4R1LKRG4F9RBFyZQ8kVueW47nDZHAs9jJ6bLpIsihHsqtmKCUHLmceph6eCJH5ShcliQkguCA6xGVRAdUxXQYaCDFoEpzASBDlI5T5xErsIfEDHbB1B/89dGF0rZfKL9/ZNOPn7xpTUpadO+vDwztXlqz9nuf7Nv3yffW1izdlds7ctOLGze+eNNIIaQGax7/jXLq1keQ4xfbUmtuevLHm25D3AeP1cWuvuPbY7garj524shOsmhmPQjVLabyamDpRkIkYkScqCdSRDPRDvk8JgF1jwG3twV4M+aoOI577sNdxyuEOXXhiyCFLx0R7VnRcPp0YrI7wgHLFp1O8Qwh+KocLIfXWpGmYE4VmLXCJUuyREoKdEaRWCInJZf3RCPdkwn6wFlCkjNOUXRS2anTjiqfgAkGSDonqR+odr0so+s1OickdQ3mEhPEFrwKFEx9gRuz3MxkAJYiHUfailhteHnQueVh0SxGPnu12LWdG+ZHpLZLDg8PH76kbXTeeUnYiBs6543i5OQjKXF7vxZXS06907CiJ4rnB48x2rOcTMJPcmYm0+9bvePQPFw838R56XmHdqz2pR6Z1B7cv13Mx7WyubOzm6OJ/JMKuSq9FvhrACQo5gjAGQ3AIcUwUpe5IY3UCaFnizQms/rZ+/diFrP3/mdXX/vxqtwfBVhegSobXqTl7Xj7/snJ+9/ekQ91hJatVVs0nPtMAHoQKH7Vx9dqeVPEjOJqSPDQPUntH8YbeqBOgbARLsIL/Q3DHqshEtDvbmKYGIXeJyyBwhWCi8mHob+SRjym3oQFXwyOWwJJfOF8ICYJSdqlzLjov5JmpVNAxBJNSGeg40C8AFlY4jSQO5Aq8OGv+eAieKfA5ywwNhyeIWhpSsJrhWCMbLU6FyXAiaCPAnAjxCd4hKAD1fId8h0T6B0JvQMVqXfkW8grJ5QY8/iZpehdtT60wmpzWQf1YeSCtt6sGwVgjdnkjF1B4z5mhu+QNvZHq/qWrVrWVyXlw96dDy9f/vDOXinav1G6Q4L1USPDiw5esWpifO1VfdksRFdOTEAUl8PltYZU3q7Rmx7zdmDVYZWh2ujbqctuz8EXQvUHksDkZyZzuIhKs6UqrtwIFLBK293THArv5nYqndL2srqJQwYKIzdNiKXS5+1wWzulBiLLxSk8co7rrppb5/Sk5lVO/axn43yxemBtIx2bs7ypLrHinkTFkmDXhv7I1JrOTYOVBuP1qTX9VQsWC5VmhBomd/cJVZVRvnzBqi0ti+7dOVwUGKxwzF04UT1y+7ZFAtVEia1Dsehwuxgd2DynZUVXkGzatLTDULJkyCTEF2zJfNfQMnblnNiicHxgTWryYECnJ4tNxXP3rGpk9GX6xKJWX+um2xYhvRBuiZgbVn4Dg2xEOEgH93t2J4bZRSRMJsdtyR3JHdlJ/Z76/U7SQW1R4znHTlwWHeB+z/xeLavOOoIpduyktlBbdubgJtTIHVHjKl6AxZI4kGaw26pU7mDxFdAAbBUeaCSB6YcP8AW64VV+6QP2wAE7j8xdnkwunxtRCCk+uu2WR8bGHrll22hcKogeUsUTZwmMtAgJl8Q1JIrQyml1ZKDWgrySCbVwHiewmDdwEvcnIkRkiDlEHzFALJglrwoL7UYJQPVi2EPZfAkgAUwbgPw43zTJY3mFv0w+5CRbNOU5/ZgnFbWRpXN2HJuYOLZjzjdJo8FY09AXt1I58n7aU2Fv9FZGq1qCPIW+mZzY2dOzcyKJShUJCzAkgVDLx1hiyoybwo3Sn2ZwW7jNTLzfc9FiS2bxJa192+NGk1BS2b4wkcGt4NZyWQV4hYJZCg7welcQFdyH3IfAAwmhsAIqx47TFb17n/tAOXRI+eC5vb0z4zRxYZ4av4AnBCwJSkPHwBMSMDnstDBMAHIGdvb/nydgOiNYLK9FopboLUghlgOVa8Zagm5WkESpNuSDPZ1A6kqek0pWG1bOsquffUBaVr9l/ei4p2Fu5CzQYYNnfHT9lvpl0gPP/tYpKgBEUHfpxonR8YKgGR+d2FiKJRSUWH37qXULf7Zdq4dbQMT2ny1cd+p2rd1TUDubdYpI2vv25KLXzsmr1xZNvr0XhgIoEVWoWKoORrMc9NJDeayNR8Ml26mkumF86o6BvdKCLAFtiDDVSKXW/D5rQxh2F6pOF2IuyLmwDPth64ah6kjP8pSrJiA4qpp9ZzK+5ioHjlVU4HvVQxtaUcUsDI4m/9cZHIFbkonGiwbqWIktjzW4KaLwKFmNSbgEReCnTn2Iq2YLbagRpGoJ8nQmmcExNVPJFDLRjKK56aKUeh/wvERk2CyXJYoxb+NRiGfgh6IupUZzGXUrupU/n2B6lXeVfvn999jH9595EaV3o+NYLmYAs8eA/rqIy7H9gOQMDBBfYFqgYEFCY9pKYyZCqnQIkoTBUgY4itUcyoN5qMXZEsBXNKUSU2tapVH4oz+tqbFV1rUu2NhbfVFD48KUq2HR5kauRMf4qxtqxCKDy0A7GxwHvxMsFUDHtorp+csaq5eE+zb1hUiE/mItN7KZ1VfUBhamqIliR6yzrsjp9pbibHe8qbHOWH3JfHe3n08zc+9S/uXW3huvv2bLmqjTG+oaT3bftv/yAM2UWhw2gWY5RmeOWLch+1Od3+iCx9ZcvGZ8TsRlix381veGDeUXmT2iaeRvnri3rarHxM3ZecWGRJFVKHWEYnzgykN3HLoquPGNMX+H22DH/CgLc5eBuSvBnJdBDI+/acRwGfnnU8/THTLMPkX3kUlu/emxH6C772FevStne4L+BUL33TsDf9ZgzQl5kKZwimF1/mk8zzPRucbuMCynZzAnOg/J6QI4xWuVhwV+nMuqvIHinguJE/e9taP/ts7YaGzfn9996toejvuKvFxfy9WXruiJtK/7xoG969r9qTn+9kUt0VDMa6/ym2uH1qxfHVz02P7RSP+mroFvDtiqfObKrqHAnPG2aLgmWNdjMwU377qeGu+8rX/HW/dNiCGO67n2qXf/vA8e8RV5isUUah29tGdsx3CN1+5LVEaSPoMzXB12ljrDzprB1mq3IbTowJq+jYMJ3hwys2ZPxBVriwgVdU11Fa2JihZncm7MRGBLG0HcB7xnHdEJ2Og64v6Cls9yxYiapko8m3jO0kDMFKbpwgxbUKIdOBRCKvuFfaDqACoVYyGAtH2gTSxsg3CcgRWaYUegw6qFDfYGzVrDbl7H7v7j1RVzVl6/ytWeDBidQTNfwXctTIm2oaNDG0ocxazJE7WFmkvQRoYLJlrbmqqcfCXVbBFMUbN9YPKiZcMOzppZs+OyMRPLcxbRXSY/6pzccvXmJVbBwpeHLXwJxVLCkkuvWtluI//THHAYS+1ek/WSG26/dqwYlXOOicuuvmIltxTKWo1ug/KO/B3lrQU3rEzSQjRkDriMVM3AqvpX0PZXEHK3uMvMtqjHFAug3KX8qhuOHb97Wy/yVypvWuOlJebiErEyFrDQxYauRcsWNHEkWVYu5p5wxhoa4oaSWosVukcjmixpHli6IFNWTKPL+PKQUBbyAk8pEZwCIlGxgSy2mnkQNkUI4wL4foVuQyANhfCqKp2Pq+mZcQkRhe9ZIkecS03NiDMSvlu4FOLrUyq2PgSYagdgvhhIrrzUCmBTqCZfkYiNoqGUJnNZLpyXWUBKCU1WI0ET17DdsIWUMbMWtqAzh2F/s//hTojW03xvlbshbNUXKX/xRcWMWXmMsYYb3NV9ZX9vFRNu+mNXbchBfY7j8gb5P4LKSVztFdoh1jjdKTO6GCFbpKEctyGgIj7ISbio8pdoLW5GCJQpv7CIFU+beFwiEUPot7i+/Jjgq3bJl+A4NjfgOiiLnFUVJrvlBQQUkAhbrWKDW/SiRLEey4YYYJNfAX+qAumQ1zXoAIU0EZBMgLKBLcPqCIElibNskzTTsuKeTc2D+59/61+vOKa8b/GbShEqM5tZna5t851Lx587cdumtpXyjrrRtkD/znv66xa1+QOtIyvW6wjDwmsfWrn1w9ce39Ujr6a+2bm/p3phDBVX1sT03o6K8VvXptIXHTj29LKNT8v7PY0j9YO3Xz7H0zRSn1g73p/2YhySIbq5P3CvgEysJpqINqIfSzdYpCR0juHCWFhxYRaSedU+mUjbOCzmbJzVElLtPIEk3vkgTkPIxltxOZUCGBDDNU4seslLOv6BD1nnvy+1dvTtWZFOr9jTxwx/7nLV216+9tulU/8w0F1qLwVqvU7uwIos2nRX/4G1Ld/Y2bW/myacNaAAmP3xKz4vd9ZZstc9ZnwbN9C3Z2X6/Wczb/BRW997e1s6n+5rRlOweX70xqn9r6GbTKiCtGUuH7tG0tOFcX6UH2cSRtr5vxonRMIgobUxpr0kxTF7AFo4nXh06zrehtHNe1dqbe+7bkUqteI6GN1nLled7aXdJ0qnOnlRuEcQefl9dWzm/ZF3qu7/8Bh11hn3mxWYoy2flTtrra9e+23jW6mV1/X1Xrci/d7Jjtf5iK333T0tnacWPLCAHH5gGE2pI7tP9yD3RDGpFKv6FwjHMVbiTgChMkSRimsYvojkEbVZuRM/j/xMLqMH6S1T/84wVfL35J3UJ+hy9KX8t4CpAdOwWaBbjjAQ1rzNnPcJmCxBx1G3KpXFZkFSknAgSzKwCmwjxBoXDklJVtPqbQK3BFoW9w/cy0QZYQadC1sHe4gl+bkGkc3nhQSeSHw+UjAYsRxwscBMA2HSV2+1CNiciPlKwlYoagnATiJPm2J9KVPQZA6bEz0xXu5V57ax6cqmJTvm+5zdW8fadrUyHynuneglpadwkQnefrX85RexeemKn0Vi81IVFal5sZ/CD+2oWjmUAAylILK6b4x88o1TB19Du2j94DV3zxu49bJuI6MsUdzk5MjVIzsX7LTxMiU/Sk4u8Kbnxb7AjeDGfop/QL72wUS8oEMQ0wHmqYTR40MwJsT7YHl8KGV1Iw7vnBqEYJuwqjQMIWzzTVOP/6vSKB9F7ysR+kX8S95Ds5U0yVFDuQVsce5UqckAi089QZd77UXUgt9O/ZKqG+3I/Sv9Enrr9FU6ArE0+QnJUAtyy1jyEtJUojeQl1AP0C6vi+JUKMUg0NPZn8K6F4MkqSFaVX3Kg7yoBlhWOBWG+TaiQBrbPWwsYsKCLc1gfJrCK+dFDFILMOE4hcKA43hYSyZNe6xlZHFtEak3GA74kmEbJIpJb6I3JhgFqnGq9u8Wds9DF5eQgVD7SM1Qk58sQW3yPwebKx0QW11C2qtaUKeipO9FNUoa/VThbnY1+V9Az9ljZnO1LZL2Pv1MtDfpoYVTd01cxrzQOc5+VjtSkfI3L6j+kkHHnFWt/v9iv/C3VTtzr/Q9KZ9tQ9+aL9/b9lgvkadLWBNOgV3iAA6whNhIHCaeKtg4qFmnGMzsUw1sAAIUD6zdlzcfaVYhTMChWUdLTH0BXNp8cSp8riADoJ/lfGrlGfUBU1HvyvLV6Bbyv7d9Ge2M28sTfZWRzrijPNEr/zw+kHQ7a3sq4/0pt6O2B6Fil8tRZCkX9AxbUszmfsUWlbKMXii3FDlczuLSQE1LMNRSE5DdVb2Jcke8M1oJoT3eSU/pnC67Luwp4nQ0SSrNXElwXg8nWMy6Yn9tmyi21/in/hhtjjqLLHqlARWVlHKMnneaOYfLAUVq2sVQe62/qKySBgZ4tXIF+adtuSWBpj4xOtQh+pt6xehwRzgRm7O4MjLUFop1L4KwXVScuuJSWu/whqzOodFhV/nQwiGXVaxwFtN6PeescMLf9nD7cFTsa/RDGBHnNfrNnF5PmVojvjlz5/rartm42EEVcazD64A/Gx+p74wtX+Hum9frNgc8sA2gIe0enz9fwTYfCdbaQBBCCLSNENb3wjzieAmp1hZFooGFyYSkEBKVyWYVIptlQQ3JEYqUIT9ERAarfdBCNs8jg6CpN8POXqIhHpuHgbVGNAdMSwxqRgdYU0DDqm4hwArDXuLr1ZODMCw8Dyp9g4hjVLYsHo+VzLlt/47xhvXfV3IPSMcU+fvrG8Z37L+1pyQWr67p2C9dubR+4d2/ul6qXT2xwDf/e2v77j58TaVzTiQ0uf7S1PW/unuhUV+/9/aj83SEudxTnDz80DMvvTJxXHlmHafIiOLWPaMcn3jlpWceOpws9pSbs9W7b3/o8SdG9v3y9hGOeppyx9sDq5/ty13tbh5v7drVHO5pqKBz3+FGbvvl/kC6omkk6VTNsCyMllLtFDVEN7GU2EHcTHzrf7ZU2CxxqmCm8CKrxWxEKqsDLteBUl+Vx+CGcEYYaedeaQSsxgZAiqnvUI/cazCmhDoAL6E6Or96AjepmTLCPStS5TX+GaYMwV9TnlrRE1aNC6ddwiEB/lz5EDUWMpxaqDxRKtiKlP04Q9mHNdpSwVqEdglOl4CuKbIJpYrdJaw3BbU6NwpB08UC5Z3RpBoWrB3piwaxtcMdS5xn7XAnYm7Irhu8KJ23d9w9ow9O3ALyQuMzcm4Ufm60W824a7gjZqvdaHRAGl0jCMp+SDveh24FXLgkrukK8usF9PuZTcKfem6K7eIM1icIAcQRSKgcfBkgfFrzx8jr2gliE/GDgrZNf4W2Tc/WtlXxHFZtbVidzlvL1e2gwl8aY30PhY/HvAWQjE/Vp03tBRWdDIemzz/pcwo6EAno5tH+S6Qjw7O186/IVbix+6/qLrF4hKKS5k13Pf/mFfUr63wtbZ3hr8mXbwqlWu3/2LllQbXYPbHhyqbm67ZfHOCtJm/UFqgWw81LOv3zO6JCRdSqfNCxfl54gfStkcDyNSv742ZfpdUdDYYbR1oqupI+VakfPiJd0h+drdZfmCsbu6+6fyzc2dbiq1tZf8Wbz9+1qbmkSPBYSr4un97urSznmVpjYnjz3K5LRpqCPB/tTjiavPZwudFbk6rxCmJLxBF2m9j5ZfXz189Zcf2CoMFV2Ty/2hFylDhCVSGHwdtw3tkepdnFffz0SoLsmnEKYk3Ut6GG8PSisgX5GMZg343MIO+w8w31zNiT+xcmx7a2lcUqwyWgy9e1uUPdHW0VNGUocs8bGvAuPn7tQGXf5IrJvkpfQ4cnPjS3J0TTTBHnGxgZ0Rx4Th8KLj588cCVS7o8OovdWWqOuwM17pIik8tEGj4ooktBcY6NH1o5d8NIW311fXM4WOvWG8rDTpJjP9XRJoeRnUHLSWIxUDO22s3w9sDnPxpVFjw+RDUT+4WgfLyATrWUJt6pQlQ7+1Rv64i8G8YtyhR2vMCH2LN9PD7ehU+m854ZOQInCmcWOJ4/ff+R6MSHHLgBbLp0ijSRb1N17WBvxmV3fzTbnwOX17qQ+xOOF45PcLzgEkBlnCI+PMEtYK1MhOkpAlyU4LLcG0Qp4NRe0P7wKelSYpJYqZ6SsAFsTkAWwOKAkgQjAj0JVP0axAmUDeRdMgFAB1R+3mdJWAJfeUHlZAgulL8KcS4rOuXMlERLZNYpTgVfev/tpzbpdAxJ6dllTz7/4xOXIYYBnEKRiGXKZJDR5z5kRsmir7jY7BloS/kTKmb2o+I3xKlb9egoOlL8X2UBnvcZf1ek3KzcXPQnysgbKV2ZrkivmJmMJGWmv/gwVspKkpzVjmiz2qmuqj82wjz9hPABeqxTKQrPD+iG+R8DiCg8XRZAw3i6LPUpD0I8ZyZtgDpsPACQAC9oV9Jn+dovz2V18HGGq00wP1l1fmDhTNVh59QPbwP95HdHtqIEfTQDH+imdnJ04UVmWPgtg0/ht9xVjJziT37KnPrlT0QnoMipP5KKbu9ZYi/6gpHbWZKV/135VK2fLfxmsuemJpOlsuo8FOjFQzQSHcT8mXTCYzrRtH8Ycruq32GeAjHel9cAp4eKND3TzFYi1YBgnUURr2zb1X2g+y5LpbVtXV+EpuRMcF0aqSeG6XXBgj8IIvB+OUvIZe2ZNj5oam1kpSniHBEofxLlszv2FdO5L4GOSSoyb70cZAjlk1j1WbVqdew9PDhawg1f0dH1Bcl2gCwsrHcpIL8mYnB6lLC82ijPuTmoVtJ2hAfqYRJpZNHQCY9maBCYZZw/vhwRnL91aMme0Wh05JqR5LL5ad5QTGXlDBOsAw5OMujXSpdREIw/UCaMofZ4XWeY5yPd9fG2gIHJ5iQYYiNeTKVRVKp6Dmzuymy+Zbj/4MVt/taFteHFylpKUv6NCdSmqt0kevM2ZXlp6TNKBXo5NNoTr+pZFI0t7qmqm7cYc/5za1pPDBVGainse4GjQH7Drg9TWgxgLMUJgHHVU4uE2WoTMAP4uu+sZT32xJElNINImr7oprUMQ9FU/3UHDq9EJKJIkmToVfSLcoY8z+Pn3AUbHAb+xvT+/h35jzrFaw6bhbCA3tUp7YIWfUEnX6VDzzIcY/QYzaKgZJRdjHQeNas6obbGYaDkDPA+rBVeh9GtuqHJSoQhT1hd8mn2Dxnq9kaYxs9ZMBAwQB6+qvTEhICQDziDepuapSBSM+gG1+UkjTFn4/sHfF48UTV18YVtgUDbwnhdDYLdr3zorLNY6pyBNmxyalMiSuyx659EdyVX9ESUbJmXvF3Juu7DZ5HHCxULYb5KIB/SICo0um+dwyonVQL6nbVQwXq36CT7jEblU6OxUEn580H5XvLi3A+jvSuSaJ8s0TTZp2TntKrHntLMZ+EQHZzxNDUk1DMHmGvQI34Cu2kxsYV47pxnoXqGQKmcAbPOvEcGzF/+vCYvem1JzdlWg5Kq9AXsAeVCKu8oeGWlVHULqc5J1vqZ9iWsiqNCgrdqYDTvsgtdwK2r2e0k6BwUK6dWzI2KneOJ2E2TbNWcpbW8twwvTZmXTy3viYx8Y2pHcmmbP9La0xqpq3BFAn6ru83rqLUvXiU2dTWJIac/URmxRdeRjwE5VC/y1/ZZnU6b2TmS8PaKfEUZGWBL2EhfyovnsdhSXJ7qHEkjCqfgUT5vrKWidm6q2mZ3V7jLrxqt6K3z+Tz+8JyEl0RNS+ekGAIf3CYme2LUiiM1tQvb/Az9Fl7Pt2gmOndFKvYNWSxvHE23DDeFQzGPP8iWWozP6kspRrhmaeNQOixGPU5Rbw3YXvDarmMot9u9KOEbiom9FYkRp9lCMUojctX3VmKyolB6pDNVDt3EKY5Rvqkvt9uqU3NrK1pisR73+J5IQNQr95a467rDgqutf5KYsb9KiQpY9whRRdSqdld1fxVkZf6cTlsWWM78ycW0r0WeIPLSA++VAjuR72+a7KmrMOStfU1XUg8UDipQtiAKz+wQQuaGuTETH5ubEkKgm4lOzEM0QTh1WbBtdMXaWs3Cl/uc0fNKFitDZCaXYaCBZpKs7h2rqlw5nECIOE8u2AEJ1M4YjconmABLciIZDggJ5OPP7zsMKszPHIDy02PuRm+gN3jsg0fo5+RM7KquwqF711UxMqs89RkL3c1hDnC1xuv3Hlb+/fCNyLhfLqJ6lV8lGnFhXKkxofwKfXiH8k+gs5/ro+YDVw947vx+OgoeL3ycCYfCnA1iAXRe3xPtTFrTrS1mfNjNY0FtUdmixTdzFIORuI2VKHe4SnSR6Kpjx44px6ULxnYj7fCFA24db7fzJ3iec/tFv4sVnRJrr4n0kwDdRKcqt0+pAz2lYDiHb6H5pEusCrupCmhZ/gHKoLPn5oDmoJQLmirX8dAstK1zB8I+B6087xS1jhEUJRHQTe5rfZqF2elZ/Jqe7dP810J0gUczRczOIS/IIfL6WAb4ZBZiqmczxo3ViMeyT0ecITDIpQlFouDKZcg3P/uMfJM4D8c7CDdg1BARBQ2+U8XzBLa5CBoTxWupHuUCdsc7jAMBjdQXNDSPXA57OaaF6Q2KMQCmBT6RDCQxVfiYZzlm9xe0jjEJJpqllFd/BCi9TODR7TLA8oySga0Hu0fBWxDEOCDUn9cpJ1A2k5lB92uV247+6Efv0ctA0meZE8xBlGFL+DIK5DWtrP8XBj4UbyqVnYjI4F0MezoDgFRt/52F6D5tCxdggHJ97hQK3/cd9N4ZKS9rzmHUNmyN/3qEiucBYxc8YlUhNKrTk2rBs5K2cWFAcX8FoPp6fMnRZi8GqEhyB0YFZ+kzJ0ud5hElK2WzkvL/BkwRw9XNWya7GCIbcIM0F0y4FcEMUyCr7ZwlKGMenWq8tTDGDljli4j1xJXE9guwmyY/0+pLLNMSlJqWoCBz1SPYmfqbitcpXB4lkBYRsMqWV4LxizPCherbjaHGrsZQhZPR0TXdAXdbhSVmjmYqrcFkezIYr6gbcduisXj5xdvolKbKkYB02craKKPXsWhMUt5lzTabjitlfgjrbffEqsrdsVi/Is1CfLndLQsaQZ55K5zFpMvzXKmepnWV7f2RxsF0JBRzh8qbgi8azaXsDmWEJFSoRx4nP5R/zohRn5FV7kIVnNNpZhn5g0yG/F3MA09xuytzKzKZwjmBxju9sIOwptcJvPOyWboeEMR5qh7MCmh6/FfoeedgMR+22DiLEQUsYS4ZqEHJcDrZgRJpW8LGzXKb1jRA0ZmZqQDCH+h/X6P9kZn1oljvLlm93OCuDwbr3c319c3uQ0LQWVbmDArmoKuszBXEGqHJYDAVfp3iOX1QnPoctEFZ+R90wVxGUwJ/Ao03ues/Wbz4k3p3E34QfuTHvCsoCAEnAMeAIARd/Aw5FMj7YC8m1szWmskLptJDYq257Ku0Zj7NcBrdtiHYmefmlrGlpxm4Nnu8y8f7Z86fn/e5+Kkf3j5bgc6iTAZPR3bGZCqEJHlilaWllTHPbDXa6iilz00bXeqY+vKvq9HK1kHJ+WODyWT47uCgktDm8eFEYrlgN7Ks0S6o75AAmsDvV0hESj0vVf01sU+jauhOJfCrNrYiVHC0UI+Y1DfMkAfpiI6rHvrxx7t2f/Tjh7dmTGX3laci1PuTzzx2tFNuVj4yhM0WsbzMM/HU8rKA1Rw2kEpPF42w7Wh73o6E/stWyT9QHo6kA3PWZuRG5DbwZW7REvNMPDtm4HkDRWz8JH+2sp4rJyywQ6CXXNG0FR76puEFik/zmizh1utyN8hHivR3FBuNenQn+bd6vkR/zPBv0mmJqVs79Qx7bUnx1A3kg0XGMv3BYr0ySF1r0O0qObOVqn9k6glWkoCj00SWuIfLwLyUEGV5BGmZ9tpVTZZASDQXZ5J8fd4VD3tyAekUdpUbBXgaICEG1xjAgoSSSKJr24Pf//n6i3/2/Qe3dfXvv25357w7l47dOT+z+7p9yk1S4ZUICfTGbN7NU7ZjqUZ9rPTc8IfXnz12U3v7Tceeff0PN6CXissT0XhlVTxaX1489Wsyky28VZGVsypfkYgXOInLEEbAwngMYzCqn+AZNOZfolDn0BqekVYHMrsAdS4KWwHuYSsDrELhTYz8+bpZPU4RVbc2G4ZwX5EWw5qPzrSnzjn9SAuMqGCHB2FQcGFJpYuQFaW1JqgH7D+0BwK12u8b9lvtfkjcoq8oC9SiccdJ9d4zDp+/fjNEDjjgrkG/304djw9d3CifVN7zRKJNbvSd+S9fsunlm0aUz2oDfrvyBleiL9OhBY46nHoKUkZI2WsDzgq+2BKodWHM5GSKGIrGLiaWMG/217gctaY9rRuH46M3v7xh9ck+ZQ0IlHDS7U6aURHZaZe/f5muNmCiCD90tiYQgN/anoD9FjV+q760VnndBx3GqZOOOqW9FiL7HfWBMo/+gJ3eO7bvioubyRHlH8ubolE3emLe4MJbXpGbYVSogTOUFOuUp/Do7GgBZ9TjFB66zWQpx661XhF+zQjpLXrszWIowUnBJLVt2HpwGbbT9nQq681Jt6chbLOakU5+2S7/3WUmUwD0C9hn+9ENNW+wnwEVuVQ8r3HTcWI1SPxDxH3E3xAvw/JEUTWqQ2k0iEbQLehl9C76J/QJ+hKdRjKJSOxxrL2y4ksXXl7BXhbaKy0+ZAnARgokNSCoJTCDxa9tCT7Qj1X9OpwGpsOpGjZW28PtVBpaQflMQc1CaWgmgU0jwAHiaNpdM563uXPnWT9Ert7qRYEwEGMAepSox26I6QYxCaSKAUl9KqRq6VyCC8Gvjwt5GJwMg95ioPBToQ++NGiJ8GtTdXzcR+y2r95j8Mu3QLpQBciaCuA+AsANpH0ckw5wtgCXgDHA6BD0FtQf+IWGfGqjMHjtonwGxo08VAvS+ItqOKDwQAJ+zQ4BHcbWh7TgUx0pWJpTH8v5abWLKB1op5L41F/rHQwHnhiifEKAgidCd2yCjUoICfXyMVwijVLBfL9Z3AZwPNVujF1kAIZHSU1DpmCdar49njsySJtF5fEJ5csB5TE0NoD0E2hp7u0J8qlxhUKyQpFL5OXj1OJxeTn58NRp+Xry2gFluHoytebv1/iTro7OyxsGDI6S7f+x3Rw0i/7WZI31C8qSq6geqx6sGo7tiXVVJCL94uGPq3fOJW8V5RtGDygLSlyOyjSwxZBlIBOoX2yNh2x2sdqCfaLmeQHCO0qcgOecjkTCyjtLdXrW6dSb5RttscpqZ2RMfN2p3F/sF9A9onKfy2m2J5b0VS2MCPGu+qC3nK/efO3Ng/aYbdVNm5fElMdEtK4kZFAed7xfbCwzG+tW1Jpq7O6Qp8KO2sui5vJ4JCKnvlnR5dYxZXq9u6k88/rA5b+5bPzkuJP8o1P5O/FV8ehJ8QcdjpOJxLrcv+ROTZCXLz8+hN5LnH4lQV0zKI80bdqwqVFZlmD2Td2BHhlXtk81y8+HKf9R+QNacJTbjHysqkq4MtVd4zeTFFlWVVtnMVXWpsqtlVVV1sBArGHTJSvDiCpGJ8mgHLOn7ImDyqkDG97aaK+0PqD89D4dpx+9s/9sUTGDTNW1Nebea1uqVyZWvLz2ROPmnFn5xZXy8q2vHqZXJc689OoXic8nPl/36sAX698f/2I96sj9JvN6B+X/P2j3K0YbX1p0XPn748WOLw9DR2V6DD2MnlaeQ/0yjfohfBr/rleeo8OHD7+/fgA+mXH4yM87kF35gyNzpfxWBi1VHkf2o1TfuHL9yEMDek4Xm4iL/Q8uylirbBxvIIvRYGDR+LKqMbQudWmqI3lpKnekYkF0vaezAl03rrhTbeP6Vvqkvc7tSVc6nFUpd2ZA4EzemM1SHbJj/tzUdBNdlEjomMyjCbNVV1+kK2KYhLDTYDOVsclVqaOlLVc0nShNTQx0NSccwcGI0Z+sqc8sbp175fL53tCgaOhev2/4RGnLZS1HS73JRMJj8PEN22o5Ti8IBoEpb21rPy7P0ekFo5e3NzjLipVfIj0ftD1aSlmOnjh64sSew8ovH31VZyJ373lU+Zvvnnz98PAjDz+84KS88STqPyk/Wdw9cfFkTwmNl8QcaYvRHM07BJM+1JpMuLgiDgG8A66N9F49Q5IPozqgx5IN72ww2fTR0VjMGh4Qo5tTKl3wXq+Xb79hviusX/zt4dpJ5flSZRl6Wv7kB+SvTpaidaWwLfHawPXo2S/kP5vn1RhFm1BjE/sjNUuoW1/P7ctkqF2vK79W/oDs8g68UvjKn8lnVR+MMLEceP4574sAdpLD9uZzDhgBzfMCI+SA6sstBrCg9uG3cVUMaXWjhKCqdQkNVGqqPmYmmg+F6rqwijxe8FfQ/Ci0tzOGBNfW3xb7Y3UOs2hqjCjZSGNjBGUijVt/V+yL1UKu4BLQI9gLYmoLtsMVPCFwwxJubYYfBDwDZ+ckl3BEvrPcb2LJVYX2GiOryM1q1hHcmLJMcCnZs1i3B4gOOIpQdYomovu82Zh+QQb4d4vqpRPCXgO+OAXjA+TDm60JH2j/lQh0/VSSLcC6yBlp+j2eLrZ+8KK0lL5osJ5VLipviLlZ9CLrjjWUo1VTWWzDoEHN117vYQlcRZ5+CYhSY9jdBDuiSNj3BHujnCVAEQHNHx/A5qCqauepAEX0Ta5M+x8ZRVSoiCQ/VI4rx9EqdsHU5cpx+jY6g1NoVdnU5WgVfdv/Bb4pxq8AeJxjYGRgYGCqCE5WFrKL57f5ysDNwQAC+/8ebADRVzfs1QbR+mc5QCo5GZhAPAAlfAnRAHicY2BkYOBgAAEDMKl/loGRARV4AAAZYwF/AAB4nGPVYljGwcDAAMRsULoBwWdcysHAxIwkBqOBmDEYiGF8XiCWhGBGqDyDAkQexgezHYDsA0hmgPR3AmktIO0AwUwMUHUg7AFkm0PZDah6UbADcZi5AY96AyQ7GgwYGNpAahkaGBQAdYoUNwAAAAAWAEgBOAHeAjICSgJkAnoCkALsA1ID6AQ4BL4E3gUgBUIFyAXeBfYGRgbABugHKgeSCEwIagkICSgJ0AqmCvALeAvWDEoMtgzUDP4NgA3QDkoPQA9mD+YQzhDeEdYSRBLWE2oT7hRiFNgVVBYKFwQXbhfAGEgYnhi6GUAZshpeGwQbnBvuHCgcih2oIKghLiGSIawAAHicY2BkYGDwYmJjkGcAAUYwyQXEKYyRICYAEJ4BPAAAeJy1VE+LGzcUf1472S1plhIo5KhDKZvFjBN3ITQ5LUlzyl42YSGXgjwjz4iMR0LSZJjSQ4859GP0EuinKC302HM/Qc899dj3njT2buyGbaEeRvPT0/v7e08GgLujz2EE8fcFvhGP4A7uIt6Dffgq4THKnyc8Qfx1wjfgY7AJ34RP4NuE9+FL+D7hA/gUfkn4FhzD7wnfHv08miR8CMd7v2KU0eQj3BV7fyY8gs/GFwnvweH4m4THKH+b8ATxjwnfgLvj3xK+CWL8R8L74CYHCR/A8WTwcwteTn5I+Pb47eSvhA/h5cF3P70T8/sPTsSZzp3xZhnEE+OscTJo02TitK7FuS6r4MW58sq9UUX2TC6czsXZ0+dzceq9Cv5clW0t3fbBtuRCOY+exTw7eRhP6TCevVClUUJ7IUVwslAr6V4LsxShUpfyK51pLYlzs7Ky0cpnO5OvQrCPZrOu67LVcJ6hzSz01pRO2qqfLU0T/Gxj7ltra60KQQeZeGVasZK9aL3CJDAxEotgRO6UDGoqCu1tLfupkE0hrNN4mqOKwq/0wiq30iGgu0XPRdQ6Vw35wgMvjBvAkiJMt0u1zhRtHqaCmEfbKdkMAXQjukrn1aXMOgyqm7xuC2zTOnvT1L040veEWi0wl406evhQtqxe6KYUTvmAnSJWNwHIfO3rMTNwpDFKUCtqgdMYtTBdUxtZXGVPRqqUo3IMhsK1DbYNolBUJulUqrZXGcVhbPqkTg1Bh8hPpRcac86u3214BwLmcB8ewAmiM9CQgwMDHt8lBJQ9QeTwztMqUaIRNZDhySnU+Ag4R1kJFZ553in8KtR+g2uBms/QboF78k0xnuI/y5ztPWuSHVmV0KI/iZrXsbiOzgXn4VPOVGmGdT68YjtYXrZ7wdkYXAXqUFUS38AMFChdcZavUUYs0UnFurv4K3nfIoODdo7fFe4l5qSZrexfME88B5Q+ghk+HT8Z+nvfPktxZoh79lKyH4seepQu2RtVO9sZ3XPOFjuiuY9ibUG9f8U1CWaix2/L3EUmImODNskMV+1Qg+pQMMV9wXqWO96zhPigOJY7E23z5EWlvWTflvtKNQc+I6sF5zF0ouaKyGrIK1p47oLbkizXNUyv1VXL+wJtctxPma848zHudB3n/Qo0T2LHPOW47uasS5WSdo7VtDx3xU7uyaZmdIT69/BLE7pIvOzyHnP4r9xuvBfsqUSZ4zkO6U4Ns7qrgiH6dl6PL80AVRJrCRxvuAXkP9ZaoKTjyg3fyg/NnrwyVYr7YtIaq4q45ZvVsiVlO3Rz8EOaNd/kf57R+M/YpM5svA83RCeWaX4o3wUzHXv7P9ztvwEy7jiOAAB4nGNgZgCD/34M5QyYwAsAKXQCEnic28CgzbCJkZNJm3ETF4jcztWaG2qrysChvZ07NdhBTwbE4onwsNCQBLF4nc215YVBLD4dFRkRHhCLX05CmI8DxBLg4+FkZwGxBMEAxBLaMKEgwADIYtjOCDeaCW40M9xoFrjRrHCj2eQkoUazw43mgBvNCTd6kzAju/YGBgXX2kwJFwDEASgaAAAA) format('woff'); - font-weight: normal; - font-style: normal -} - -.ms-Icon:before { - vertical-align: bottom; - top: 10px; - position: absolute; -} - -.o365cs-base .ms-Icon, .o365cs-base .ms-Icon::before { - font-family: 'ShellFabricMDL2Icons' -} - -.o365cs-base .ms-Icon--GlobalNavButton::before { - content: "\e700 " -} - -.o365cs-base .ms-Icon--More::before { - content: "\e712 " -} - -.o365cs-base .ms-Icon--Settings::before { - content: "\e713 " -} - -.o365cs-base .ms-Icon--People::before { - content: "\e716 " -} - -.o365cs-base .ms-Icon--Search::before { - content: "\e721 " -} - -.o365cs-base .ms-Icon--Forward::before { - content: "\e72a " -} - -.o365cs-base .ms-Icon--Back::before { - content: "\e72b " -} - -.o365cs-base .ms-Icon--ChevronLeft::before { - content: "\e76b " -} - -.o365cs-base .ms-Icon--ChevronRight::before { - content: "\e76c " -} - -.o365cs-base .ms-Icon--Emoji2::before { - content: "\e76e " -} - -.o365cs-base .ms-Icon--Contact::before { - content: "\e77b " -} - -.o365cs-base .ms-Icon--Calendar::before { - content: "\e787 " -} - -.o365cs-base .ms-Icon--News::before { - content: "\e900 " -} - -.o365cs-base .ms-Icon--Download::before { - content: "\e896 " -} - -.o365cs-base .ms-Icon--Help::before { - content: "\e897 " -} - -.o365cs-base .ms-Icon--ChromeClose::before { - content: "\e8bb " -} - -.o365cs-base .ms-Icon--OneDrive::before { - content: "\e941 " -} - -.o365cs-base .ms-Icon--ChevronUpMed::before { - content: "\e971 " -} - -.o365cs-base .ms-Icon--ChevronDownMed::before { - content: "\e972 " -} - -.o365cs-base .ms-Icon--Ringer::before { - content: "\ea8f " -} - -.o365cs-base .ms-Icon--StoreLogo::before { - content: "\ea96 " -} - -.o365cs-base .ms-Icon--CircleFill::before { - content: "\ea3b " -} - -.o365cs-base .ms-Icon--HelpMirrored::before { - content: "\ea51 " -} - -.o365cs-base .ms-Icon--Lightbulb::before { - content: "\ea80 " -} - -.o365cs-base .ms-Icon--BingLogo::before { - content: "\eb6b " -} - -.o365cs-base .ms-Icon--MSNLogo::before { - content: "\eb6c " -} - -.o365cs-base .ms-Icon--OfficeLogo::before { - content: "\eb6e " -} - -.o365cs-base .ms-Icon--SkypeLogo::before { - content: "\eb6f " -} - -.o365cs-base .ms-Icon--PowerBILogo::before { - content: "\ea1e " -} - -.o365cs-base .ms-Icon--YammerLogo::before { - content: "\ed19 " -} - -.o365cs-base .ms-Icon--AdminALogo::before { - content: "\ed6a " -} - -.o365cs-base .ms-Icon--AdminPLogo::before { - content: "\ed71 " -} - -.o365cs-base .ms-Icon--ParatureLogo::before { - content: "\ed7b " -} - -.o365cs-base .ms-Icon--SocialListeningLogo::before { - content: "\ed7c " -} - -.o365cs-base .ms-Icon--Waffle::before { - content: "\ed89 " -} - -.o365cs-base .ms-Icon--BookingsLogo::before { - content: "\edc7 " -} - -.o365cs-base .ms-Icon--DocsLogoInverse::before { - content: "\edcb " -} - -.o365cs-base .ms-Icon--Dynamics365Logo::before { - content: "\edcc " -} - -.o365cs-base .ms-Icon--DynamicSMBLogo::before { - content: "\edcd " -} - -.o365cs-base .ms-Icon--OfficeStoreLogo::before { - content: "\edcf " -} - -.o365cs-base .ms-Icon--PlannerLogo::before { - content: "\edd1 " -} - -.o365cs-base .ms-Icon--OfficeAddinsLogo::before { - content: "\eec7 " -} - -.o365cs-base .ms-Icon--ClassroomLogo::before { - content: "\ef75 " -} - -.o365cs-base .ms-Icon--CaretSolidDown::before { - content: "\f08e " -} - -.o365cs-base .ms-Icon--PowerAppsLogo::before { - content: "\f091 " -} - -.o365cs-base .ms-Icon--SkypeForBusinessLogo::before { - content: "\f0fc " -} - -.o365cs-base .ms-Icon--AnalyticsLogo::before { - content: "\f1de " -} - -.o365cs-base .ms-Icon--WordLogo::before { - content: "\f1e3 " -} - -.o365cs-base .ms-Icon--ExcelLogo::before { - content: "\f1e5 " -} - -.o365cs-base .ms-Icon--OneNoteLogo::before { - content: "\f1e7 " -} - -.o365cs-base .ms-Icon--OutlookLogo::before { - content: "\f1e9 " -} - -.o365cs-base .ms-Icon--PowerPointLogo::before { - content: "\f1eb " -} - -.o365cs-base .ms-Icon--TeamsLogo::before { - content: "\f27b " -} - -.o365cs-base .ms-Icon--SharepointLogo::before { - content: "\f27e " -} - -.o365cs-base .ms-Icon--DelveLogo::before { - content: "\f280 " -} - -.o365cs-base .ms-Icon--OfficeVideoLogo::before { - content: "\f282 " -} - -.o365cs-base .ms-Icon--VisioLogo::before { - content: "\f2a7 " -} - -.o365cs-base .ms-Icon--MoreVertical::before { - content: "\f2bc " -} - -.o365cs-base .ms-Icon--StreamLogo::before { - content: "\f329 " -} - -.o365cs-base .ms-Icon--OfficeFormsLogo::before { - content: "\f434 " -} - -.o365cs-base .ms-Icon--ProjectLogo32::before { - content: "\f47e " -} - -.o365cs-base .ms-Icon--SwayLogo32::before { - content: "\f482 " -} - -.o365cs-base .ms-Icon--ClassNotebookLogo32::before { - content: "\f486 " -} - -.o365cs-base .ms-Icon--StaffNotebookLogo32::before { - content: "\f48c " -} - -.o365cs-base .ms-Icon--KaizalaLogo::before { - content: "\f492 " -} - -.o365cs-base .ms-Icon--TaskLogo::before { - content: "\f493 " -} - -.o365cs-base .ms-Icon--ProtectionCenterLogo32::before { - content: "\f494 " -} - -.o365cs-base .ms-Icon--NonprofitLogo32::before { - content: "\f495 " -} - -.o365cs-base .ms-Icon--GallatinLogo::before { - content: "\f496 " -} - -.o365cs-base .ms-Icon--MicrosoftFlowLogo::before { - content: "\f4b1 " -} - -.o365cs-base .ms-Icon--BusinessCenterLogo::before { - content: "\f4b2 " -} - -.o365cs-base .ms-Icon--ToDoLogoInverse::before { - content: "\f4bc " -} - -.o365cs-base .ms-Icon--Mail::before { - content: "\f715 " -} - -.o365cs-base .ms-Icon--MicrosoftStaffhubLogo::before { - content: "\f130 " -} - -.o365cs-nav-appItem a:hover { - border-color: #f4f4f4; - -webkit-box-shadow: 0 8px 16px 0 rgba(0, 0, 0, .1); - box-shadow: 0 8px 16px 0 rgba(0, 0, 0, .1); - -webkit-transition: border-color .167s linear, -webkit-box-shadow .167s linear; - -moz-transition: border-color .167s linear, box-shadow .167s linear; - transition: border-color .167s linear, box-shadow .167s linear; -} - -.o365cs-nav-docsModuleEmpty { - text-align: center -} - -.o365cs-nav-docsModuleEmptyImage { - display: inline-block; - background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48c3ZnIHdpZHRoPSIxMThweCIgaGVpZ2h0PSI5MnB4IiB2aWV3Qm94PSIwIDAgMTE4IDkyIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPiAgICAgICAgPHRpdGxlPkdyb3VwPC90aXRsZT4gICAgPGRlc2M+Q3JlYXRlZCB3aXRoIFNrZXRjaC48L2Rlc2M+ICAgIDxkZWZzPjwvZGVmcz4gICAgPGcgaWQ9Im90aGVyLWNhc2VzIiBzdHJva2U9Im5vbmUiIHN0cm9rZS13aWR0aD0iMSIgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj4gICAgICAgIDxnIGlkPSJuby1kb2NzIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMTExLjAwMDAwMCwgLTUwOS4wMDAwMDApIj4gICAgICAgICAgICA8ZyBpZD0iR3JvdXAtMyIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNjguMDAwMDAwLCA1MDkuMDAwMDAwKSI+ICAgICAgICAgICAgICAgIDxnIGlkPSJHcm91cCIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNDMuMDAwMDAwLCAwLjAwMDAwMCkiPiAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTExMy40MDMxMTIsNTQuOTIwMzQ1NiBMMTEzLjIzNTgzOSw1NC45MjAzNDU2IEMxMTMuMjM1ODM5LDUwLjcyNTA1NDIgMTA5Ljg5MDczNSw0Ny4zNjg4MTc0IDEwNS43MDkzNDMsNDcuMzY4ODE3NCBDMTAxLjg2MjQ2OCw0Ny4zNjg4MTc0IDk4LjY4NDYwNzIsNTAuMzg5NDMxMSA5OC4xODI4NDE2LDU0LjA4MTI4NDkgQzk3LjE3OTMxMDUsNTIuOTA2NjAxMSA5NS42NzQwMDc3LDUyLjA2NzU0NjUgOTQuMDAxNDU1OCw1Mi4wNjc1NDY1IEM5MS4xNTgxMTE0LDUyLjA2NzU0NjUgODguODE2NTMyNyw1NC40MTY5MDc5IDg4LjgxNjUzMjcsNTcuNDM3NTIxNiBDODguODE2NTMyNyw2MC4yOTAzMTgzIDkxLjE1ODExMTQsNjIuNjM5NjgyMiA5NC4wMDE0NTU4LDYyLjYzOTY4MjIgTDExMy40MDMxMTIsNjIuNjM5NjgyMiBDMTE1LjU3NzQyNCw2Mi42Mzk2ODIyIDExNy4yNDk5NzYsNjAuOTYxNTY0NCAxMTcuMjQ5OTc2LDU4Ljc4MDAxMzMgQzExNy4yNDk5NzYsNTYuNzY2Mjc1NSAxMTUuNTc3NDI0LDU0LjkyMDM0NTYgMTEzLjQwMzExMiw1NC45MjAzNDU2IFoiIGlkPSJGaWxsLTMiIGZpbGw9IiM2NjY2NjYiIG9wYWNpdHk9IjAuMyI+PC9wYXRoPiAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTkwLjM0NzIxNTUsMTEuNzgyOTIxNCBMODkuMjI4NDM3NywxMS43ODI5MjE0IEM4OS4wMDQ2OTg1LDUuMjExNjgxNDQgODMuNDEwNzI3OCwtMS43NzYzNTY4NGUtMTUgNzYuOTIxODAwMiwtMS43NzYzNTY4NGUtMTUgQzcxLjEwNDA5MDMsLTEuNzc2MzU2ODRlLTE1IDY2LjE4MTQxOSwzLjg1MjEwNjE3IDY0LjgzODg3NzQsOS4yOTAzODIwOSBDNjMuMDQ4ODA4NCw3LjQ3NzYyNjI1IDYwLjgxMTIzNjUsNi41NzEyNDgzMiA1OC4zNDk5MDA4LDYuNTcxMjQ4MzIgQzUzLjQyNzIyOTUsNi41NzEyNDgzMiA0OS42MjMzNTIzLDEwLjE5Njc2IDQ5LjE3NTgzMywxNC45NTUyNTI1IEM0Ny4zODU3NzIyLDE1LjE4MTg0NyA0Ni4wNDMyMjI1LDE1Ljg2MTYzMDQgNDQuNzAwNjgwOSwxNi45OTQ2MDI4IEM0My44MDU2NTA1LDE1LjYzNTAzNTkgNDIuMjM5MzQ1MywxNC43Mjg2NTggNDAuNjczMDQsMTQuNzI4NjU4IEMzNy43NjQxOTMyLDE0LjcyODY1OCAzNS41MjY2MTMxLDE2Ljk5NDYwMjggMzUuNTI2NjEzMSwxOS45NDAzMzExIEMzNS41MjY2MTMxLDIyLjg4NjA2NzcgMzcuNzY0MTkzMiwyNS4xNTIwMTI1IDQwLjY3MzA0LDI1LjE1MjAxMjUgTDQyLjAxNTU4OTcsMjUuMTUyMDEyNSBMNTguNzk3NDExOSwyNS4xNTIwMTI1IEw2OC4xOTUyMzUzLDI1LjE1MjAxMjUgTDkwLjc5NDc3NTcsMjUuMTUyMDEyNSBMOTAuNzk0Nzc1NywyNS4xNTIwMTI1IEM5NC4xNTExMDkxLDI0LjkyNTQxOCA5Ni44MzYyMjQ4LDIxLjk3OTY4OTggOTYuODM2MjI0OCwxOC4zNTQxNjk3IEM5Ni44MzYyMjQ4LDE0LjcyODY1OCA5My45MjczNjk5LDExLjc4MjkyMTQgOTAuMzQ3MjE1NSwxMS43ODI5MjE0IFoiIGlkPSJGaWxsLTQiIGZpbGw9IiNEMUQxRDEiPjwvcGF0aD4gICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0yMS41MDA1MjcsMjkuNjU5NTI2OCBDMjEuMzM2NDA0MSwyOS42NTk1MjY4IDIxLjE3MjI3NTEsMjkuODIxMDE0NyAyMS4wMDgxNTIyLDI5LjgyMTAxNDcgQzIxLjMzNjQwNDEsMjkuMTc1MDU3MSAyMS41MDA1MjcsMjguNTI5MDk5NSAyMS41MDA1MjcsMjcuODgzMTQyIEMyMS41MDA1MjcsMjUuNjIyMjg3NCAxOS42OTUxMzg1LDIzLjY4NDQwODcgMTcuMjMzMjQ2MiwyMy42ODQ0MDg3IEMxNS4wOTk2MDU4LDIzLjY4NDQwODcgMTMuMjk0MjE3MywyNS4yOTkzMDU3IDEzLjEzMDA5NDQsMjcuMzk4NjcyMyBDMTIuMzA5NDYxNiwyNi41OTEyMjA4IDExLjE2MDU3NjksMjYuMTA2NzUxMSAxMC4wMTE2OTgyLDI2LjEwNjc1MTEgQzcuNzEzOTI4ODYsMjYuMTA2NzUxMSA1Ljc0NDQxNTYsMjcuNzIxNjQ4MSA1Ljc0NDQxNTYsMjkuOTgyNTAyNiBDNS4yNTIwMzcxNCwyOS44MjEwMTQ3IDQuNzU5NjU4NjgsMjkuNjU5NTI2OCA0LjI2NzI4MDIxLDI5LjY1OTUyNjggQzEuOTY5NTEzODUsMjkuNjU5NTI2OCAwLDMxLjU5NzM5OTUgMCwzMy44NTgyNTY1IEMwLDM2LjI4MDYwMTMgMS45Njk1MTM4NSwzOC4wNTY5ODczIDQuMjY3MjgwMjEsMzguMDU2OTg3MyBMMjEuNTAwNTI3LDM4LjA1Njk4NzMgQzIzLjc5ODI5NjQsMzguMDU2OTg3MyAyNS43Njc4MDc4LDM2LjI4MDYwMTMgMjUuNzY3ODA3OCwzMy44NTgyNTY1IEMyNS43Njc4MDc4LDMxLjU5NzM5OTUgMjMuNzk4Mjk2NCwyOS42NTk1MjY4IDIxLjUwMDUyNywyOS42NTk1MjY4IFoiIGlkPSJGaWxsLTUiIGZpbGw9IiM2NjY2NjYiIG9wYWNpdHk9IjAuMyI+PC9wYXRoPiAgICAgICAgICAgICAgICAgICAgPGcgaWQ9IlBhZ2UtMSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMzMuODM0ODcwLCA0MC42MDE4NDQpIj4gICAgICAgICAgICAgICAgICAgICAgICA8ZyBpZD0iR3JvdXAtMiI+ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwb2x5Z29uIGlkPSJGaWxsLTEiIGZpbGw9IiNGRkZGRkYiIHBvaW50cz0iMCA1MC44MzkxNzQyIDM3LjYzMDY2NDMgNTAuODM5MTc0MiAzNy42MzA2NjQzIDAgMCAwIj48L3BvbHlnb24+ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwb2x5Z29uIGlkPSJGaWxsLTMiIGZpbGw9IiNGMEYwRjAiIHBvaW50cz0iMzcuNjMwNjY0MyA1MC44MzkxNzQyIDAgNTAuODM5MTc0MiAwIDExLjM3MTkxODMgMTEuOTMxNjY5NyAwIDM3LjYzMDY2NDMgMCI+PC9wb2x5Z29uPiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cG9seWdvbiBpZD0iRmlsbC00IiBmaWxsPSIjREJEOEQ4IiBwb2ludHM9IjEyLjU0MzU1NDggMTEuNjUwNjQ0MSAwIDExLjY1MDY0NDEgMTIuNTQzNTU0OCAwIj48L3BvbHlnb24+ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik00LjQ1OTkzMDk0LDE0LjgyODA5MjUgTDE2LjE2NzI1MTksMTQuODI4MDkyNSBDMTYuNDQ1OTkwNiwxNC44MjgwOTI1IDE2LjcyNDczOTcsMTQuNDc1MDQ2MiAxNi43MjQ3Mzk3LDE0LjEyMTk4OTMgQzE2LjcyNDczOTcsMTQuMTIxOTg5MyAxNi40NDU5OTA2LDEzLjc2ODk0MyAxNi4xNjcyNTE5LDEzLjc2ODk0MyBMNC40NTk5MzA5NCwxMy43Njg5NDMgQzQuMTgxMTg0OTMsMTMuNzY4OTQzIDQuMTgxMTg0OTMsMTQuMTIxOTg5MyA0LjE4MTE4NDkzLDE0LjEyMTk4OTMgQzQuMTgxMTg0OTMsMTQuNDc1MDQ2MiA0LjE4MTE4NDkzLDE0LjgyODA5MjUgNC40NTk5MzA5NCwxNC44MjgwOTI1IiBpZD0iRmlsbC01IiBmaWxsPSIjNzM3MzczIj48L3BhdGg+ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik00LjQ1OTkzMDk0LDE5LjA2NDY5MDMgTDE2LjE2NzI1MTksMTkuMDY0NjkwMyBDMTYuNDQ1OTkwNiwxOS4wNjQ2OTAzIDE2LjcyNDczOTcsMTkuMDY0NjkwMyAxNi43MjQ3Mzk3LDE4LjcxMTY0NCBDMTYuNzI0NzM5NywxOC4zNTg1ODcyIDE2LjQ0NTk5MDYsMTguMDA1NTQwOSAxNi4xNjcyNTE5LDE4LjAwNTU0MDkgTDQuNDU5OTMwOTQsMTguMDA1NTQwOSBDNC4xODExODQ5MywxOC4wMDU1NDA5IDQuMTgxMTg0OTMsMTguMzU4NTg3MiA0LjE4MTE4NDkzLDE4LjcxMTY0NCBDNC4xODExODQ5MywxOS4wNjQ2OTAzIDQuMTgxMTg0OTMsMTkuMDY0NjkwMyA0LjQ1OTkzMDk0LDE5LjA2NDY5MDMiIGlkPSJGaWxsLTYiIGZpbGw9IiM3MzczNzMiPjwvcGF0aD4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTQuNDU5OTMwOTQsMjMuMzAxMjg4MiBMMTYuMTY3MjUxOSwyMy4zMDEyODgyIEMxNi40NDU5OTA2LDIzLjMwMTI4ODIgMTYuNzI0NzM5NywyMi45NDgyNDE5IDE2LjcyNDczOTcsMjIuNTk1MTg1IEMxNi43MjQ3Mzk3LDIyLjI0MjEzODcgMTYuNDQ1OTkwNiwyMi4yNDIxMzg3IDE2LjE2NzI1MTksMjIuMjQyMTM4NyBMNC40NTk5MzA5NCwyMi4yNDIxMzg3IEM0LjE4MTE4NDkzLDIyLjI0MjEzODcgNC4xODExODQ5MywyMi4yNDIxMzg3IDQuMTgxMTg0OTMsMjIuNTk1MTg1IEM0LjE4MTE4NDkzLDIyLjk0ODI0MTkgNC4xODExODQ5MywyMy4zMDEyODgyIDQuNDU5OTMwOTQsMjMuMzAxMjg4MiIgaWQ9IkZpbGwtNyIgZmlsbD0iIzczNzM3MyI+PC9wYXRoPiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPSJNNC40NTk5MzA5NCwyNy41Mzc4ODYgTDE2LjE2NzI1MTksMjcuNTM3ODg2IEMxNi40NDU5OTA2LDI3LjUzNzg4NiAxNi43MjQ3Mzk3LDI3LjE4NDgzOTcgMTYuNzI0NzM5NywyNi44MzE3ODI5IEMxNi43MjQ3Mzk3LDI2LjgzMTc4MjkgMTYuNDQ1OTkwNiwyNi40Nzg3MzY2IDE2LjE2NzI1MTksMjYuNDc4NzM2NiBMNC40NTk5MzA5NCwyNi40Nzg3MzY2IEM0LjE4MTE4NDkzLDI2LjQ3ODczNjYgNC4xODExODQ5MywyNi44MzE3ODI5IDQuMTgxMTg0OTMsMjYuODMxNzgyOSBDNC4xODExODQ5MywyNy4xODQ4Mzk3IDQuMTgxMTg0OTMsMjcuNTM3ODg2IDQuNDU5OTMwOTQsMjcuNTM3ODg2IiBpZD0iRmlsbC04IiBmaWxsPSIjNzM3MzczIj48L3BhdGg+ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik00LjQ1OTkzMDk0LDM5LjE4ODUzMDEgTDE2LjE2NzI1MTksMzkuMTg4NTMwMSBDMTYuNDQ1OTkwNiwzOS4xODg1MzAxIDE2LjcyNDczOTcsMzguODM1NDgzOCAxNi43MjQ3Mzk3LDM4LjgzNTQ4MzggQzE2LjcyNDczOTcsMzguNDgyNDI3IDE2LjQ0NTk5MDYsMzguMTI5MzgwNyAxNi4xNjcyNTE5LDM4LjEyOTM4MDcgTDQuNDU5OTMwOTQsMzguMTI5MzgwNyBDNC4xODExODQ5MywzOC4xMjkzODA3IDQuMTgxMTg0OTMsMzguNDgyNDI3IDQuMTgxMTg0OTMsMzguODM1NDgzOCBDNC4xODExODQ5MywzOC44MzU0ODM4IDQuMTgxMTg0OTMsMzkuMTg4NTMwMSA0LjQ1OTkzMDk0LDM5LjE4ODUzMDEiIGlkPSJGaWxsLTkiIGZpbGw9IiM3MzczNzMiPjwvcGF0aD4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTIyLjUwODcwODcsMjcuNTM3ODg2IEwzNC4yMTYwMjY1LDI3LjUzNzg4NiBDMzQuNDk0Nzc1NiwyNy41Mzc4ODYgMzQuNDk0Nzc1NiwyNy4xODQ4Mzk3IDM0LjQ5NDc3NTYsMjYuODMxNzgyOSBDMzQuNDk0Nzc1NiwyNi44MzE3ODI5IDM0LjQ5NDc3NTYsMjYuNDc4NzM2NiAzNC4yMTYwMjY1LDI2LjQ3ODczNjYgTDIyLjUwODcwODcsMjYuNDc4NzM2NiBDMjIuMjI5OTcsMjYuNDc4NzM2NiAyMS45NTEyMjA5LDI2LjgzMTc4MjkgMjEuOTUxMjIwOSwyNi44MzE3ODI5IEMyMS45NTEyMjA5LDI3LjE4NDgzOTcgMjIuMjI5OTcsMjcuNTM3ODg2IDIyLjUwODcwODcsMjcuNTM3ODg2IiBpZD0iRmlsbC0xMCIgZmlsbD0iIzczNzM3MyI+PC9wYXRoPiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMjIuNTA4NzA4NywzMS43NzQ0ODM5IEwzNC4yMTYwMjY1LDMxLjc3NDQ4MzkgQzM0LjQ5NDc3NTYsMzEuNzc0NDgzOSAzNC40OTQ3NzU2LDMxLjc3NDQ4MzkgMzQuNDk0Nzc1NiwzMS40MjE0Mzc2IEMzNC40OTQ3NzU2LDMxLjA2ODM4MDcgMzQuNDk0Nzc1NiwzMC43MTUzMzQ0IDM0LjIxNjAyNjUsMzAuNzE1MzM0NCBMMjIuNTA4NzA4NywzMC43MTUzMzQ0IEMyMi4yMjk5NywzMC43MTUzMzQ0IDIxLjk1MTIyMDksMzEuMDY4MzgwNyAyMS45NTEyMjA5LDMxLjQyMTQzNzYgQzIxLjk1MTIyMDksMzEuNzc0NDgzOSAyMi4yMjk5NywzMS43NzQ0ODM5IDIyLjUwODcwODcsMzEuNzc0NDgzOSIgaWQ9IkZpbGwtMTEiIGZpbGw9IiM3MzczNzMiPjwvcGF0aD4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTIyLjUwODcwODcsMzYuMDExMDgxNyBMMzQuMjE2MDI2NSwzNi4wMTEwODE3IEMzNC40OTQ3NzU2LDM2LjAxMTA4MTcgMzQuNDk0Nzc1NiwzNS42NTgwMzU1IDM0LjQ5NDc3NTYsMzUuMzA0OTc4NiBDMzQuNDk0Nzc1NiwzNC45NTE5MzIzIDM0LjQ5NDc3NTYsMzQuOTUxOTMyMyAzNC4yMTYwMjY1LDM0Ljk1MTkzMjMgTDIyLjUwODcwODcsMzQuOTUxOTMyMyBDMjIuMjI5OTcsMzQuOTUxOTMyMyAyMS45NTEyMjA5LDM0Ljk1MTkzMjMgMjEuOTUxMjIwOSwzNS4zMDQ5Nzg2IEMyMS45NTEyMjA5LDM1LjY1ODAzNTUgMjIuMjI5OTcsMzYuMDExMDgxNyAyMi41MDg3MDg3LDM2LjAxMTA4MTciIGlkPSJGaWxsLTEyIiBmaWxsPSIjNzM3MzczIj48L3BhdGg+ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0yMi41MDg3MDg3LDM5LjE4ODUzMDEgTDM0LjIxNjAyNjUsMzkuMTg4NTMwMSBDMzQuNDk0Nzc1NiwzOS4xODg1MzAxIDM0LjQ5NDc3NTYsMzguODM1NDgzOCAzNC40OTQ3NzU2LDM4LjgzNTQ4MzggQzM0LjQ5NDc3NTYsMzguNDgyNDI3IDM0LjQ5NDc3NTYsMzguMTI5MzgwNyAzNC4yMTYwMjY1LDM4LjEyOTM4MDcgTDIyLjUwODcwODcsMzguMTI5MzgwNyBDMjIuMjI5OTcsMzguMTI5MzgwNyAyMS45NTEyMjA5LDM4LjQ4MjQyNyAyMS45NTEyMjA5LDM4LjgzNTQ4MzggQzIxLjk1MTIyMDksMzguODM1NDgzOCAyMi4yMjk5NywzOS4xODg1MzAxIDIyLjUwODcwODcsMzkuMTg4NTMwMSIgaWQ9IkZpbGwtMTMiIGZpbGw9IiM3MzczNzMiPjwvcGF0aD4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBvbHlnb24gaWQ9IkZpbGwtMTQiIGZpbGw9IiNBQ0FDQUMiIHBvaW50cz0iMjEuOTUxMjIwOSAyNC4zNjA0Mzc2IDM0LjQ5NDc3NTYgMjQuMzYwNDM3NiAzNC40OTQ3NzU2IDEyLjcwOTc5MzYgMjEuOTUxMjIwOSAxMi43MDk3OTM2Ij48L3BvbHlnb24+ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwb2x5Z29uIGlkPSJGaWxsLTE1IiBmaWxsPSIjQUNBQ0FDIiBwb2ludHM9IjQuMTgxMTg0OTMgMzcuMDcwMjMxMiAxNi43MjQ3Mzk3IDM3LjA3MDIzMTIgMTYuNzI0NzM5NyAyOC41OTcwMzU1IDQuMTgxMTg0OTMgMjguNTk3MDM1NSI+PC9wb2x5Z29uPiAgICAgICAgICAgICAgICAgICAgICAgIDwvZz4gICAgICAgICAgICAgICAgICAgIDwvZz4gICAgICAgICAgICAgICAgPC9nPiAgICAgICAgICAgIDwvZz4gICAgICAgIDwvZz4gICAgPC9nPjwvc3ZnPg==); - background-repeat: no-repeat; - background-size: cover; - width: 139px; - height: 109px -} - -.o365cs-nav-docsModuleEmptyTitle { - display: inline-block; - font-size: 13px; - margin-top: 6px; - max-width: 180px -} - -.o365cs-nav-docsModuleEmptyText { - display: inline-block; - font-size: 13px; - margin-top: 3px; - max-width: 230px -} - -.o365cs-nav-docsModuleEmpty .o365cs-nav-docsModuleNewButton { - margin: 15px 0 0 0 -} - -@media (min-width: 992px) { - .o365cs-base .show > .dropdown-menu { - overflow: hidden !important; - } -} - -.o365cs-newALV3-on.o365cs-nav-navMenu { - position: fixed !important; -} - -/** 24. Smart Forms -*************************************************** **/ -.sm-form-design { - position: relative; -} - -.inline-form .sm-form-design label, -.contact_form .sm-form-design label, -.sm-form-design label { - left: 25px !important; -} - -.sm-fw-form .form-control, .sm-fw-form.form-control { - width: 100%; -} - -.sm-hw-field { - width: 50%; - display: inline-block; -} - -.sm-form-design label { - color: #969696; - font-size: 10px; - text-transform: uppercase; - position: absolute; - top: 6px; - left: 16px; - cursor: text; - font-weight: 600; - -webkit-transition: all .25s ease; - -moz-transition: all .25s ease; - transition: all .25s ease; -} - -.sm-form-design input:focus + label, .sm-form-design textarea:focus + label { - color: #c0c0c0; -} - -.sm-form-design .form-control { - padding: 26px 16px 6px 10px; - height: auto; -} - -/* Selectbox fix for Chrome/Safari on OSX */ -@media screen and (-webkit-min-device-pixel-ratio: 0) { - .sm-form-design select.form-control { - height: 55px !important; - -webkit-appearance: none; - background-image: url(../images/select-arrow.svg); - background-repeat: no-repeat; - background-size: 6px 12px; - background-position-y: center; - background-position-x: calc(100% - 10px); - } -} - -.sm-form-design input::-webkit-input-placeholder { - color: #bababa; -} - -.sm-form-design input:focus::-webkit-input-placeholder { - color: #D7D7D7; -} - -/* Firefox < 19 */ -.sm-form-design input:-moz-placeholder { - color: #bababa; -} - -.sm-form-design input:focus:-moz-placeholder { - color: #D7D7D7; -} - -/* Firefox > 19 */ -.sm-form-design input::-moz-placeholder { - color: #bababa; -} - -.sm-form-design input:focus::-moz-placeholder { - color: #D7D7D7; -} - -/* Internet Explorer 10 */ -.sm-form-design input:-ms-input-placeholder { - color: #bababa; -} - -.sm-form-design input:focus:-ms-input-placeholder { - color: #D7D7D7; -} - -.sm-form-design { - position: relative; -} - -.sm-form-design-label { - color: #969696; - font-size: 10px; - text-transform: uppercase; - position: absolute; - top: 6px; - left: 16px; - cursor: text; - -webkit-transition: all .25s ease; - transition: all .25s ease; -} - -.sm-form-design-input:focus + .sm-form-design-label, -.sm-form-design-textarea:focus + .sm-form-design-label { - color: #c0c0c0; -} - -.sm-form-design .form-control { - padding: 26px 16px 6px 16px; - height: auto; -} - -/* Selectbox fix for Chrome/Safari on OSX */ -@media screen and (-webkit-min-device-pixel-ratio: 0) { - .sm-form-design-select { - height: 52px; - -webkit-appearance: none; - box-shadow: inset 1px 2px 0 rgba(0, 0, 0, 0.06); - background-image: url(../images/select-arrow.svg); - background-repeat: no-repeat; - background-size: 6px 12px; - background-position: calc(100% - 10px) center; - background-position-y: center; - background-position-x: calc(100% - 10px); - } -} - -.sm-form-design-input::-webkit-input-placeholder { - color: #bababa; -} - -.sm-form-design-input:focus::-webkit-input-placeholder { - color: #D7D7D7; -} - -/* Firefox < 19 */ -.sm-form-design-input:-moz-placeholder { - color: #bababa; -} - -.sm-form-design-input:focus:-moz-placeholder { - color: #D7D7D7; -} - -/* Firefox > 19 */ -.sm-form-design-input::-moz-placeholder { - color: #bababa; -} - -.sm-form-design-input:focus::-moz-placeholder { - color: #D7D7D7; -} - -/* Internet Explorer 10 */ -.sm-form-design-input:-ms-input-placeholder { - color: #bababa; -} - -.sm-form-design-input:focus:-ms-input-placeholder { - color: #D7D7D7; -} - -.sm-form-design .ui-state-error { - border: 1px solid #EB3034 !important; - position: relative; -} - -/** 25. Webkit Scrollbar -*************************************************** **/ -::-webkit-scrollbar { - z-index: 30; - width: 6px; -} - -::-webkit-scrollbar-track { - background-color: #eaeaea; - border-left: 1px solid #c1c1c1; -} - -::-webkit-scrollbar-thumb { - background-color: #c1c1c1; -} - -::-webkit-scrollbar-thumb:hover { - background-color: #aaa; -} - -::-webkit-scrollbar-track { - border-radius: 0; - box-shadow: none; - border: 0; -} - -::-webkit-scrollbar-thumb { - border-radius: 0; - box-shadow: none; - border: 0; -} - -/** 26. login modal -*************************************************** **/ -.bd-0 { - border-width: 0; -} - -.bg-transparent { - background-color: transparent; -} - -.bg-white { - background-color: #fff !important; -} - -.text-white { - color: #fff !important; -} - -.modal.effect-flip-horizontal { - perspective: 1300px; -} - -.modal.effect-flip-horizontal .modal-dialog { - -moz-transform-style: preserve-3d; - transform-style: preserve-3d; - transform: rotateY(-70deg); - transition: all 0.5s; - opacity: 0; -} - -.modal.effect-flip-horizontal.in .modal-dialog { - transform: rotateY(0deg); - opacity: 1; -} - -.account-info ul { - margin: 30px 0 0; - padding: 0; -} - -.account-info ul li { - font-size: 15px; - list-style: none; - margin: 0; - padding: 6px 0; - color: #333; -} - -.account-info ul li i { - padding-right: 8px; -} - -.d-block { - display: block !important; -} - -.gray_right { - border-right: 1px solid #dddddd; -} - -.bg_header { - background-image: url('../images/svg/header_3.svg'); - background-position: left; - background-size: 150%; - background-repeat: no-repeat; -} - -@media (max-width: 575.98px) { - #login_modal { - padding-left: 0 !important; - } - - .fullmodal_login { - margin: 0 !important; - } - - .fullmodal { - height: 100vh; - border-radius: 0px !important; - } -} - -/** 27. Enlarge Panel -*************************************************** **/ -.fullscreen { - position: fixed; - top: 0; - left: 0; - bottom: 0; - right: 0; - overflow: auto; - z-index: 999; - padding: 30px; - margin: 0; - /*background: -webkit-gradient(linear, left top, right bottom, from(#D7BBEA), to(#65A8F1)); - background: linear-gradient(to bottom right, #D7BBEA, #65A8F1);*/ - animation: createBox .30s; -} - -@keyframes createBox { - from { - transform: scale(0); - } - to { - transform: scale(1); - } -} - -.close_fullscreen { - animation: closebox .30s; -} - - -@keyframes closebox { - from { - transform: scale(2); - } - to { - transform: scale(1); - } -} - -.grow { - transition: all .2s ease-in-out; -} - -.grow:hover { - transform: scale(1.1); -} - -.panel.panel-loading .panel-body { - position: relative; - z-index: 0 -} - -.panel.panel-loading.panel-expand .panel-body { - position: absolute -} - -.panel.panel-loading .panel-body .panel-loader { - position: absolute; - left: 0; - right: 0; - top: 0; - bottom: 0; - background: #fff; - opacity: .9; - filter: alpha(opacity=90); - animation: fadeIn .2s; - -webkit-animation: fadeIn .2s; - z-index: 1020; - -webkit-border-radius: 0 0 4px 4px; - -moz-border-radius: 0 0 4px 4px; - border-radius: 0 0 4px 4px -} - -.loading_small { - height: 30px; - width: 30px; - position: absolute; - top: 50%; - left: 50%; - margin: -20px 0 0 -20px; - background-color: #4076e0; - -webkit-animation: sk-rotateplane 1.2s infinite ease-in-out; - animation: sk-rotateplane 1.2s infinite ease-in-out; -} - -@-webkit-keyframes sk-rotateplane { - 0% { - -webkit-transform: perspective(120px) - } - 50% { - -webkit-transform: perspective(120px) rotateY(180deg) - } - 100% { - -webkit-transform: perspective(120px) rotateY(180deg) rotateX(180deg) - } -} - -@keyframes sk-rotateplane { - 0% { - transform: perspective(120px) rotateX(0deg) rotateY(0deg); - -webkit-transform: perspective(120px) rotateX(0deg) rotateY(0deg) - } - 50% { - transform: perspective(120px) rotateX(-180.1deg) rotateY(0deg); - -webkit-transform: perspective(120px) rotateX(-180.1deg) rotateY(0deg) - } - 100% { - transform: perspective(120px) rotateX(-180deg) rotateY(-179.9deg); - -webkit-transform: perspective(120px) rotateX(-180deg) rotateY(-179.9deg); - } -} - -/** 28. Accordion -*************************************************** **/ -.accordion_inverse .panel-heading { - background: #333333; - color: #FFFFFF; -} - -.accordion_inverse .panel-heading i { - background: #333333; - color: #FFFFFF; -} - -.accordion_inverse .panel { - border: 0; - box-shadow: unset !important; -} - -.accordion_bordered .panel { - border-left: 0; - border-right: 0; - box-shadow: unset; -} - -.accordion_bordered .panel:not(:last-child) { - border-bottom: 0; -} - -.accordion-toggle i { - font-size: 12px; - margin-top: 3px; -} - -.accordion .accordion-toggle.accordion-toggle-styled.collapsed .fa:before { - content: '\f067'; - font-family: "FontAwesome" !important; -} - -.accordion .accordion-toggle.accordion-toggle-styled .fa:before { - content: '\f068'; - font-family: "FontAwesome" !important; -} - -.alert-dismissable .close, .alert-dismissible .close { - right: 0; -} - -/** 29. Video Alert -*************************************************** **/ -.video_alert .video_content { - position: relative; - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-align: stretch; - -ms-flex-align: stretch; - align-items: stretch; - -webkit-box-pack: stretch; - -ms-flex-pack: stretch; - justify-content: stretch; - -webkit-box-flex: 1; - -ms-flex-positive: 1; - flex-grow: 1; - background: #fff; - overflow: hidden; - min-height: 180px; - text-align: left; -} - -.video_alert .video_title { - -webkit-box-flex: 1; - -ms-flex-positive: 1; - flex-grow: 1; - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-orient: vertical; - -webkit-box-direction: normal; - -ms-flex-direction: column; - flex-direction: column; - -webkit-box-pack: end; - -ms-flex-pack: end; - justify-content: flex-end; - position: relative; - padding: 30px; - background: -webkit-gradient(linear, right top, left top, from(rgba(0, 0, 0, .15)), to(rgba(0, 0, 0, .6))); - background: linear-gradient(270deg, rgba(0, 0, 0, .15) 0, rgba(0, 0, 0, .6)); - z-index: 1; -} - -.video_alert .video_title_text { - font-weight: inherit; - font-style: inherit; - letter-spacing: 0; - font-size: 12px; - line-height: 18px; - font-weight: 700; - letter-spacing: .075em; - text-transform: uppercase; - margin: 0; - letter-spacing: .1em; - opacity: .75; - color: #fff; -} - -.video_alert .video_desc { - font-weight: inherit; - font-style: inherit; - letter-spacing: 0; - font-size: 42px; - line-height: 44px; - font-weight: 700; - margin: 10px 0 0; - line-height: 1em; - color: #fff; -} - -.video_alert .video_anchor { - z-index: 1; - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; -} - -.video_alert .video_tag { - position: absolute; - top: 50%; - left: 50%; - min-height: 100%; - z-index: 0; - -webkit-transform: translate(-50%, -50%); - transform: translate(-50%, -50%); -} - -.video_alert .close { - right: 30px; - z-index: 2; - top: 12px; -} - -/** 30. Button -*************************************************** **/ -.btn-wd { - min-width: 140px; -} - -.btn.btn-dark { - color: #fff; - background: #333333; - border-color: #333333 -} - -.btn-dark.active, -.btn-dark:focus, -.btn-dark:hover, -.open > .dropdown-toggle.btn-dark, -.open > .dropdown-toggle.btn-dark:focus, -.open > .dropdown-toggle.btn-dark:hover { - background: #000000; - border-color: #000000 -} - -.btn-group .btn.btn-dark:not(.active) + .btn.btn-dark, -.input-group-btn .btn.btn-dark:not(.active) + .btn.btn-dark { - border-left-color: #000000 -} - -.btn.btn-white { - font-weight: 400; - color: #333; - background: #fff; - border-color: #e2e7eb -} - -/** 31. Carousel -*************************************************** **/ -.carousel-control-prev, -.carousel-control-next { - z-index: 1; -} - -.carousel-control-prev-icon, -.carousel-control-next-icon { - background-image: none; -} - -.carousel-control-prev-icon::before, -.carousel-control-next-icon::before { - font-family: 'Ionicons'; - font-size: 24px; - position: absolute; - top: 50%; - transform: translateY(-50%); -} - -.carousel-control-prev-icon::before { - content: '\f3d2'; - left: 20px; -} - -.carousel-control-next-icon::before { - content: '\f3d3'; - right: 20px; -} - -.control-top-left .carousel-control-prev, -.control-top-left .carousel-control-next, -.control-top-right .carousel-control-prev, -.control-top-right .carousel-control-next, -.control-bottom-left .carousel-control-prev, -.control-bottom-left .carousel-control-next, -.control-bottom-right .carousel-control-prev, -.control-bottom-right .carousel-control-next { - width: 40px; - height: 55px; -} - -.control-top-left .carousel-control-next, -.control-bottom-left .carousel-control-next { - left: 40px; - right: auto; -} - -.control-top-left .carousel-control-prev-icon::before, -.control-bottom-left .carousel-control-prev-icon::before { - left: 20px; -} - -.control-top-left .carousel-control-next-icon::before, -.control-bottom-left .carousel-control-next-icon::before { - right: 20px; -} - -.control-top-right .carousel-control-prev, -.control-bottom-right .carousel-control-prev { - right: 40px; - left: auto; -} - -.control-bottom-left .carousel-control-prev, -.control-bottom-left .carousel-control-next, -.control-bottom-right .carousel-control-prev, -.control-bottom-right .carousel-control-next { - top: auto; - bottom: 0; -} - -/** 32. Panel -*************************************************** **/ -.panel .sm-info { - padding-bottom: 1em; - margin-bottom: 2em; - border-bottom: 1px solid rgba(0, 0, 0, 0.1); -} - -.panel .sm-info .sm-info-with-icon { - margin-bottom: 0; -} - -.panel .sm-info-with-icon { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - margin-bottom: 2em; -} - -.panel .sm-info-with-icon .sm-info-icon { - -webkit-box-flex: 0; - -ms-flex: 0 0 70px; - flex: 0 0 70px; - color: #4076e0; - font-size: 50px; -} - -.panel .sm-info-with-icon .sm-info-icon .icon { - margin-left: 15px; - padding-right: 25px; -} - - -.panel .sm-inner-header { - margin-bottom: 0.5em; - margin-top: 0; - display: block; -} - -.panel .sm-inner-desc { - color: #999; - font-weight: 300; - font-size: inherit; - display: block; -} - -.page-container.full_width { - padding-left: 0 !important; - padding-right: 0 !important; -} - -.page-container.full_width .breadcrumb-pageheader { - padding-left: 130px !important; - padding-right: 130px !important; -} - -/** 33. Map -*************************************************** **/ -.map_height, -.jvectormap-container { - height: calc(100vh - 284px) !important; -} - -#map-zoom-in, #map-zoom-out { - height: 32px; - width: 32px; - cursor: pointer; - margin-left: 10px; - background-color: #333333; - background-repeat: no-repeat; - background-size: 32px 64px; - background-image: url("../images/icon-controller.svg"); - -webkit-transition: all 0.3s linear; - transition: all 0.3s linear -} - -#map-zoom-in:hover, #map-zoom-out:hover { - background-color: #222222; -} - -@media only screen and (min-width: 768px) { - #map-zoom-in, #map-zoom-out { - margin-left: 30px - } -} - -#map-zoom-in { - background-position: 50% 0; - margin-top: 10px; - margin-bottom: 1px -} - -@media only screen and (min-width: 768px) { - #map-zoom-in { - margin-top: 30px - } -} - -#map-zoom-out { - background-position: 50% -32px -} - -/** 34. Chartist -*************************************************** **/ -.sm-chartist .ct-label, -.sm-chartist-dark .ct-label { - font-size: 11px; -} - -.sm-chartist .ct-line, -.sm-chartist-dark .ct-line { - stroke-width: 1px; -} - -.sm-chartist .ct-point, -.sm-chartist-dark .ct-point { - stroke-width: 8px; -} - -.sm-chartist .ct-chart-pie .ct-label, -.sm-chartist .ct-chart-donut .ct-label, -.sm-chartist-dark .ct-chart-pie .ct-label, -.sm-chartist-dark .ct-chart-donut .ct-label { - font-size: 16px; - fill: rgba(255, 255, 255, 0.75); -} - -.sm-chartist .ct-series-a .ct-point, -.sm-chartist .ct-series-a .ct-line, -.sm-chartist .ct-series-a .ct-bar, -.sm-chartist .ct-series-a .ct-slice-donut, -.sm-chartist-dark .ct-series-a .ct-point, -.sm-chartist-dark .ct-series-a .ct-line, -.sm-chartist-dark .ct-series-a .ct-bar, -.sm-chartist-dark .ct-series-a .ct-slice-donut { - stroke: #007bff; -} - -.sm-chartist .ct-series-a .ct-slice-pie, -.sm-chartist .ct-series-a .ct-slice-donut-solid, -.sm-chartist-dark .ct-series-a .ct-slice-pie, -.sm-chartist-dark .ct-series-a .ct-slice-donut-solid { - fill: #007bff; - stroke: #fff; -} - -.sm-chartist .ct-series-b .ct-point, -.sm-chartist .ct-series-b .ct-line, -.sm-chartist .ct-series-b .ct-bar, -.sm-chartist .ct-series-b .ct-slice-donut, -.sm-chartist-dark .ct-series-b .ct-point, -.sm-chartist-dark .ct-series-b .ct-line, -.sm-chartist-dark .ct-series-b .ct-bar, -.sm-chartist-dark .ct-series-b .ct-slice-donut { - stroke: #ffc107; -} - -.sm-chartist .ct-series-b .ct-slice-pie, -.sm-chartist .ct-series-b .ct-slice-donut-solid, -.sm-chartist-dark .ct-series-b .ct-slice-pie, -.sm-chartist-dark .ct-series-b .ct-slice-donut-solid { - fill: #2d353c; - stroke: #fff; -} - -.sm-chartist .ct-series-c .ct-point, -.sm-chartist .ct-series-c .ct-line, -.sm-chartist .ct-series-c .ct-bar, -.sm-chartist .ct-series-c .ct-slice-donut, -.sm-chartist-dark .ct-series-c .ct-point, -.sm-chartist-dark .ct-series-c .ct-line, -.sm-chartist-dark .ct-series-c .ct-bar, -.sm-chartist-dark .ct-series-c .ct-slice-donut { - stroke: #2d353c; -} - -.sm-chartist .ct-series-c .ct-slice-pie, -.sm-chartist .ct-series-c .ct-slice-donut-solid, -.sm-chartist-dark .ct-series-c .ct-slice-pie, -.sm-chartist-dark .ct-series-c .ct-slice-donut-solid { - fill: #5856d6; - stroke: #fff; -} - -.sm-chartist .ct-series-d .ct-point, -.sm-chartist .ct-series-d .ct-line, -.sm-chartist .ct-series-d .ct-bar, -.sm-chartist .ct-series-d .ct-slice-donut, -.sm-chartist-dark .ct-series-d .ct-point, -.sm-chartist-dark .ct-series-d .ct-line, -.sm-chartist-dark .ct-series-d .ct-bar, -.sm-chartist-dark .ct-series-d .ct-slice-donut { - stroke: #28a745; -} - -.sm-chartist .ct-series-d .ct-slice-pie, -.sm-chartist .ct-series-d .ct-slice-donut-solid, -.sm-chartist-dark .ct-series-d .ct-slice-pie, -.sm-chartist-dark .ct-series-d .ct-slice-donut-solid { - fill: #28a745; - stroke: #fff; -} - -.sm-chartist .ct-series-e .ct-point, -.sm-chartist .ct-series-e .ct-line, -.sm-chartist .ct-series-e .ct-bar, -.sm-chartist .ct-series-e .ct-slice-donut, -.sm-chartist-dark .ct-series-e .ct-point, -.sm-chartist-dark .ct-series-e .ct-line, -.sm-chartist-dark .ct-series-e .ct-bar, -.sm-chartist-dark .ct-series-e .ct-slice-donut { - stroke: #F47322; -} - -.sm-chartist .ct-series-e .ct-slice-pie, -.sm-chartist .ct-series-e .ct-slice-donut-solid, -.sm-chartist-dark .ct-series-e .ct-slice-pie, -.sm-chartist-dark .ct-series-e .ct-slice-donut-solid { - fill: #F47322; - stroke: #fff; -} - -.sm-chartist-dark .ct-grid { - stroke: rgba(255, 255, 255, 0.15); -} - -.sm-chartist-dark .ct-label { - color: #868ba1; -} - -.sm-chartist-dark .ct-series-a .ct-slice-pie, -.sm-chartist-dark .ct-series-b .ct-slice-pie, -.sm-chartist-dark .ct-series-c .ct-slice-pie, -.sm-chartist-dark .ct-series-d .ct-slice-pie, -.sm-chartist-dark .ct-series-e .ct-slice-pie { - stroke: #212529; -} - -.ct-series-b .ct-slice-pie, .ct-series-b .ct-slice-donut-solid, .ct-series-b .ct-area, -.ct-series-a .ct-slice-pie, .ct-series-a .ct-slice-donut-solid, .ct-series-a .ct-area { - fill: #2d353c !important; -} - -.mg-r--1 { - margin-right: -1px; -} - -.sm-card-title { - text-transform: uppercase; - font-weight: 700; - font-size: 13px; - color: #343a40; - letter-spacing: 1px; - margin-bottom: 0; -} - -.highcharts-menu hr { - display: none !important; -} - -.height-sm { - height: 350px !important; -} - -.height-400 { - height: 400px !important; -} - -.height-500 { - height: 500px !important; -} - -.height-600 { - height: 600px !important; -} - -.charjs-chart { - position: relative; - text-align: center; -} - -.charjs-chart .charjs-chart-label { - position: absolute; - top: 50%; - left: 50%; - -webkit-transform: translate(-50%, -50%); - transform: translate(-50%, -50%); - text-align: center; - text-transform: uppercase; - z-index: 1; - line-height: 28px; -} - -.charjs-chart .charjs-chart-label strong { - display: block; - font-size: 1.5em !important; - font-weight: bolder; -} - -.charjs-chart .charjs-chart-label span { - display: block; -} - -.chartjs-render-monitor { - -webkit-animation: chartjs-render-animation 0.001s; - animation: chartjs-render-animation 0.001s; -} - -.echarts-tooltip { - font-size: 11px !important; -} - -.charjs-chart .charjs-chart-label span { - display: block; -} - - -.rickshar_card-body { - position: relative; - padding: 1em 1em; -} - -.rickshar_card { - position: relative; - border: 1px solid #ddd; - background: #fff; - -webkit-transition: all 0.3s linear; - transition: all 0.3s linear; - display: -ms-flexbox; - display: flex; - -ms-flex-direction: column; - flex-direction: column; - min-width: 0; - word-wrap: break-word; - background-clip: border-box; -} - -.justify-content-center { - -ms-flex-pack: center !important; - justify-content: center !important; -} - - -/** 35. Cards -*************************************************** **/ -.category-box-full { - position: relative; - height: 100%; - min-height: 350px; - overflow: hidden; - margin-bottom: 30px; -} - -.category-boxs { - background: 50% no-repeat #f4f5f7; - display: block; - height: 100%; - margin-bottom: 15px; - background-size: cover; - overflow: hidden; - cursor: pointer; -} - -.category-boxs:before { - content: ""; - position: absolute; - height: 100%; - width: 100%; - z-index: 1; - background: -webkit-linear-gradient(to top, rgba(37, 40, 43, .57) 0, rgba(41, 44, 47, .4) 35%, rgba(22, 22, 23, 0) 60%, rgba(0, 0, 0, 0) 100%); - background: -o-linear-gradient(to top, rgba(37, 40, 43, .57) 0, rgba(41, 44, 47, .4) 35%, rgba(22, 22, 23, 0) 60%, rgba(0, 0, 0, 0) 100%); - background: linear-gradient(to top, rgba(37, 40, 43, .57) 0, rgba(41, 44, 47, .4) 35%, rgba(22, 22, 23, 0) 60%, rgba(0, 0, 0, 0) 100%) -} - -.category-box-content { - position: absolute; - bottom: 30px; - left: 34px; - width: calc(100% - 68px); - z-index: 50; - box-sizing: border-box -} - -.category-box-content h3 { - color: #fff; - font-size: 24px; - padding: 5px 0; - margin: 0; - text-transform: capitalize -} - -.category-box-content span { - font-size: 16px; - font-weight: 300; - display: inline-block; - color: rgba(255, 255, 255, .9) -} - -@media (max-width: 1600px) { - .category-box-content { - bottom: 85px - } - - .category-box-btn { - left: 32px; - right: auto - } -} - -.category-box-btn { - position: absolute; - right: 32px; - bottom: 32px; - z-index: 111; - background-color: transparent; - border: 1px solid #fff; - color: #fff; - padding: 6px 0; - text-align: center; - min-width: 100px; - width: 100px; - transition: all .3s -} - -.category-boxs:focus .category-box-btn, -.category-boxs:hover .category-box-btn { - background: #4076e0; - border-color: #4076e0; - color: #fff -} - -.category-box-bg { - width: 100%; - height: 100%; - position: absolute; - top: 0; - left: 0; - background-repeat: no-repeat; - background-position: 50%; - background-size: cover; - transition: transform .35s ease-out; - transform: translate3d(0, 0, 0) scale(1); - image-rendering: -webkit-optimize-contrast -} - -.category-boxs:hover .category-box-bg { - transform: translate3d(0, 0, 0) scale(1.50) -} - - -/** 36. Table-dark -*************************************************** **/ -.table-dark { - color: #fff; - background-color: #333333; -} - -.table-dark.table thead th { - color: #777777; -} - -.table-dark td, .table-dark th, .table-dark thead th { - border-color: #777777; -} - -.detail-icon i { - color: #4076e0; -} - -td.details-control { - background: url('../plugins/DataTables/details_open.png') no-repeat center center !important; - cursor: pointer; - padding: 15px !important; -} - -tr.shown td.details-control { - background: url('../plugins/DataTables/details_close.png') no-repeat center center !important; -} - -.table.table-separate tbody tr { - border-radius: 4px; - -webkit-transition: all 0.1s ease; - transition: all 0.1s ease; -} - -.table.table-separate tbody tr:hover { - -webkit-box-shadow: 0px 2px 5px rgba(69, 101, 173, 0.1); - box-shadow: 0px 2px 5px rgba(69, 101, 173, 0.1); - -webkit-transform: translateY(-1px) scale(1.01); - transform: translateY(-1px) scale(1.01); -} - -.table.table-separate { - border-collapse: separate; - border-spacing: 0 5px; - background: transparent; -} - -.table .user-with-avatar img { - width: 35px; - height: 35px; - display: inline-block; - vertical-align: middle; - border-radius: 50px; -} - -.table.table-separate tbody td { - /*padding: 0.9em 1.1em;*/ - background-color: #fff; - border: none; - border-right: 1px solid rgba(0, 0, 0, 0.03); -} - -.table.table-separate.dark tbody td { - background-color: #333333; -} - -.table.table-separate.dark tbody tr:hover td { - background-color: #222222; -} - -.table.table-separate.dark thead th { - background-color: #333333; -} - -.table-separate .form-check { - position: relative; - display: block; - margin-bottom: 0em; -} - -.table-separate .user_box { - display: flex; -} - -.table-separate .user_email { - display: inline-grid; - padding-left: 10px; -} - -.table-separate input[type=checkbox] { - margin: 10px 0 0; -} - -.table-separate .material-icons { - cursor: pointer; - font-size: 20px; - margin-top: 8px; -} - -@media (min-width: 1025px) { - .table-responsive:hover { - overflow: visible; - } - - .table-responsive { - overflow: visible; - } -} - -/** 37. 404 -*************************************************** **/ -.pvr-404 { - background-size: contain !important; - height: 35vh; - margin-top: 80px; -} - -.pvr-404_v2 { - background-size: contain !important; - height: 40vh; - margin-top: 30px; -} - -/** 38. Container -*************************************************** **/ -.pri_main_container { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-orient: vertical; - -webkit-box-direction: normal; - -ms-flex-flow: column nowrap; - flex-flow: column nowrap; - overflow: hidden -} - -.pri_container { - position: relative; - margin: auto; - padding-left: 10px; - padding-right: 10px; - width: 95% -} - -@media (min-width: 750px) { - .pri_container { - width: 95%; - max-width: 95%; - padding-left: 5px; - padding-right: 5px; - margin-left: auto; - margin-right: auto - } -} - -@media (min-width: 1000px) { - .pri_container { - width: 95%; - max-width: 95%; - padding-left: 0; - padding-right: 0; - margin-left: auto; - margin-right: auto - } -} - -@media (min-width: 1200px) { - .pri_container { - width: 1370px; - max-width: 95%; - margin-left: auto; - margin-right: auto - } -} - -.pri_svg_fill { - fill: currentColor; - height: 1em -} - -.pri_svg_1 { - position: absolute; - bottom: 0; - right: 0; - height: 85px; - -webkit-transform: translate(140%, 50%); - transform: translate(140%, 50%) -} - -.pri_svg_2 { - display: none -} - -@media (min-width: 750px) { - .pri_svg_2 { - display: block; - position: absolute; - bottom: 30px; - right: 0; - -webkit-transform: translate(50%); - transform: translate(50%); - height: 20px - } -} - -@media (min-width: 1000px) { - .pri_svg_2 { - display: block; - position: absolute; - bottom: 15%; - right: 50px; - -webkit-transform: translate(50%); - transform: translate(50%) - } -} - -.pri_svg_3 { - position: absolute; - height: 40px; - bottom: -10px; - left: -25px; - -webkit-transform: translateY(30%) rotate(180deg); - transform: translateY(30%) rotate(180deg) -} - -@media (min-width: 750px) { - .pri_svg_3 { - height: 70px - } -} - -.pri_svg_4 { - display: none -} - -@media (min-width: 750px) { - .pri_svg_4 { - display: block; - position: absolute; - top: 0; - right: 0; - -webkit-transform: translate(70%, -70%) rotate(45deg); - transform: translate(70%, -70%) rotate(45deg); - height: 460px - } -} - -@media (min-width: 1000px) { - .pri_svg_4 { - -webkit-transform: translate(50%, -75%) rotate(45deg); - transform: translate(50%, -75%) rotate(45deg) - } -} - -@media (min-width: 1200px) { - .pri_svg_4 { - -webkit-transform: translate(60%, -50%) rotate(45deg); - transform: translate(60%, -50%) rotate(45deg) - } -} - -.pri_svg_5 { - position: absolute; - top: 0; - left: -20px; - -webkit-transform: translate(15%, 40%) rotate(-45deg); - transform: translate(15%, 40%) rotate(-45deg); - height: 35px -} - -@media (min-width: 750px) { - .pri_svg_5 { - top: 8%; - -webkit-transform: translate(50%, -50%) rotate(-45deg); - transform: translate(50%, -50%) rotate(-45deg); - height: 55px - } -} - -.pri_svg_6 { - display: none -} - -@media (min-width: 375px) { - .pri_svg_6 { - display: block; - position: absolute; - bottom: 50px; - right: 0; - height: 40px; - -webkit-transform: rotate(90deg); - transform: rotate(90deg) - } -} - -@media (min-width: 750px) { - .pri_svg_6 { - height: 58px; - top: 25%; - left: -30px; - -webkit-transform: rotate(-45deg); - transform: rotate(-45deg) - } -} - -.pri_svg_7 { - display: none -} - -@media (min-width: 750px) { - .pri_svg_7 { - display: block; - position: absolute; - top: 60%; - right: 0; - -webkit-transform: rotate(-45deg) translateX(40%); - transform: rotate(-45deg) translateX(40%); - height: 50px - } -} - -.pri_svg_8 { - position: absolute; - height: 26px; - top: 10px; - right: 0; - -webkit-transform: rotate(-40deg); - transform: rotate(-40deg) -} - -@media (min-width: 750px) { - .pri_svg_8 { - top: 65%; - left: 0; - height: 50px; - -webkit-transform: rotate(-45deg) translateX(-150%); - transform: rotate(-45deg) translateX(-150%) - } -} - -.pri_title { - position: relative; - z-index: 1; - text-align: center; - padding: 60px 0 80px -} - -@media (min-width: 750px) { - .pri_title { - padding: 90px 0 100px - } -} - -@media (min-width: 1000px) { - .pri_title { - padding-bottom: 120px - } -} - -.pri_title_p { - font-weight: inherit; - font-style: inherit; - font-size: 14px; - font-weight: 700; - line-height: 18px; - letter-spacing: .02em; - letter-spacing: 0; - font-weight: 400; - margin: 20px auto 30px; - max-width: 280px -} - -@media (min-width: 750px) { - .pri_title_p { - font-weight: inherit; - font-style: inherit; - font-size: 18px; - font-weight: 700; - line-height: 22px; - letter-spacing: .02em; - letter-spacing: 0; - color: #959597; - font-weight: 400; - margin: 20px auto 60px; - max-width: 490px - } -} - -@media (min-width: 1000px) { - .pri_title_p { - max-width: none - } -} - -.pri_title_img { - height: 1.2em; - vertical-align: text-top -} - -.pri_pick_plan { - min-height: 440px; - margin: auto; - max-width: 300px -} - -@media (min-width: 480px) { - .pri_pick_plan { - max-width: 390px - } -} - -@media (min-width: 750px) { - .pri_pick_plan { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-pack: justify; - -ms-flex-pack: justify; - justify-content: space-between; - max-width: 650px; - } -} - -@media (min-width: 1025px) { - .pri_pick_plan { - max-width: 65%; - } - - .pri_lean_more_p { - width: 65% !important; - } -} - -.pri_pick_plan_div { - -webkit-box-flex: 1; - -ms-flex-positive: 1; - flex-grow: 1; - text-align: center -} - -@media (min-width: 750px) { - .pri_pick_plan_div { - text-align: left - } -} - -.pri_pick_plan_h2 { - font-weight: inherit; - font-style: inherit; - letter-spacing: 0; - font-size: 16px; - line-height: 20px; - letter-spacing: .025em; - margin-top: 0; - margin-bottom: 10px; - margin-bottom: 20px; - font-weight: 700; - margin-bottom: 5px; - margin-top: 60px -} - -@media (min-width: 750px) { - .pri_pick_plan_h2 { - font-weight: inherit; - font-style: inherit; - letter-spacing: 0; - font-size: 22px; - line-height: 24px; - font-weight: 700 - } -} - -.pri_pick_plan_p { - font-weight: inherit; - font-style: inherit; - font-size: 12px; - font-weight: 700; - line-height: 16px; - letter-spacing: .03em; - letter-spacing: 0; - color: #aeaeaf; - margin: 0 0 30px -} - -@media (min-width: 750px) { - .pri_pick_plan_p { - margin: 0 - } -} - -.pri_pick_plan_ul_parent { - display: none; - margin-top: 30px -} - -@media (min-width: 750px) { - .pri_pick_plan_ul_parent { - display: block - } -} - -.pri_pick_plan_ul { - list-style: none; - margin: 0; - padding: 0; - -webkit-box-flex: 1; - -ms-flex-positive: 1; - flex-grow: 1; - margin-bottom: 20px -} - -.pri_pick_plan_li { - position: relative; - font-weight: inherit; - font-style: inherit; - font-weight: 700; - line-height: 18px; - letter-spacing: .02em; - font-weight: 400; - font-size: 14px; - letter-spacing: 0; - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - line-height: 26px; - padding-top: 10px; - padding-bottom: 10px; - min-height: 46px; - text-align: left -} - -.pri_pick_plan_li:hover { - font-weight: 600 -} - -.pri_pick_plan_li:hover .pri_pick_plan_li_div { - background-color: hsla(0, 0%, 93%, .4) -} - -.pri_pick_plan_li_div { - position: absolute; - background-color: transparent; - border-radius: 6px 0 0 6px; - -webkit-transition: background-color .2s ease-in-out; - transition: background-color .2s ease-in-out; - z-index: 1; - pointer-events: none; - top: 0; - bottom: 0; - left: -15px; - right: -371px -} - -.pri_plan_one_li:hover { - font-weight: 400 -} - -.pri_plan_one_li:hover .pri_pick_plan_li_div { - background-color: transparent -} - -.pri_pick_plan_li_span { - z-index: 9000; - -webkit-transition: font-weight .1s; - transition: font-weight .1s -} - -@media (min-width: 750px) { - .pri_plan_one_li { - -webkit-box-pack: center; - -ms-flex-pack: center; - justify-content: center - } - - .pri_plan_one_li .pri_pick_plan_li_span { - display: none - } -} - -.pri_plan_one { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-orient: vertical; - -webkit-box-direction: normal; - -ms-flex-direction: column; - flex-direction: column -} - -@media (min-width: 750px) { - .pri_plan_one { - -ms-flex-negative: 0; - flex-shrink: 0; - -webkit-box-orient: horizontal; - -webkit-box-direction: normal; - -ms-flex-direction: row; - flex-direction: row; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center - } -} - -@media (min-width: 750px) { - .pri_plan_div { - -ms-flex-negative: 0; - flex-shrink: 0 - } -} - -.pri_plan_parent { - position: relative; - -webkit-box-shadow: 0 3px 6px rgba(0, 0, 0, .1); - box-shadow: 0 3px 6px rgba(0, 0, 0, .1); - border-radius: 6px; - background-color: #fff; - -webkit-transition: translate .18s, -webkit-box-shadow .18s ease-in-out; - transition: translate .18s, -webkit-box-shadow .18s ease-in-out; - transition: translate .18s, box-shadow .18s ease-in-out; - transition: translate .18s, box-shadow .18s ease-in-out, -webkit-box-shadow .18s ease-in-out; - -webkit-transform: translateY(0); - transform: translateY(0); - z-index: 0 -} - -@media (min-width: 750px) { - .pri_plan_parent:hover { - -webkit-box-shadow: 0 5px 25px rgba(0, 0, 0, .1); - box-shadow: 0 5px 25px rgba(0, 0, 0, .1); - -webkit-transform: translateY(-1px); - transform: translateY(-1px) - } -} - -.pri_plan_parent_div { - display: inline-block; - position: relative; - -webkit-box-ordinal-group: 2; - -ms-flex-order: 1; - order: 1 -} - -.pri_plan_parent_div.pri_plan_two { - -webkit-box-ordinal-group: 3; - -ms-flex-order: 2; - order: 2 -} - -@media (max-width: 749px) { - .pri_plan_parent_div:last-of-type { - margin-top: 30px - } -} - -@media (min-width: 750px) { - .pri_plan_parent_div.pri_plan_two { - margin-left: 10px - } -} - -.pri_plan_one_head { - text-align: center; - border-bottom: 2px solid #f2f2f3; - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-orient: vertical; - -webkit-box-direction: normal; - -ms-flex-direction: column; - flex-direction: column; - -webkit-box-pack: justify; - -ms-flex-pack: justify; - justify-content: space-between; - padding: 20px; - position: relative -} - -.pri_plan_one_head_span { - color: #aeaeaf; - font-size: 14px; - text-transform: capitalize -} - -.pri_plan_one_head_span, .pri_plan_one_head_span_two { - font-weight: inherit; - font-style: inherit; - /*font-family: Montserrat, -apple-system, BlinkMacSystemFont, Segoe UI, Fira Sans, Helvetica Neue, Arial, sans-serif;*/ - line-height: 18px; - letter-spacing: .075em; - font-weight: 700; - letter-spacing: 0 -} - -.pri_plan_one_head_h2 { - font-size: 30px; - font-weight: 700; - line-height: 30px; - margin: 10px 0 0 -} - -.pri_plan_one_head_span_three, .pri_plan_one_head_h2 { - /*font-family: Montserrat, -apple-system, BlinkMacSystemFont, Segoe UI, Fira Sans, Helvetica Neue, Arial, sans-serif*/ -} - -.pri_plan_one_head_span_two { - font-size: 12px; - color: #4772d9; - min-height: 18px; - margin-bottom: 10px -} - -.pri_plan_one_head_span_three { - position: absolute; - display: block; - bottom: 0; - left: 0; - right: 0; - font-weight: inherit; - font-style: inherit; - font-size: 12px; - line-height: 18px; - letter-spacing: .075em; - color: #aeaeaf; - min-height: 18px; - font-weight: 700; - letter-spacing: 0; - margin-bottom: 10px -} - -.pri_plan_one_svg_p { - padding: 5px 20px 20px -} - -.pri_plan_one_svg { - height: 12px; - max-width: 16px; - margin-right: 10px -} - -@media (min-width: 750px) { - .pri_plan_one_svg { - margin-right: 0 - } -} - -.pri_plan_one_clr_svg { - color: #00dcaf -} - -.pri_plan_one_a { - min-height: 35px; - padding: 11px 30px; - font-weight: inherit; - font-style: inherit; - letter-spacing: 0; - /*font-family: Montserrat, -apple-system, BlinkMacSystemFont, Segoe UI, Fira Sans, Helvetica Neue, Arial, sans-serif;*/ - font-size: 12px; - line-height: 18px; - font-weight: 700; - letter-spacing: .075em; - text-transform: uppercase; - margin-top: auto; - margin-bottom: auto; - white-space: nowrap; - outline: 0; - border: none; - border-radius: 6px; - display: inline-block; - cursor: pointer; - line-height: 1em; - -webkit-transition: all .2s ease-in-out; - transition: all .2s ease-in-out; - position: relative; - background-color: #f93d66; - color: #fff; - display: block; - text-align: center; - z-index: 9001 -} - -.pri_plan_one_a:active { - padding-top: 11px; - padding-bottom: 9px -} - -.pri_plan_one_a:active, .pri_plan_one_a:focus, .pri_plan_one_a:hover { - background-color: #c73152 -} - -.pri_plan_one_a_sub { - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; - z-index: 9000; - pointer-events: none -} - -@media (min-width: 750px) { - .pri_plan_one_a_sub { - pointer-events: auto - } -} - -.pri_lean_more_p { - font-weight: inherit; - font-style: inherit; - /*font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Fira Sans, Helvetica Neue, Arial, sans-serif;*/ - font-size: 14px; - font-weight: 700; - line-height: 18px; - letter-spacing: .02em; - font-weight: 600; - color: #959597; - width: auto; - letter-spacing: 0; - text-align: center; - margin: 20px auto 0; - padding-right: 0 -} - -@media (min-width: 750px) { - .pri_lean_more_p { - width: 690px; - text-align: right; - margin-top: 25px; - padding-right: 2px - } -} - -.pri_lean_more_button { - border: 0; - outline: 0; - background-color: transparent; - color: inherit; - padding: 0; - margin: 0; - text-decoration: underline; - cursor: pointer -} - -.pri_lean_more_button:hover { - color: #505050; - text-decoration: none -} - -/** 39. Cookie Modal -*************************************************** **/ -#cookie_modal .modal-dialog { - max-width: 400px; - margin: 10px 30px; -} - -@media (min-width: 576px) { - .modal.left_top { - top: 0; - right: 0; - bottom: 0; - left: 0; - } - - .modal.left_bottom { - right: 0; - bottom: 0; - left: 0; - top: unset; - } - - .modal.right_top { - right: 0; - bottom: 0; - left: unset; - top: 0; - } - - .modal.right_bottom { - right: 0; - bottom: 0; - left: unset; - top: unset; - } - - .modal.top_center { - right: 0; - bottom: 0; - left: 0; - top: 0; - } - - .modal.bottom_center { - right: 0; - bottom: 0; - left: 0; - top: unset; - } - - .modal.top_center .modal-dialog { - margin: 10px auto !important; - } - - .modal.bottom_center .modal-dialog { - margin: 10px auto !important; - } -} - -.modal.effect-flip-horizontal { - perspective: 1300px; -} - -.modal.effect-flip-horizontal .modal-dialog { - -moz-transform-style: preserve-3d; - transform-style: preserve-3d; - transform: rotateY(-70deg); - transition: all 0.5s; - opacity: 0; -} - -.modal.effect-flip-horizontal.show .modal-dialog { - transform: rotateY(0deg); - opacity: 1; -} - -.pvr_cookie { - z-index: 1000; - position: fixed; -} - -.cookieNotice { - text-align: left; - width: 100%; - padding: 24px; -} - -.cookieNotice .title { - font-weight: 800; - font-size: 18px; - margin: 0; - padding: 0; -} - -.cookieNotice p, .cookieNotice a { - text-align: left; - font-size: 12px; - margin: 0; - padding: 0; -} - -.cookieNotice label { - position: absolute; - right: 20px; - top: 20px; - width: 32px; - height: 32px; - content: ""; - opacity: .6; - background: url(../images/down.png) 0 0 no-repeat; -} - -.closeModal { - cursor: pointer; -} - -.cookieNotice.cookie_dark { - background: #333333; - color: #fff; -} - -.cookieNotice.cookie_dark label { - background: url(../images/down.png) 0 0 no-repeat; -} - - -.cookieNotice.cookie_light { - background: rgba(238, 238, 238, .9); - color: #333; -} - -.cookieNotice.cookie_light label { - background: url(../images/down_dark.png) 0 0 no-repeat; -} - - -.pvr_cookie.bottomLeft { - bottom: 0; - left: 0; - width: 100% !important; - margin: 0; - padding: 0; - box-shadow: none; -} - - -.pvr_cookie.topLeft { - top: 0; - left: 0; - width: 100% !important; - margin: 0; - padding: 0; - box-shadow: none; -} - - -.pvr_cookie.boxedTopLeft { - top: 0; - left: 0; - width: 30%; - margin: 10px; - padding: 0; - box-shadow: none; -} - -.pvr_cookie.boxedTopLeft .cookieNotice p, -.pvr_cookie.boxedTopLeft .cookieNotice a { - width: 80%; -} - -.pvr_cookie.boxedTopRight { - top: 0; - right: 0; - width: 30%; - margin: 10px; - padding: 0; - box-shadow: none; -} - -.pvr_cookie.boxedTopRight .cookieNotice p, -.pvr_cookie.boxedTopRight .cookieNotice a { - width: 80%; -} - -.pvr_cookie.boxedBottomLeft { - bottom: 0; - left: 0; - width: 30%; - margin: 10px; - padding: 0; - box-shadow: none; -} - -.pvr_cookie.boxedBottomLeft .cookieNotice p, -.pvr_cookie.boxedBottomLeft .cookieNotice a { - width: 80%; -} - -.pvr_cookie.boxedBottomRight { - bottom: 0; - right: 0; - width: 30%; - margin: 10px; - padding: 0; - box-shadow: none; -} - -.pvr_cookie.boxedBottomRight .cookieNotice p, -.pvr_cookie.boxedBottomRight .cookieNotice a { - width: 80%; -} - -.pvr_cookie.boxedCenterTop { - width: 30%; - margin: 10px auto; - padding: 0; - box-shadow: none; - right: 0; - bottom: 0; - left: 0; - top: 0; -} - -.pvr_cookie.boxedCenterTop .cookieNotice p, -.pvr_cookie.boxedCenterTop .cookieNotice a { - width: 80%; -} - -.pvr_cookie.boxedCenterBottom { - width: 30%; - margin: 10px auto; - padding: 0; - box-shadow: none; - right: 0; - bottom: 0; - left: 0; -} - -.pvr_cookie.boxedCenterBottom .cookieNotice p, -.pvr_cookie.boxedCenterBottom .cookieNotice a { - width: 80%; -} - -.cookieNotice.bg-primary *, -.cookieNotice.bg-success *:not(a), -.cookieNotice.bg-danger *:not(a), -.cookieNotice.bg-info *:not(a), -.cookieNotice.bg-warning *:not(a), -.cookieNotice.bg-secondary *:not(a) { - color: #ffffff; -} - -@media screen and (max-width: 560px) { - .cookieNotice, - .pvr_cookie { - height: auto !important; - } - - .pvr_cookie { - width: 100% !important; - } - - .cookieNotice p { - padding-right: 30px !important; - } - - .cookieNotice label { - top: 20px !important; - right: 20px !important; - } -} - -@media screen and (min-width: 768px) { - .pvr_cookie { - width: 50% !important; - } -} - -@media screen and (min-width: 1024px) { - .pvr_cookie { - width: 40% !important; - } -} - -@media screen and (min-width: 1440px) { - .pvr_cookie { - width: 30% !important; - } -} - -.feature--boxed-border { - padding: 2em; - border: 1px solid #f1f1f1; - position: relative; -} - -.row .feature > .icon-block { - margin-top: 0 !important; -} - -.icon-block { - position: relative; -} - -.feature--boxed-border.active:after { - content: ''; - position: absolute; - bottom: 0; - width: 100%; - height: 2px; - background: #3452ff; - left: 0; -} - -.icon-block--style-1-v1 .block-icon { - width: 50px; - height: 50px; - position: absolute; - left: 0; - top: 0; - line-height: 1; -} - -.icon-block--style-1-v1 .block-icon i, .icon-block--style-1-v1 .block-icon .icon-number { - font-size: 50px; -} - -.icon-block--style-1-v1 .block-icon > .icon-number, .icon-block--style-1-v1 .block-icon i { - color: #3452ff; -} - -.icon-block--style-1-v1 .block-content { - padding-left: 70px; -} - -.heading-5 { - font-size: 1.125em !important; - margin-bottom: 0 !important; -} - -.heading-5 + small + p { - margin-top: 6px !important; -} - -.heading { - margin: 0 0 6px; - padding: 0; - text-transform: none; - font-weight: 600; - color: #111; - line-height: 1.46; -} - -.feature--boxed-border p { - margin-bottom: 0; -} - -.pvr_material_icons_list .wi, -.pvr_material_icons_list .icons, -.pvr_material_icons_list .material-icons, -.pvr_material_icons_list .fa, -.pvr_material_icons_list .ion { - font-size: 35px; - color: #888888; -} - -.pvr_material_icons_list .col-md-2 { - padding: 20px; -} - -.element-search { - margin-bottom: 20px; -} - -/** 40. Invoice -*************************************************** **/ -.invoice_v2 .card-invoice .card-body { - padding: 30px; -} - -.invoice_v2 .heading-1 { - font-size: 2.5em !important; - line-height: 1.3; -} - -@media (min-width: 768px) { - .invoice_v2 .card-invoice .card-body { - padding: 60px; - } -} - -@media (min-width: 768px) { - .invoice_v2 .invoice-header { - display: flex; - justify-content: space-between; - flex-direction: row-reverse; - } -} - -.invoice_v2 .invoice-title { - margin-bottom: 0; - text-transform: uppercase; - color: #ced4da; - font-family: "Montserrat", "Helvetica Neue", Arial, sans-serif; - font-weight: 700; -} - -.invoice_v2 .billed-from { - margin-top: 25px; -} - -@media (min-width: 768px) { - .invoice_v2 .billed-from { - margin-top: 0; - } -} - -.invoice_v2 .billed-from h6 { - color: #1b84e7; - font-size: 15px; -} - -.invoice_v2 .billed-from p { - line-height: 1.7; -} - -.invoice_v2 .billed-to h6 { - color: #343a40; - font-size: 15px; -} - -.invoice_v2 .billed-to p { - line-height: 1.7; -} - -.invoice_v2 .invoice-info-row { - display: flex; - justify-content: space-between; - padding: 5px 0; - margin-bottom: 0; -} - -.invoice_v2 .invoice-info-row + .invoice-info-row { - border-top: 1px dashed #dee2e6; -} - -.invoice_v2 .invoice-info-row span:first-child { - color: #495057; -} - -.invoice_v2 .table-invoice tbody > tr > th:first-child, -.invoice_v2 .table-invoice tbody > tr > td:first-child { - color: #495057; - font-weight: 500; -} - -.invoice_v2 .table-invoice tbody > tr > th:first-child .invoice-notes, -.invoice_v2 .table-invoice tbody > tr > td:first-child .invoice-notes { - margin-right: 20px; -} - -.invoice_v2 .table-invoice tbody > tr > th:first-child .invoice-notes .section-label-sm, -.invoice_v2 .table-invoice tbody > tr > td:first-child .invoice-notes .section-label-sm { - font-weight: 600; -} - -.invoice_v2 .table-invoice tbody > tr > th:first-child .invoice-notes p, -.invoice_v2 .table-invoice tbody > tr > td:first-child .invoice-notes p { - font-size: 13px; - font-weight: 400; - color: #868ba1; -} - -.noresize { - resize: none; -} - -/** 41. Market Buttons -*************************************************** **/ -.market-button { - display: inline-block; - margin-right: 14px; - margin-bottom: 14px; - padding: 5px 14px 5px 45px; - transition: background-color .3s; - border: 1px solid #e1e7ec; - border-radius: 5px; - background-position: center left 12px; - background-color: #ffffff; - background-size: 24px 24px; - background-repeat: no-repeat; - text-decoration: none; -} - -.market-button:hover { - background-color: #f5f5f5; -} - -.market-button .mb-subtitle { - display: block; - margin-bottom: -4px; - color: #9da9b9; - font-size: 12px; -} - -.market-button .mb-title { - display: block; - color: #606975; - font-size: inherit; -} - -.market-button.apple-button { - background-image: url(data:image/svg+xml;utf8;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iaXNvLTg4NTktMSI/Pgo8IS0tIEdlbmVyYXRvcjogQWRvYmUgSWxsdXN0cmF0b3IgMTkuMC4wLCBTVkcgRXhwb3J0IFBsdWctSW4gLiBTVkcgVmVyc2lvbjogNi4wMCBCdWlsZCAwKSAgLS0+CjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgdmVyc2lvbj0iMS4xIiBpZD0iTGF5ZXJfMSIgeD0iMHB4IiB5PSIwcHgiIHZpZXdCb3g9IjAgMCAzMDUgMzA1IiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCAzMDUgMzA1OyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSIgd2lkdGg9IjI0cHgiIGhlaWdodD0iMjRweCI+CjxnIGlkPSJYTUxJRF8yMjhfIj4KCTxwYXRoIGlkPSJYTUxJRF8yMjlfIiBkPSJNNDAuNzM4LDExMi4xMTljLTI1Ljc4NSw0NC43NDUtOS4zOTMsMTEyLjY0OCwxOS4xMjEsMTUzLjgyQzc0LjA5MiwyODYuNTIzLDg4LjUwMiwzMDUsMTA4LjIzOSwzMDUgICBjMC4zNzIsMCwwLjc0NS0wLjAwNywxLjEyNy0wLjAyMmM5LjI3My0wLjM3LDE1Ljk3NC0zLjIyNSwyMi40NTMtNS45ODRjNy4yNzQtMy4xLDE0Ljc5Ny02LjMwNSwyNi41OTctNi4zMDUgICBjMTEuMjI2LDAsMTguMzksMy4xMDEsMjUuMzE4LDYuMDk5YzYuODI4LDIuOTU0LDEzLjg2MSw2LjAxLDI0LjI1Myw1LjgxNWMyMi4yMzItMC40MTQsMzUuODgyLTIwLjM1Miw0Ny45MjUtMzcuOTQxICAgYzEyLjU2Ny0xOC4zNjUsMTguODcxLTM2LjE5NiwyMC45OTgtNDMuMDFsMC4wODYtMC4yNzFjMC40MDUtMS4yMTEtMC4xNjctMi41MzMtMS4zMjgtMy4wNjZjLTAuMDMyLTAuMDE1LTAuMTUtMC4wNjQtMC4xODMtMC4wNzggICBjLTMuOTE1LTEuNjAxLTM4LjI1Ny0xNi44MzYtMzguNjE4LTU4LjM2Yy0wLjMzNS0zMy43MzYsMjUuNzYzLTUxLjYwMSwzMC45OTctNTQuODM5bDAuMjQ0LTAuMTUyICAgYzAuNTY3LTAuMzY1LDAuOTYyLTAuOTQ0LDEuMDk2LTEuNjA2YzAuMTM0LTAuNjYxLTAuMDA2LTEuMzQ5LTAuMzg2LTEuOTA1Yy0xOC4wMTQtMjYuMzYyLTQ1LjYyNC0zMC4zMzUtNTYuNzQtMzAuODEzICAgYy0xLjYxMy0wLjE2MS0zLjI3OC0wLjI0Mi00Ljk1LTAuMjQyYy0xMy4wNTYsMC0yNS41NjMsNC45MzEtMzUuNjExLDguODkzYy02LjkzNiwyLjczNS0xMi45MjcsNS4wOTctMTcuMDU5LDUuMDk3ICAgYy00LjY0MywwLTEwLjY2OC0yLjM5MS0xNy42NDUtNS4xNTljLTkuMzMtMy43MDMtMTkuOTA1LTcuODk5LTMxLjEtNy44OTljLTAuMjY3LDAtMC41MywwLjAwMy0wLjc4OSwwLjAwOCAgIEM3OC44OTQsNzMuNjQzLDU0LjI5OCw4OC41MzUsNDAuNzM4LDExMi4xMTl6IiBmaWxsPSIjMmUyZTJlIi8+Cgk8cGF0aCBpZD0iWE1MSURfMjMwXyIgZD0iTTIxMi4xMDEsMC4wMDJjLTE1Ljc2MywwLjY0Mi0zNC42NzIsMTAuMzQ1LTQ1Ljk3NCwyMy41ODNjLTkuNjA1LDExLjEyNy0xOC45ODgsMjkuNjc5LTE2LjUxNiw0OC4zNzkgICBjMC4xNTUsMS4xNywxLjEwNywyLjA3MywyLjI4NCwyLjE2NGMxLjA2NCwwLjA4MywyLjE1LDAuMTI1LDMuMjMyLDAuMTI2YzE1LjQxMywwLDMyLjA0LTguNTI3LDQzLjM5NS0yMi4yNTcgICBjMTEuOTUxLTE0LjQ5OCwxNy45OTQtMzMuMTA0LDE2LjE2Ni00OS43N0MyMTQuNTQ0LDAuOTIxLDIxMy4zOTUtMC4wNDksMjEyLjEwMSwwLjAwMnoiIGZpbGw9IiMyZTJlMmUiLz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8L3N2Zz4K); -} - -.market-button.google-button { - background-image: url(data:image/svg+xml;utf8;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iaXNvLTg4NTktMSI/Pgo8IS0tIEdlbmVyYXRvcjogQWRvYmUgSWxsdXN0cmF0b3IgMTkuMC4wLCBTVkcgRXhwb3J0IFBsdWctSW4gLiBTVkcgVmVyc2lvbjogNi4wMCBCdWlsZCAwKSAgLS0+CjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgdmVyc2lvbj0iMS4xIiBpZD0iTGF5ZXJfMSIgeD0iMHB4IiB5PSIwcHgiIHZpZXdCb3g9IjAgMCA1MTIgNTEyIiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCA1MTIgNTEyOyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSIgd2lkdGg9IjUxMnB4IiBoZWlnaHQ9IjUxMnB4Ij4KPHBvbHlnb24gc3R5bGU9ImZpbGw6IzVDREFERDsiIHBvaW50cz0iMjkuNTMsMCAyOS41MywyNTEuNTA5IDI5LjUzLDUxMiAyOTkuMDA0LDI1MS41MDkgIi8+Cjxwb2x5Z29uIHN0eWxlPSJmaWxsOiNCREVDQzQ7IiBwb2ludHM9IjM2OS4wNjcsMTgwLjU0NyAyNjIuMTc1LDExOS40NjcgMjkuNTMsMCAyOTkuMDA0LDI1MS41MDkgIi8+Cjxwb2x5Z29uIHN0eWxlPSJmaWxsOiNEQzY4QTE7IiBwb2ludHM9IjI5LjUzLDUxMiAyOS41Myw1MTIgMjYyLjE3NSwzODMuNTUxIDM2OS4wNjcsMzIyLjQ3IDI5OS4wMDQsMjUxLjUwOSAiLz4KPHBhdGggc3R5bGU9ImZpbGw6I0ZGQ0E5NjsiIGQ9Ik0zNjkuMDY3LDE4MC41NDdsLTcwLjA2Myw3MC45NjFsNzAuMDYzLDcwLjk2MWwxMDguNjg4LTYyLjg3N2M2LjI4OC0zLjU5Myw2LjI4OC0xMS42NzcsMC0xNS4yNyAgTDM2OS4wNjcsMTgwLjU0N3oiLz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPC9zdmc+Cg==); -} - -.market-button.windows-button { - background-image: url(data:image/svg+xml;utf8;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iaXNvLTg4NTktMSI/Pgo8IS0tIEdlbmVyYXRvcjogQWRvYmUgSWxsdXN0cmF0b3IgMTYuMC4wLCBTVkcgRXhwb3J0IFBsdWctSW4gLiBTVkcgVmVyc2lvbjogNi4wMCBCdWlsZCAwKSAgLS0+CjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+CjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgdmVyc2lvbj0iMS4xIiBpZD0iQ2FwYV8xIiB4PSIwcHgiIHk9IjBweCIgd2lkdGg9IjI0cHgiIGhlaWdodD0iMjRweCIgdmlld0JveD0iMCAwIDQ4MCA0ODAiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDQ4MCA0ODA7IiB4bWw6c3BhY2U9InByZXNlcnZlIj4KPGc+Cgk8cGF0aCBkPSJNMC4xNzYsMjI0TDAuMDAxLDY3Ljk2M2wxOTItMjYuMDcyVjIyNEgwLjE3NnogTTIyNC4wMDEsMzcuMjQxTDQ3OS45MzcsMHYyMjRIMjI0LjAwMVYzNy4yNDF6IE00NzkuOTk5LDI1NmwtMC4wNjIsMjI0ICAgbC0yNTUuOTM2LTM2LjAwOFYyNTZINDc5Ljk5OXogTTE5Mi4wMDEsNDM5LjkxOEwwLjE1Nyw0MTMuNjIxTDAuMTQ3LDI1NmgxOTEuODU0VjQzOS45MTh6IiBmaWxsPSIjMDBiY2YyIi8+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPC9zdmc+Cg==); -} - -.market-button.blackberry-button { - background-image: url(data:image/svg+xml;utf8;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iaXNvLTg4NTktMSI/Pgo8IS0tIEdlbmVyYXRvcjogQWRvYmUgSWxsdXN0cmF0b3IgMTkuMC4wLCBTVkcgRXhwb3J0IFBsdWctSW4gLiBTVkcgVmVyc2lvbjogNi4wMCBCdWlsZCAwKSAgLS0+CjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgdmVyc2lvbj0iMS4xIiBpZD0iTGF5ZXJfMSIgeD0iMHB4IiB5PSIwcHgiIHZpZXdCb3g9IjAgMCA1MDMuMzIyIDUwMy4zMjIiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDUwMy4zMjIgNTAzLjMyMjsiIHhtbDpzcGFjZT0icHJlc2VydmUiIHdpZHRoPSIyNHB4IiBoZWlnaHQ9IjI0cHgiPgo8Zz4KCTxnPgoJCTxwYXRoIGQ9Ik0xMTYuMjg1LDYwLjc0Nkg0NS45OTNsLTIwLjgyNyw5NS40NThoNzMuNzYzYzU3LjI3NSwwLDczLjc2My0yOC42MzcsNzMuNzYzLTUzLjgwMyAgICBDMTczLjU1OSw4NC4xNzYsMTYyLjI3OCw2MC43NDYsMTE2LjI4NSw2MC43NDZ6IiBmaWxsPSIjMmUyZTJlIi8+Cgk8L2c+CjwvZz4KPGc+Cgk8Zz4KCQk8cGF0aCBkPSJNMjM4LjY0NCwzNDcuMTE5aC03MS4xNTlsLTE5Ljk1OSw5NS40NThoNzMuNzYzYzU3LjI3NSwwLDczLjc2My0yOC42MzcsNzMuNzYzLTUzLjgwMyAgICBDMjk1LjA1MSwzNzAuNTQ5LDI4NC42MzcsMzQ3LjExOSwyMzguNjQ0LDM0Ny4xMTl6IiBmaWxsPSIjMmUyZTJlIi8+Cgk8L2c+CjwvZz4KPGc+Cgk8Zz4KCQk8cGF0aCBkPSJNOTEuMTE5LDE5OS41OTNIMTkuOTU5TDAsMjk1LjA1MWg3My43NjNjNTcuMjc1LDAsNzMuNzYzLTI4LjYzNyw3My43NjMtNTMuODAzICAgIEMxNDcuNTI1LDIyMy4wMjQsMTM3LjExMiwxOTkuNTkzLDkxLjExOSwxOTkuNTkzeiIgZmlsbD0iIzJlMmUyZSIvPgoJPC9nPgo8L2c+CjxnPgoJPGc+CgkJPHBhdGggZD0iTTQyMC44ODEsMjk1LjA1MWgtNzEuMTU5bC0xOS45NTksODYuNzhoNzMuNzYzYzU3LjI3NSwwLDczLjc2My0yNC4yOTgsNzMuNzYzLTQ5LjQ2NCAgICBDNDc3LjI4OCwzMTQuMTQyLDQ2Ni44NzUsMjk1LjA1MSw0MjAuODgxLDI5NS4wNTF6IiBmaWxsPSIjMmUyZTJlIi8+Cgk8L2c+CjwvZz4KPGc+Cgk8Zz4KCQk8cGF0aCBkPSJNNDQ2LjkxNSwxNDcuNTI1aC03MS4xNTlsLTE5Ljk1OSw4Ni43OGg3My43NjNjNTcuMjc1LDAsNzMuNzYzLTI0LjI5OCw3My43NjMtNDkuNDY0ICAgIEM1MDMuMzIyLDE2Ni42MTcsNDkyLjkwOCwxNDcuNTI1LDQ0Ni45MTUsMTQ3LjUyNXoiIGZpbGw9IiMyZTJlMmUiLz4KCTwvZz4KPC9nPgo8Zz4KCTxnPgoJCTxwYXRoIGQ9Ik0yNjUuNTQ2LDE5OS41OTNoLTcxLjE1OWwtMTkuOTU5LDk1LjQ1OGg3My43NjNjNTcuMjc1LDAsNzMuNzYzLTI4LjYzNyw3My43NjMtNTMuODAzICAgIEMzMjIuODIsMjIzLjAyNCwzMTEuNTM5LDE5OS41OTMsMjY1LjU0NiwxOTkuNTkzeiIgZmlsbD0iIzJlMmUyZSIvPgoJPC9nPgo8L2c+CjxnPgoJPGc+CgkJPHBhdGggZD0iTTI5MS41OCw2MC43NDZIMjIwLjQybC0xOS45NTksOTUuNDU4aDczLjc2M2M1Ny4yNzUsMCw3My43NjMtMjguNjM3LDczLjc2My01My44MDMgICAgQzM0Ny45ODYsODQuMTc2LDMzNy41NzMsNjAuNzQ2LDI5MS41OCw2MC43NDZ6IiBmaWxsPSIjMmUyZTJlIi8+Cgk8L2c+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPC9zdmc+Cg==); -} - -.market-button.amazon-button { - background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEgAAABICAYAAABV7bNHAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA2FpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTExIDc5LjE1ODMyNSwgMjAxNS8wOS8xMC0wMToxMDoyMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0idXVpZDo1RDIwODkyNDkzQkZEQjExOTE0QTg1OTBEMzE1MDhDOCIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDpGQUJGNjhGNDRGNkMxMUU3OUY5REJEQzBGNkVBQUI5QiIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpGQUJGNjhGMzRGNkMxMUU3OUY5REJEQzBGNkVBQUI5QiIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ1M1IFdpbmRvd3MiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo2QUM1ODJFMkIxNEExMUUzQkY1NEUzQkNCRjlEODA1RSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo2QUM1ODJFM0IxNEExMUUzQkY1NEUzQkNCRjlEODA1RSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PgNXCVIAAAc7SURBVHja5FwJbFRVFH0tQimgUCiubKJCWWSwKIooVhG3aESkETRqBEEEEURExBXiVhElkRiIEFwTQEHciQiIMQhFkUGFihErIJjWUgg0LFXqPf4z9jvMTOe/v9ebnEw78+//b85/y7n33T8ZNTU1yo5FIhEdtxMEXQRtBGcLOglO5ftoUKagSrBLUCLYKCgVbBEcNJ8oGo0qN+045Z2dJCgU9BdcJ2igcY4DgsWC9wTvetHoTA+u0ZlfCL3hJcFATXJgzQS3C5YIKgWT3G58hotDDMNlvmCQy9+hAj1ThtqqMPWgywXlHpADayVYKTfq0bAQdJ9guaCR8tamCUlPBZ2gcYIXlH82RUgaFlSCCgQzlf82T0hqFzSCGgreUsGxqUEj6BkKvaBYofSi5kERihCAE2z4rxYs4qp3WNBY0F0wVtBC85xNKUrnBoGgUdBTGn4IH24UbEvwGQh7TDBdMNGGQA3EELtGw2eh4Jwk5JjtAcFDmu0633clLeMcweYOi24IOLta9CnR6BF/CE4Whf2Xnz3oKg2fJzR8PtTwyaXK9nWIHbF4PFIYn2hcZ6Vm+5r4SpB039c5T5RwqO0VHE3hgoByv8alSm3oM99XsecJxSUaUXyOoKPgTOIMEjdK8xrVYSbIbIeIMsGPDp43Q/lkmap+W0bQepDTliU43oam+bM+EIT5qZcyEve5nL9aCtpzHmtq49zVYSOoraCv4AZBHgPc3P/7EOsgGCoYzt4SKnOTIAyZGYJrwzzLu0XQi4Lx9WEZdJqg0wVfqmAlzwJDUB/BmvompJwiqLND5FQwXtuujJ3TA1TlmM8eDytB2P9absMfaVbshryN+DeJuDsrzATNor7RMezV3xvkWMwWQZFIpIe8jNB0v0kZuedAm91gdaSm31iL5NSEjiDuO92h4bqGwzIUMaOdHnSe0ktpztfwaRwqgqT3QAheqHnNZZoyIlQ9COT00/BDzrpcwy9fs51ZfhEEXdJRw+8AdY9XBPm2q4HyklM0/HRqE7H3f4mN2NAXgrKUXgUZihGsVl0Mt7GKDfKLIAyTIxp+2cqoj7bSeybb+H5DZEE5zQ+CsEn4u6avlb2x2cpI2tuxiX4Q9JOquzIjmaHOuXcax6H0ZaADK/V46UW9vCYIavgLG43+XHBRks9QLP6B3TsfZ6/pOmqXv8hdGSAvn9psOIiap4zcD5bkQsINQ+agKBqN/uZVjFOsjAdLsm2co4DwwhAgY5/sfk9iMbkT++TlVRUus7zTajfdMcvjL7hEWa9oi9llclMf9JQgueBmVVv64rY9p4yiz9kW/VC01U33YRcnqjtQQLXWZXIeFsTu/tOC9Wn6oR6yPW+kljmViOrDRp/rMDEourpeHVujiJ60VaXOEy0TYq72K9RIZEigLXbwfNBZJ6rEBZw7Uugo2CtOkOM0QbDBmAyVveqybwUDGMFXpDjuG5W4bmiKkDPSqS/0r1A8PEfvAZneL+ck+wgJNVR1RIhEuRkEvHhUcyNJhWwosdgElNEsYGA7pnh05ZI0fJARRSF7W8Z6hxhbQtv9+k+64q7tx8xBmEca2gwh4odIMYce5qaWJKkBswEQbfvZIPSGn1XqCtnEanV0ZYncpNHKKLz6uI7DeyojGwr0IlHZvFEoPF/H6AAPDO+J70GLKPNxwC10qC92heBJ3qx0rEh60OT4HnQrleZQ3s1xIVTKiexKVbtRUEEgL76XqyBSx/GZx6aJlnl0+5s5JlH0hO2Z25i/2RpigjaRgHKKxkTWjcMrRsy+VKsYHvp/n39fyskTlWKtQ0rQbmVU6lelOOYHwXem/0vrWuYhzpaa/p9A7TFJ+biJ55BlUZVv4nSiuHDE6icxOa9KRwehEnVu3ImLBDuV8Qhm85AR04TtRvufVcZvhtzNz9qYRshazsFpCUVUbsTX5eARI8zwSDwh2ZUfcGIwv8yh3kK7c00TdkxQ9jcdP9Oqkp7GSbsqwUw/jBpmC4dh94CQAvF4D1X59ySieZwK72wSpbGNhF9UXDFYusHqR7woqsAuSNKgGSaBCE21QfCVh6REGHoMZqiSzCBdzFUpOaYg+0470fxOqu0pglQ/AdFP1e7bl/IubuHEt07pPS8Wbw05tLHK9mDYkFeHTzV7/Jtx76PCLYOB9kqnYrF8jtWLLX4xSPrNXHrLuWJgQizj31Uc9kd58zBf4PmzTozsWzPm6mJxkXiHwndX3PvNTOFOh/8sdQliMSu2gb1kiDJ+qyPdffpGjId6ejTs0HORrF+R5PNWXKnHuJXuWMCAD3tY21Rw7GtGAV1TkKPYc0aoFNvoTuWDZlBoTWLj/LIV7NUISt8IYsJsOhtXoIxk/l4PSNlMZYzJGj/stNDJk7tVHLmaeIQTeV9qqTxOjHasjAm2pZwL17nJvtvVo8gQfEZMZXKqHXVHPlekFswgNFK1JXPwO8gVZg/lwnpKht1ejtm/BRgAKCaVSdcawG4AAAAASUVORK5CYII=); -} - -.market-button.mb-light-skin { - border-color: rgba(255, 255, 255, 0.12); - background-color: transparent; -} - -.market-button.mb-light-skin .mb-subtitle, -.market-button.mb-light-skin .mb-title { - color: #ffffff; -} - -.market-button.mb-light-skin .mb-subtitle { - opacity: .55; -} - -.market-button.mb-light-skin:hover { - background-color: rgba(255, 255, 255, 0.06); -} - -.market-button.mb-light-skin.apple-button { - background-image: url(data:image/svg+xml;utf8;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iaXNvLTg4NTktMSI/Pgo8IS0tIEdlbmVyYXRvcjogQWRvYmUgSWxsdXN0cmF0b3IgMTkuMC4wLCBTVkcgRXhwb3J0IFBsdWctSW4gLiBTVkcgVmVyc2lvbjogNi4wMCBCdWlsZCAwKSAgLS0+CjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgdmVyc2lvbj0iMS4xIiBpZD0iTGF5ZXJfMSIgeD0iMHB4IiB5PSIwcHgiIHZpZXdCb3g9IjAgMCAzMDUgMzA1IiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCAzMDUgMzA1OyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSIgd2lkdGg9IjI0cHgiIGhlaWdodD0iMjRweCI+CjxnIGlkPSJYTUxJRF8yMjhfIj4KCTxwYXRoIGlkPSJYTUxJRF8yMjlfIiBkPSJNNDAuNzM4LDExMi4xMTljLTI1Ljc4NSw0NC43NDUtOS4zOTMsMTEyLjY0OCwxOS4xMjEsMTUzLjgyQzc0LjA5MiwyODYuNTIzLDg4LjUwMiwzMDUsMTA4LjIzOSwzMDUgICBjMC4zNzIsMCwwLjc0NS0wLjAwNywxLjEyNy0wLjAyMmM5LjI3My0wLjM3LDE1Ljk3NC0zLjIyNSwyMi40NTMtNS45ODRjNy4yNzQtMy4xLDE0Ljc5Ny02LjMwNSwyNi41OTctNi4zMDUgICBjMTEuMjI2LDAsMTguMzksMy4xMDEsMjUuMzE4LDYuMDk5YzYuODI4LDIuOTU0LDEzLjg2MSw2LjAxLDI0LjI1Myw1LjgxNWMyMi4yMzItMC40MTQsMzUuODgyLTIwLjM1Miw0Ny45MjUtMzcuOTQxICAgYzEyLjU2Ny0xOC4zNjUsMTguODcxLTM2LjE5NiwyMC45OTgtNDMuMDFsMC4wODYtMC4yNzFjMC40MDUtMS4yMTEtMC4xNjctMi41MzMtMS4zMjgtMy4wNjZjLTAuMDMyLTAuMDE1LTAuMTUtMC4wNjQtMC4xODMtMC4wNzggICBjLTMuOTE1LTEuNjAxLTM4LjI1Ny0xNi44MzYtMzguNjE4LTU4LjM2Yy0wLjMzNS0zMy43MzYsMjUuNzYzLTUxLjYwMSwzMC45OTctNTQuODM5bDAuMjQ0LTAuMTUyICAgYzAuNTY3LTAuMzY1LDAuOTYyLTAuOTQ0LDEuMDk2LTEuNjA2YzAuMTM0LTAuNjYxLTAuMDA2LTEuMzQ5LTAuMzg2LTEuOTA1Yy0xOC4wMTQtMjYuMzYyLTQ1LjYyNC0zMC4zMzUtNTYuNzQtMzAuODEzICAgYy0xLjYxMy0wLjE2MS0zLjI3OC0wLjI0Mi00Ljk1LTAuMjQyYy0xMy4wNTYsMC0yNS41NjMsNC45MzEtMzUuNjExLDguODkzYy02LjkzNiwyLjczNS0xMi45MjcsNS4wOTctMTcuMDU5LDUuMDk3ICAgYy00LjY0MywwLTEwLjY2OC0yLjM5MS0xNy42NDUtNS4xNTljLTkuMzMtMy43MDMtMTkuOTA1LTcuODk5LTMxLjEtNy44OTljLTAuMjY3LDAtMC41MywwLjAwMy0wLjc4OSwwLjAwOCAgIEM3OC44OTQsNzMuNjQzLDU0LjI5OCw4OC41MzUsNDAuNzM4LDExMi4xMTl6IiBmaWxsPSIjRkZGRkZGIi8+Cgk8cGF0aCBpZD0iWE1MSURfMjMwXyIgZD0iTTIxMi4xMDEsMC4wMDJjLTE1Ljc2MywwLjY0Mi0zNC42NzIsMTAuMzQ1LTQ1Ljk3NCwyMy41ODNjLTkuNjA1LDExLjEyNy0xOC45ODgsMjkuNjc5LTE2LjUxNiw0OC4zNzkgICBjMC4xNTUsMS4xNywxLjEwNywyLjA3MywyLjI4NCwyLjE2NGMxLjA2NCwwLjA4MywyLjE1LDAuMTI1LDMuMjMyLDAuMTI2YzE1LjQxMywwLDMyLjA0LTguNTI3LDQzLjM5NS0yMi4yNTcgICBjMTEuOTUxLTE0LjQ5OCwxNy45OTQtMzMuMTA0LDE2LjE2Ni00OS43N0MyMTQuNTQ0LDAuOTIxLDIxMy4zOTUtMC4wNDksMjEyLjEwMSwwLjAwMnoiIGZpbGw9IiNGRkZGRkYiLz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8L3N2Zz4K); -} - -.market-button.mb-light-skin.blackberry-button { - background-image: url(data:image/svg+xml;utf8;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iaXNvLTg4NTktMSI/Pgo8IS0tIEdlbmVyYXRvcjogQWRvYmUgSWxsdXN0cmF0b3IgMTkuMC4wLCBTVkcgRXhwb3J0IFBsdWctSW4gLiBTVkcgVmVyc2lvbjogNi4wMCBCdWlsZCAwKSAgLS0+CjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgdmVyc2lvbj0iMS4xIiBpZD0iTGF5ZXJfMSIgeD0iMHB4IiB5PSIwcHgiIHZpZXdCb3g9IjAgMCA1MDMuMzIyIDUwMy4zMjIiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDUwMy4zMjIgNTAzLjMyMjsiIHhtbDpzcGFjZT0icHJlc2VydmUiIHdpZHRoPSIyNHB4IiBoZWlnaHQ9IjI0cHgiPgo8Zz4KCTxnPgoJCTxwYXRoIGQ9Ik0xMTYuMjg1LDYwLjc0Nkg0NS45OTNsLTIwLjgyNyw5NS40NThoNzMuNzYzYzU3LjI3NSwwLDczLjc2My0yOC42MzcsNzMuNzYzLTUzLjgwMyAgICBDMTczLjU1OSw4NC4xNzYsMTYyLjI3OCw2MC43NDYsMTE2LjI4NSw2MC43NDZ6IiBmaWxsPSIjRkZGRkZGIi8+Cgk8L2c+CjwvZz4KPGc+Cgk8Zz4KCQk8cGF0aCBkPSJNMjM4LjY0NCwzNDcuMTE5aC03MS4xNTlsLTE5Ljk1OSw5NS40NThoNzMuNzYzYzU3LjI3NSwwLDczLjc2My0yOC42MzcsNzMuNzYzLTUzLjgwMyAgICBDMjk1LjA1MSwzNzAuNTQ5LDI4NC42MzcsMzQ3LjExOSwyMzguNjQ0LDM0Ny4xMTl6IiBmaWxsPSIjRkZGRkZGIi8+Cgk8L2c+CjwvZz4KPGc+Cgk8Zz4KCQk8cGF0aCBkPSJNOTEuMTE5LDE5OS41OTNIMTkuOTU5TDAsMjk1LjA1MWg3My43NjNjNTcuMjc1LDAsNzMuNzYzLTI4LjYzNyw3My43NjMtNTMuODAzICAgIEMxNDcuNTI1LDIyMy4wMjQsMTM3LjExMiwxOTkuNTkzLDkxLjExOSwxOTkuNTkzeiIgZmlsbD0iI0ZGRkZGRiIvPgoJPC9nPgo8L2c+CjxnPgoJPGc+CgkJPHBhdGggZD0iTTQyMC44ODEsMjk1LjA1MWgtNzEuMTU5bC0xOS45NTksODYuNzhoNzMuNzYzYzU3LjI3NSwwLDczLjc2My0yNC4yOTgsNzMuNzYzLTQ5LjQ2NCAgICBDNDc3LjI4OCwzMTQuMTQyLDQ2Ni44NzUsMjk1LjA1MSw0MjAuODgxLDI5NS4wNTF6IiBmaWxsPSIjRkZGRkZGIi8+Cgk8L2c+CjwvZz4KPGc+Cgk8Zz4KCQk8cGF0aCBkPSJNNDQ2LjkxNSwxNDcuNTI1aC03MS4xNTlsLTE5Ljk1OSw4Ni43OGg3My43NjNjNTcuMjc1LDAsNzMuNzYzLTI0LjI5OCw3My43NjMtNDkuNDY0ICAgIEM1MDMuMzIyLDE2Ni42MTcsNDkyLjkwOCwxNDcuNTI1LDQ0Ni45MTUsMTQ3LjUyNXoiIGZpbGw9IiNGRkZGRkYiLz4KCTwvZz4KPC9nPgo8Zz4KCTxnPgoJCTxwYXRoIGQ9Ik0yNjUuNTQ2LDE5OS41OTNoLTcxLjE1OWwtMTkuOTU5LDk1LjQ1OGg3My43NjNjNTcuMjc1LDAsNzMuNzYzLTI4LjYzNyw3My43NjMtNTMuODAzICAgIEMzMjIuODIsMjIzLjAyNCwzMTEuNTM5LDE5OS41OTMsMjY1LjU0NiwxOTkuNTkzeiIgZmlsbD0iI0ZGRkZGRiIvPgoJPC9nPgo8L2c+CjxnPgoJPGc+CgkJPHBhdGggZD0iTTI5MS41OCw2MC43NDZIMjIwLjQybC0xOS45NTksOTUuNDU4aDczLjc2M2M1Ny4yNzUsMCw3My43NjMtMjguNjM3LDczLjc2My01My44MDMgICAgQzM0Ny45ODYsODQuMTc2LDMzNy41NzMsNjAuNzQ2LDI5MS41OCw2MC43NDZ6IiBmaWxsPSIjRkZGRkZGIi8+Cgk8L2c+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPC9zdmc+Cg==); -} - -.market-button.mb-light-skin.amazon-button { - background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEgAAABICAYAAABV7bNHAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA2FpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTExIDc5LjE1ODMyNSwgMjAxNS8wOS8xMC0wMToxMDoyMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0idXVpZDo1RDIwODkyNDkzQkZEQjExOTE0QTg1OTBEMzE1MDhDOCIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo1QjFCQzQ2QjRGNkQxMUU3OUY5REJEQzBGNkVBQUI5QiIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo1QjFCQzQ2QTRGNkQxMUU3OUY5REJEQzBGNkVBQUI5QiIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ1M1IFdpbmRvd3MiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo2QUM1ODJFMkIxNEExMUUzQkY1NEUzQkNCRjlEODA1RSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo2QUM1ODJFM0IxNEExMUUzQkY1NEUzQkNCRjlEODA1RSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/Pk2CzRIAAAcFSURBVHja5FxpbBZVFH2ULlhQCq2oiBWLWqCI0AoqKILgGo2KEqlGjSKKIuJaC9EgRKNYURL9YQ2KawKICO5RqZYYsKDFtS1VsSpaU2ypgQYo0HpP5lTGz2/pvNnrTU7yLXNn3px5775777tvurW3tysf5DDBEMEAwUmCEwX9+TsalCRoEfwuqBF8KagTVAt2e9nQZA+vdYRgimCi4GJBd41z7BK8LlgjeMOTVqMHuYxcwRrBgXZnZYegyO32d3NxiGG4LBVMdvkZN7JnfuzGyZNcavQkwXYPyIFkCsoED4SFoDsFHwpSPTb8CwQPO31Sp4fYbMFi5a9MEzwfRILGu2UHNORYwS9BGmIpgldVcGR+0GzQI3T0giKY1XoHZYjBAazHuTT1ywUrOOvtFfQQDBPMEmTYaNd0wZIgOIrzNB29zYKcBOcuseFIljjhKDoxxC7U0FkuGCnYmuC4ewVzNNt1ahCGGILNXy3qIOAcalEHAWuuRZ0/BUcKDvhppM/X0HlQQ+dtDZ0setm+zmKtFo9HCuM9jeuUabYv3e90x0uCfvReewoOZZAai3g4kjs1rlNnwz8LVKjRgwT1EeQIjicGCdoEM5gEsyonCGo19PIEVUFKmO0hGgRbnIwZ/fI4k1TXFtvEJgf8BtNo13R9mv1dgSDYpwJlJO6zaL/6MiLPofHXlX1hI+gYwVjBZYLBDHCz/u9DbKCgkK7AoLAZMTcJwpBZJLgozFbeLYKeFNzRFaZBpwk6TvCpClbyLDAEnS5Y39UcKacIynWInEbGa0i471DGUnMD7dk8XzxNB2IxrH/9wClcR5BmxVLRa4KvYjh3urEY4sAf/e5BT9sg5ynB7UGOxewSNFwZyXEduVIZyfpAi91g9SZNvVkWyWkPI0FYd7peQ289h2UoYkY7BI1SeinNpRo6PcJGEBzBMZq672u6EaEiCOSM09BrVsYKqlXJ12xnml8EwS/J0dDbRb/HK4LS/SIoW3CUhp5O4SbW/s+yERv6QlCa0qsgy1DWqy6m2ZjFJvtFEIZJq4beIcqoj7bSe4pt3N9UwdF+EIT1+D80dWdYOPYZZSTt7cg9fhD0vUpcmRFLrhOM7sRxJYJLHZipkbgr8JogeMPrbDT6E8EZMf7rJXjL7pOPkBf9SHecI/jAZsNB1HPKyP1gSp5CuCHIHCwU/OYVQZiN6ml4wyJPCO72Khb7S/CCCpfs93KIQVAp9p2HN7iKQbJOgu5spVHHbTcfhNKSxz0i5zHB5Zz6rQiKtvKUbpG7Q9uGNrS7K3Mjrrexk3pVgsygbIfaJDjF4V6DoqtL1H9rFDHEahPkiZBWucB2CxzegLbSwV5TnuDpF8TRfdape3Jjl94EQY0NYioFkzp5rdFR9Oe4suNwb2m2Xlh/c8xNNUiooarjZCJabgYBL2oWsWl3C92GGotNQBnNMga2M+U+VnVCBxnRkRyqiPX2MLbcKPjZfF/mNAKWjlNshhBmWccLjqJt6kuSujMbgOKmnWzQF8pY4GuznFYoza6Rm7lVGYVX7yY4fASzoWMYn/Wno4sHhcLzCkYH2DDc9C8/SC60gm4+DriaCl1FzhU8xIfVGVkopBdH9qBr6GkW8mnODqGnHE3OUwcXChoJ5MWbOQvmRMk8/lP2lxyRBLuKYxJFT1ieuZb5m9oQE/Q1CdhOpzGa5HF49TSFUTE9aWz6f5OfJ9B4olLs8JAShIC6Lg45iuHSN6bvdYlCDThnq03f72IWsUj5uIjnkCCffh97ViF/w8TRUT/ZZA5L4sViqERdEnFi5FO2KWMLZu+QEZPOdqP9jyrjnSG38L8BphHymTKVzCQKVlG5EVm4hC1GxUw8IdmVH3BiYF9K6W+h3Vkmg91RfDHRdPxiq9H8AhrtliiW/gb6MNUchsMCQgqcx9sEmwXfkghzj0ebc01OacdCwk/KeCmCijaLxZN3eFFUgZ0Wo0GLTA4ifKpKwQYPSYG3ji0LVzAdHEvgupirUvqYguwbIw+2siC3jd72XBX/FRDj1MF1+zo+xWoavgqlt18sUlI4tDHLDmfYMDiBzj72+FcifkeFGyrY8NqdspgZRYuxWD7H6pkWb6yVSbZ6+iVNNIgN/NzCYd/Ghwd7gf1nKOLsR0OKmGuIxUliJR3fyL1qvUzhzsBoMabukm4le8lUJsI7u06fynhohEfDDj0X1WxrY/yfyZl6plsp12UM+LCGtVUFRz5nFDA0DjmKPWe6irOM7tSGukV0tIrYOL9kLXs1gtKXnTih0zsOS9i48cpI5jd7QEoVPWMYa7zYabmTJ3erOLKcuJ+GfCx9qcE0jHakgQm21bSFFW6y73b1KDIEHxHzmZzKpt+RzxkpgxmEVHWwZA56uznDNNFd2ESXod7LMfu3AAMA3eQjZHI91/8AAAAASUVORK5CYII=); -} - -.facebook-btn, -.twitter-btn, -.google-btn { - text-transform: none; -} - -.facebook-btn > i, -.twitter-btn > i, -.google-btn > i { - margin-top: 0; -} - -.facebook-btn { - border-color: #3b5998; - background-color: transparent; - color: #3b5998; -} - -.facebook-btn:hover { - background-color: #3b5998; - color: #ffffff; -} - -.twitter-btn { - border-color: #55acee; - background-color: transparent; - color: #55acee; -} - -.twitter-btn:hover { - background-color: #55acee; - color: #ffffff; -} - -.google-btn { - border-color: #dd4b39; - background-color: transparent; - color: #dd4b39; -} - -.google-btn > i { - font-size: 1.3em; -} - -.google-btn:hover { - background-color: #dd4b39; - color: #ffffff; -} - -/* Base class */ -.social-button { - display: inline-block; - margin-top: 5px; - margin-right: 18px; - margin-bottom: 5px; - transition: color .3s; - color: #606975; - font-size: 13px; - text-decoration: none; - vertical-align: middle; -} - -.social-button.shape-circle, .social-button.shape-rounded, .social-button.shape-square { - width: 36px; - height: 36px; - margin-right: 8px; - border: 1px solid #e1e7ec; - line-height: 35px; - text-align: center; -} - -.social-button.shape-circle { - border-radius: 50%; -} - -.social-button.shape-rounded { - border-radius: 5px; -} - -.social-button:focus { - text-decoration: none; -} - -.text-center .social-button { - margin-right: 9px; - margin-left: 9px; -} - -.text-center .social-button.shape-circle, .text-center .social-button.shape-rounded, .text-center .social-button.shape-square { - margin-right: 4px; - margin-left: 4px; -} - -.text-right .social-button { - margin-right: 0; - margin-left: 18px; -} - -.text-right .social-button.shape-circle, .text-right .social-button.shape-rounded, .text-right .social-button.shape-square { - margin-right: 0; - margin-left: 8px; -} - -/* Amazon */ -.sb-amazon { - font-size: 1.15em !important; -} - -.sb-amazon:hover, .sb-amazon:focus { - color: #ff9900 !important; -} - -/* Airbnb */ -.sb-airbnb:hover, .sb-airbnb:focus { - color: #fd5c63 !important; -} - -/* Behance */ -.sb-behance { - font-size: 1.1em !important; -} - -.sb-behance:hover, .sb-behance:focus { - color: #1769ff !important; -} - -/* DeviantArt */ -.sb-deviantart { - font-size: 1.2em !important; -} - -.sb-deviantart:hover, .sb-deviantart:focus { - color: #4e6252 !important; -} - -/* Digg */ -.sb-digg { - font-size: 1.2em !important; -} - -.sb-digg:hover, .sb-digg:focus { - color: #000000 !important; -} - -/* Disqus */ -.sb-disqus { - font-size: 1.1em !important; -} - -.sb-disqus:hover, .sb-disqus:focus { - color: #2e9fff !important; -} - -/* Dribbble */ -.sb-dribbble:hover, .sb-dribbble:focus { - color: #ea4c89 !important; -} - -/* Drupal */ -.sb-drupal { - font-size: 1.1em !important; -} - -.sb-drupal:hover, .sb-drupal:focus { - color: #0077c0 !important; -} - -/* Email */ -.sb-email:hover, .sb-email:focus { - color: #0da9ef !important; -} - -/* Facebook */ -.sb-facebook:hover, .sb-facebook:focus { - color: #3b5998 !important; -} - -/* Flickr */ -.sb-flickr:hover, .sb-flickr:focus { - color: #0063dc !important; -} - -/* Foursquare */ -.sb-foursquare:hover, .sb-foursquare:focus { - color: #ef4b78 !important; -} - -/* GitHub */ -.sb-github:hover, .sb-github:focus { - color: #4183c4 !important; -} - -/* Google+ */ -.sb-google-plus { - font-size: 1.2em !important; -} - -.sb-google-plus:hover, .sb-google-plus:focus { - color: #dd4b39 !important; -} - -/* Instagram */ -.sb-instagram:hover, .sb-instagram:focus { - color: #3f729b !important; -} - -/* LastFM */ -.sb-lastfm { - font-size: 1.1em !important; -} - -.sb-lastfm:hover, .sb-lastfm:focus { - color: #e31b23 !important; -} - -/* LinkedIn */ -.sb-linkedin:hover, .sb-linkedin:focus { - color: #0976b4 !important; -} - -/* PayPal */ -.sb-odnoklassniki { - font-size: 1.1em !important; -} - -.sb-odnoklassniki:hover, .sb-odnoklassniki:focus { - color: #ed812b !important; -} - -/* PayPal */ -.sb-paypal { - font-size: .9em !important; -} - -.sb-paypal:hover, .sb-paypal:focus { - color: #253b80 !important; -} - -/* Pinterest */ -.sb-pinterest:hover, .sb-pinterest:focus { - color: #cc2127 !important; -} - -/* Reddit */ -.sb-reddit { - font-size: 1.1em !important; -} - -.sb-reddit:hover, .sb-reddit:focus { - color: #ff4500 !important; -} - -/* Reddit */ -.sb-rss { - font-size: .9em !important; -} - -.sb-rss:hover, .sb-rss:focus { - color: #f26522 !important; -} - -/* Skype */ -.sb-skype { - font-size: .9em !important; -} - -.sb-skype:hover, .sb-skype:focus { - color: #00aff0 !important; -} - -/* SoundCloud */ -.sb-soundcloud { - font-size: 1.2em !important; -} - -.sb-soundcloud:hover, .sb-soundcloud:focus { - color: #ff8800 !important; -} - -/* Stack Overflow */ -.sb-stackoverflow:hover, .sb-stackoverflow:focus { - color: #fe7a15 !important; -} - -/* Steam */ -.sb-steam:hover, .sb-steam:focus { - color: #7da10e !important; -} - -/* StumbleUpon */ -.sb-stumbleupon:hover, .sb-stumbleupon:focus { - color: #eb4924 !important; -} - -/* Tumblr */ -.sb-tumblr:hover, .sb-tumblr:focus { - color: #35465c !important; -} - -/* Twitch */ -.sb-twitch:hover, .sb-twitch:focus { - color: #6441a5 !important; -} - -/* Twitter */ -.sb-twitter:hover, .sb-twitter:focus { - color: #55acee !important; -} - -/* Vimeo */ -.sb-vimeo:hover, .sb-vimeo:focus { - color: #1ab7ea !important; -} - -/* Vine */ -.sb-vine:hover, .sb-vine:focus { - color: #00b488 !important; -} - -/* VKontakte */ -.sb-vk { - font-size: 1.1em !important; -} - -.sb-vk:hover, .sb-vk:focus { - color: #45668e !important; -} - -/* WordPress */ -.sb-wordpress:hover, .sb-wordpress:focus { - color: #21759b !important; -} - -/* XING */ -.sb-xing:hover, .sb-xing:focus { - color: #026466 !important; -} - -/* Yahoo! */ -.sb-yahoo { - font-size: 1.1em !important; -} - -.sb-yahoo:hover, .sb-yahoo:focus { - color: #400191 !important; -} - -/* Yelp */ -.sb-yelp:hover, .sb-yelp:focus { - color: #af0606 !important; -} - -/* YouTube */ -.sb-youtube:hover, .sb-youtube:focus { - color: #e52d27 !important; -} - -.sb-light-skin { - transition: all .3s; - background-color: transparent; - color: rgba(255, 255, 255, 0.6) !important; -} - -.sb-light-skin:hover, .sb-light-skin:focus { - color: #ffffff !important; -} - -.sb-light-skin.shape-circle, .sb-light-skin.shape-rounded, .sb-light-skin.shape-square { - border-color: rgba(255, 255, 255, 0.12); -} - -.sb-light-skin.shape-circle:hover, .sb-light-skin.shape-rounded:hover, .sb-light-skin.shape-square:hover { - background-color: rgba(255, 255, 255, 0.06); -} - -/** 42. login -*************************************************** **/ -.login_v1 .form-body { - background-color: #fff; - height: 100%; -} - -.login_v1 .form-body.transparent { - background-color: unset; -} - -.login_v1 .website-logo { - display: inline-block; - top: 50%; - left: 220px; - right: initial; - bottom: initial; -} - -.login_v1 .website-logo img { - width: 100px; -} - -.login_v1 .website-logo { - display: inline-block; - position: absolute; - z-index: 1000; - top: 50px; - left: 50px; - right: initial; - bottom: initial; -} - -.login_v1 .website-logo a { - display: inline-block; -} - -.login_v1 .img-holder { - width: 550px; - display: inline-block; - position: absolute; - top: 0; - min-height: 700px; - height: 100%; - overflow: hidden; - background-color: #ffffff; - padding: 60px; - text-align: center; - z-index: 999; -} - -.login_v1 .img-holder.right { - right: 0; -} - -.login_v1 .img-holder.left { - left: 0; -} - -.login_v1 .img-holder .info-holder { - position: relative; - top: 50%; - -webkit-transform: translateY(-50%); - -moz-transform: translateY(-50%); - -ms-transform: translateY(-50%); - transform: translateY(-50%); -} - -.login_v1 .img-holder .bg { - position: absolute; - opacity: 0.8; - left: 0; - top: 0; - width: 100%; - height: 100%; - background-size: cover; - background-position: center; - z-index: -1; -} - -.login_v1 .img-holder .info-holder img { - width: 100%; - max-width: 378px; -} - -.login_v1 .form-holder.left { - margin-left: 550px; -} - -.login_v1 .form-holder.right { - margin-right: 550px; -} - -.login_v1 .form-holder .form-content { - position: relative; - text-align: center; - display: -webkit-box; - display: -moz-box; - display: -ms-flexbox; - display: -webkit-flex; - display: flex; - justify-content: center; - align-items: center; - padding: 60px; - min-height: 100vh; -} - -.login_v1 .form-content .form-items { - max-width: 340px; - text-align: left; -} - -.login_v1 .form-content .form-items.boxed { - padding: 35px 30px; - background-color: #fff; - -webkit-box-shadow: 0 6px 15px rgba(0, 0, 0, 0.16); - box-shadow: 0 6px 15px rgba(0, 0, 0, 0.16); -} - -.login_v1 .form-content .form-items { - display: inline-block; - width: 100%; - max-width: 340px; - text-align: left; - -webkit-transition: all 0.4s ease; - transition: all 0.4s ease; -} - -.login_v1 .form-body > .row { - position: relative; - margin-left: 0; - margin-right: 0; - height: 100%; -} - -@media (min-height: 700px) { - .login_v1 .img-holder { - position: fixed; - } - - .login_v1 .website-logo { - position: fixed; - } -} - -@media (max-width: 992px) { - .login_v1 .img-holder { - display: none; - } - - .login_v1 .form-holder { - margin-left: 0; - } - - .login_v1 .form-holder.right { - margin-right: 0; - } - - .login_v1 .form-holder .form-content { - padding: 60px 60px 60px; - } - - .login_v1 .website-logo { - top: 50px; - left: 50px; - right: initial; - bottom: initial; - } -} - -@media (max-width: 992px) { - .login_v1 .form-holder.left { - margin-left: 0; - } - - .login_v1 .form-holder.right { - margin-right: 0; - } - - .login_v1 .website-logo { - top: 50px; - left: 50px; - right: initial; - bottom: initial; - } -} - -.center_margin { - margin-right: auto; - margin-left: auto; -} - - -/** 43. CHat Application -*************************************************** **/ -.app_chat_button { - z-index: 9999; - position: fixed; - bottom: 20px; - left: 35px; - background: #00c6ff; - background: -webkit-linear-gradient(to right, #4076e0, #00c6ff); - background: linear-gradient(to right, #4076e0, #00c6ff); - box-shadow: 0 2px 30px 0 rgba(0, 114, 255, 0.8); - border-radius: 75px; - color: #fff; - padding: 12px 20px; - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - vertical-align: middle; - font-size: 14px; - cursor: pointer; - -webkit-transition: all 0.2s ease; - transition: all 0.2s ease; -} - -.app_chat_button i { - vertical-align: middle; - display: inline-block; - font-size: 15px; -} - -.app_chat_button span { - vertical-align: middle; - display: inline-block; - font-weight: 600; -} - -.app_chat_button i + span { - margin-left: 15px; -} - -.app_chat_button:hover { - -webkit-transform: scale(1.05); - transform: scale(1.05); - background: #00c6ff; - background: -webkit-linear-gradient(to right, #4076e0, #00c6ff); - background: linear-gradient(to right, #4076e0, #00c6ff); - box-shadow: 0 2px 40px 0 rgba(101, 168, 241, 0.41); -} - -.pvr_chat_cnt { - z-index: 9999; - position: fixed; - bottom: 70px; - left: 35px; - visibility: hidden; - opacity: 0; - -webkit-transform: translateY(-20px); - transform: translateY(-20px); - -webkit-transition: all 0.3s ease; - transition: all 0.3s ease; -} - -.pvr_chat_cnt.in_position { - position: inherit; -} - -.pvr_chat_cnt.in_position .app_chat_i { - box-shadow: unset; - width: 100%; -} - -.pvr_chat_cnt.active { - visibility: visible; - opacity: 1; - -webkit-transform: translateY(0); - transform: translateY(0); -} - -.pvr_chat_cnt .app_chat_i { - background-color: #fff; - box-shadow: 0 2px 40px 0 rgba(101, 168, 241, 0.41); - border-radius: 0px; - width: 320px; - position: relative; - background-repeat: repeat-x; - background-position-x: center; - background-size: 675px 835px; - background-image: url(../images/svg/header_2.svg); -} - -.pvr_chat_cnt .app_chat_i .chat-close { - position: absolute; - top: 20px; - right: 20px; - color: rgba(0, 0, 0, 0.8); - font-size: 10px; - cursor: pointer; -} - -.pvr_chat_cnt .app_chat_i { - padding: 20px; - border-bottom: 1px solid rgba(0, 0, 0, 0.05); -} - -.pvr_chat_cnt .app_chat_i .pvr-user-w { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - -webkit-box-pack: justify; - -ms-flex-pack: justify; - justify-content: space-between; -} - -.pvr_chat_cnt .app_chat_i .pvr-user-w .pvr-user-avatar-w { - width: 50px; -} - -.pvr_chat_cnt .app_chat_i .pvr-user-w .pvr-user-avatar-w .user-avatar { - border-radius: 40px; - overflow: hidden; -} - -.pvr_chat_cnt .app_chat_i .pvr-user-w .pvr-user-avatar-w .user-avatar img { - max-width: 100%; - height: auto; -} - -.pvr_chat_cnt .app_chat_i .pvr-user-w.with-status .pvr-user-avatar-w { - position: relative; -} - -.pvr_chat_cnt .app_chat_i .pvr-user-w.with-status .pvr-user-avatar-w:before { - content: ""; - width: 10px; - height: 10px; - position: absolute; - top: 2px; - right: 2px; - border-radius: 10px; - box-shadow: 0 0 0 3px #fff; -} - -.pvr_chat_cnt .app_chat_i .pvr-user-w.with-status.status-green .pvr-user-avatar-w:before { - background-color: #90be2e; -} - -.pvr_chat_cnt .app_chat_i .pvr-user-w.with-status.status-red .pvr-user-avatar-w:before { - background-color: #e65252; -} - -.pvr_chat_cnt .app_chat_i .pvr-user-w .user-name { - padding-left: 20px; - -webkit-box-flex: 1; - -ms-flex: 1; - flex: 1; -} - -.pvr_chat_cnt .app_chat_i .pvr-user-w .user-title { - margin-bottom: 2px; - color: #007bff; - margin-top: 0; - font-size: inherit; -} - -.pvr_chat_cnt .app_chat_i .pvr-user-w .user-role { - font-size: 0.81em; -} - -.pvr_chat_cnt .app_chat_i .pvr-user-w .user-action { - width: 50px; - color: #007bff; - font-size: 18px; -} - -.pvr_chat_cnt .chat-messages { - padding: 20px; - height: calc(100vh - 400px); - position: relative; - overflow: hidden; -} - -.pvr_chat_cnt .chat-messages .message { - margin-bottom: 12px; -} - -.pvr_chat_cnt .chat-messages.theme_1 .message .message-content { - color: #594939; - padding: 10px 20px; - background-color: #fcf6ee; - border-radius: 20px 20px 20px 0; - max-width: 80%; - font-size: 13px; - display: inline-block; - text-align: left; -} - -.pvr_chat_cnt .chat-messages.theme_1 .message.self .message-content { - border-radius: 20px 20px 0 20px; - background-color: #e2efff; - color: #2A4E7F; -} - -.pvr_chat_cnt .chat-messages.theme_2 .message .message-content { - color: #FFFFFF; - padding: 10px 20px; - background-color: #da8d67; - border-radius: 20px 20px 20px 0; - max-width: 80%; - font-size: 13px; - display: inline-block; - text-align: left; -} - -.pvr_chat_cnt .chat-messages.theme_2 .message.self .message-content { - border-radius: 20px 20px 0 20px; - background-color: #9281cf; - color: #FFFFFF; -} - -.pvr_chat_cnt .chat-messages.theme_3 .message .message-content { - color: #FFFFFF; - padding: 10px 20px; - background-color: #616161; - border-radius: 20px 20px 20px 0; - max-width: 80%; - font-size: 13px; - display: inline-block; - text-align: left; -} - -.pvr_chat_cnt .chat-messages.theme_3 .message.self .message-content { - border-radius: 20px 20px 0 20px; - background-color: #689f38; - color: #FFFFFF; -} - -.pvr_chat_cnt .chat-messages.theme_4 .message .message-content { - color: #FFFFFF; - padding: 10px 20px; - background-color: #929090; - border-radius: 20px 20px 20px 0; - max-width: 80%; - font-size: 13px; - display: inline-block; - text-align: left; -} - -.pvr_chat_cnt .chat-messages.theme_4 .message.self .message-content { - border-radius: 20px 20px 0 20px; - background-color: #4527a0; - color: #FFFFFF; -} - -.pvr_chat_cnt .chat-messages .message.self { - text-align: right; -} - -.pvr_chat_cnt .chat-messages .date-break { - text-align: center; - margin-bottom: 10px; - color: rgba(0, 0, 0, 0.4); - font-size: 12px; -} - -.pvr_chat_cnt .chat-controls { - padding: 10px; - padding-top: 0; - border-top: 1px solid rgba(0, 0, 0, 0.1); -} - -.pvr_chat_cnt .chat-controls .message-input { - border: 1px solid transparent; - background-color: transparent; - padding: 10px; - width: 100%; - display: block; - font-size: 13px; - border-radius: 0; -} - -.pvr_chat_cnt .chat-controls .message-input:focus { - outline: none; - border-bottom: 1px solid #007bff; -} - -.pvr_chat_cnt .chat-controls .chat-extra { - text-align: left; - padding-left: 0; - padding-top: 10px; -} - -.pvr_chat_cnt .chat-controls .chat-extra a { - display: inline-block; - margin-left: 10px; - font-size: 16px; - position: relative; -} - -.pvr_chat_cnt .chat-controls .chat-extra a .extra-tooltip { - background-color: rgba(0, 0, 0, 0.9); - color: #fff; - font-weight: 600; - font-size: 0.63em; - text-transform: uppercase; - display: inline-block; - padding: 2px 7px; - border-radius: 4px; - position: absolute; - top: -20px; - left: 50%; - -webkit-transform: translateX(-50%); - transform: translateX(-50%); - white-space: nowrap; - display: none; -} - -.pvr_chat_cnt .chat-controls .chat-extra a:hover { - text-decoration: none; -} - -.pvr_chat_cnt .chat-controls .chat-extra a:hover .extra-tooltip { - display: block; -} - -.hide_after:after { - display: none; -} - -.pvr_chat_cnt .material-icons { - font-size: 16px; -} - -.sm-content-box { - vertical-align: top; - padding: 0; -} - -@media (max-width: 1650px) { - .sm-content-box { - padding: 0; - } -} - -@media (min-width: 1100px) and (max-width: 1350px) { - .sm-content-box { - padding: 1.5em; - } -} - -@media (max-width: 1150px) { - .sm-content { - display: block; - } - - .sm-content-box:after { - display: block; - position: absolute; - top: 0; - left: 0; - right: 0; - bottom: 0; - background: rgba(4, 36, 113, 0.6); - content: ""; - z-index: 10; - visibility: hidden; - opacity: 0; - -webkit-transition: all 0.4s ease; - transition: all 0.4s ease; - } - - .sm-content .sm-content-box { - display: block; - } -} - -@media (min-width: 768px) and (max-width: 1024px) { - .sm-content-box { - /*padding: 1.5em;*/ - } -} - -@media (max-width: 767px) { - .sm-content { - display: block; - } - - .sm-content .sm-content-box { - display: block; - } -} - -#page-container.bg { - padding-top: 0 !important; - min-height: calc(100vh - 223px); - background-image: url(../images/svg/header_3.svg); - background-repeat: no-repeat; - background-position-x: center; -} - -/** 44. Fullcalendar -*************************************************** **/ -.text-success { - color: #28a745 !important; -} - -.text-primary { - color: #4076e0 !important; -} - -.text-warning { - color: #ffc107 !important; -} - -.text-danger { - color: #dc3545 !important; -} - -.text-inverse { - color: #333333 !important; -} - -.fc-event, -.fc .fc-event { - border: none; - background: #333333; -} - -.fc .fc-past { - background: #f1f1f1; -} - -.fc .fc-today { - background: #ffffff !important; -} - -.fc .fc-day-grid-event { - padding: 2px !important; - text-align: center !important; - border-radius: 100px; - margin-left: 10px; - margin-right: 10px; -} - -.fc-event-list .fc-event { - background: none; - border: none; - color: #ffffff; - padding: 7px 10px 7px 20px; - font-size: 12px; - line-height: 16px; - position: relative; - background: #333333; - margin-bottom: 7px; -} - -.fc-event-list .fc-event:hover, -.fc-event-list .fc-event:focus { - color: #fff; - cursor: pointer; - background: #222222; -} - -.fc-event-list .fc-event:hover:before, -.fc-event-list .fc-event:focus:before { - background: #cdd5da; - color: #222222; -} - -.fc-event-list .fc-event i { - float: left; - line-height: 18px; -} - -.fc-event-list .fc-event + .fc-event { - margin-top: -1px; -} - -.fc-event-list .fc-event.ui-draggable-dragging { - border: 1px dashed #D2D6DA; -} - -.fc-event-list .fc-event-icon { - float: left; - margin-right: 10px; -} - -body .fc button { - text-transform: uppercase; - background: #fff; - padding: 5px 10px; - height: inherit; - font-size: 12px; - border: 1px solid #dddddd; - text-shadow: none; - position: initial; - box-shadow: none; -} - -.fc th { - padding: 7px 15px !important; -} - -.fc .fc-toolbar h2 { - font-size: 16px; - line-height: 25px; -} - -.fc .fc-toolbar { - margin-bottom: 20px !important; -} - -img.thumbnail.small { - width: 50px; - padding: 0; - border: 0; -} - -/** 45. Scrumboard -*************************************************** **/ -.scrumboard { - -webkit-animation-name: fadeUp; - animation-name: fadeUp; - -webkit-animation-duration: 1s; - animation-duration: 1s -} - -.scrumboard { - border-radius: 0px; - background-color: #fff; - padding: 20px; - margin-bottom: 20px -} - -.scrumboard.blue { - background-color: #1D54EF; - background-image: -webkit-gradient(linear, left top, left bottom, from(#1D54EF), to(#4327DF)); - background-image: linear-gradient(-180deg, #1D54EF 0%, #4327DF 100%); - -webkit-box-shadow: 0 2px 30px 0 rgba(16, 37, 133, 0.5); - box-shadow: 0 2px 30px 0 rgba(16, 37, 133, 0.5) -} - -.scrumboard.teal { - background-color: #07B77F; - background-image: -webkit-gradient(linear, left top, left bottom, from(#07B77F), color-stop(98%, #2767DF)); - background-image: linear-gradient(-180deg, #07B77F 0%, #2767DF 98%); - -webkit-box-shadow: 0 2px 30px 0 rgba(7, 186, 171, 0.5); - box-shadow: 0 2px 30px 0 rgba(7, 186, 171, 0.5) -} - -.scrumboard.purple { - background-color: #28428c; - background-image: -webkit-gradient(linear, left top, left bottom, from(#28428c), to(#510d8c)); - background-image: linear-gradient(-180deg, #28428c 0%, #510d8c 100%); - -webkit-box-shadow: 0 2px 30px 0 rgba(42, 16, 133, 0.5); - box-shadow: 0 2px 30px 0 rgba(42, 16, 133, 0.5) -} - -.scrumboard.green { - background-color: #7BC10C; - background-image: -webkit-gradient(linear, left top, left bottom, from(#7BC10C), color-stop(95%, #057051)); - background-image: linear-gradient(-180deg, #7BC10C 0%, #057051 95%); - -webkit-box-shadow: 0 2px 30px 0 rgba(31, 219, 78, 0.5); - box-shadow: 0 2px 30px 0 rgba(31, 219, 78, 0.5) -} - -.scrumboard.red { - background-color: #960644; - background-image: -webkit-gradient(linear, left top, left bottom, from(#960644), color-stop(95%, #af760b)); - background-image: linear-gradient(-180deg, #960644 0%, #af760b 95%); - -webkit-box-shadow: 0 2px 30px 0 rgba(154, 7, 58, 0.5); - box-shadow: 0 2px 30px 0 rgba(154, 7, 58, 0.5) -} - -.scrumboard.pink { - background-color: #a0008f; - background-image: -webkit-gradient(linear, left top, left bottom, from(#a0008f), color-stop(98%, #2767DF)); - background-image: linear-gradient(-180deg, #a0008f 0%, #2767DF 98%); - -webkit-box-shadow: 0 2px 30px 0 rgba(7, 8, 186, 0.5); - box-shadow: 0 2px 30px 0 rgba(7, 8, 186, 0.5) -} - -.scrumboard.white { - border: 1px solid #ddd; -} - -.scrumboard.white .scrumboard-header { - border-bottom: 1px solid rgba(0, 0, 0, 0.1); - padding-bottom: 15px -} - -.scrumboard.white .scrumboard-header .scrumboard-name { - color: #334152 -} - -.scrumboard.white .scrumboard-header .scrumboard-count { - color: rgba(0, 0, 0, 0.5) -} - -.scrumboard.white .scrumboard-header .scrumboard-settings { - color: rgba(0, 0, 0, 0.4) -} - -.scrumboard.white .scrumboard-header .scrumboard-value { - color: #047bf8 -} - -.scrumboard.white .scrumboard-item { - -webkit-box-shadow: none; - box-shadow: none; - border-radius: 0px; - margin-bottom: 15px; - border: 1px solid #d1d4e8; - -webkit-transition: all 0.2s ease; - transition: all 0.2s ease; - cursor: move -} - -.scrumboard.white .scrumboard-item:last-child { - margin-bottom: 0 -} - -.scrumboard.white .scrumboard-item:hover { - border: 1px solid #9ea4cf; - -webkit-box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1); - box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1) -} - -.scrumboard.white .scrumboard-item .sm_scr_foot { - border-radius: 0 0 4px 4px -} - -.scrumboard.white.lined-primary { - border-top: 5px solid #047bf8; - border-radius: 0 0 4px 4px -} - -.scrumboard.white.lined-success { - border-top: 5px solid #24b314; - border-radius: 0 0 4px 4px -} - -.scrumboard.white.lined-danger { - border-top: 5px solid #e65252; - border-radius: 0 0 4px 4px -} - -.scrumboard.white.lined-warning { - border-top: 5px solid #fbe4a0; - border-radius: 0 0 4px 4px -} - -.scrumboard-header { - position: relative; - margin-bottom: 20px; - cursor: move; -} - -.scrumboard-header .scrumboard-header-numbers { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-pack: justify; - -ms-flex-pack: justify; - justify-content: space-between; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center -} - -.scrumboard-header .scrumboard-name { - text-transform: uppercase; - color: #fff; - margin-bottom: 5px; - line-height: 1; - padding-right: 30px -} - -.scrumboard-header .scrumboard-settings { - position: absolute; - top: 0; - right: 0 -} - -.scrumboard-body { - min-height: 100px -} - -.scrumboard-body .badge { - font-size: 10px !important; -} - -.scrumboard-body.empty { - border: 1px dashed rgba(0, 0, 0, 0.2) -} - -.scrumboard-item { - background-color: #fff; - margin-bottom: 20px; - border-radius: 4px; - position: relative; - -webkit-box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.4); - box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.4) -} - -.scrumboard-item:last-child { - margin-bottom: 0 -} - -.scrumboard-item .sm_ctrl { - position: absolute; - top: 5px; - right: 10px; - line-height: 1 -} - -.scrumboard-item .sm_ctrl a { - font-size: 16px; - line-height: 14px; - color: #047bf8; - display: inline-block; - vertical-align: middle -} - -.scrumboard-item .sm_ctrl .pi-settings { - display: inline-block; - color: #047bf8; - vertical-align: middle -} - -.scrumboard-item .sm_ctrl .pi-settings > i { - font-size: 15px -} - -.scrumboard-item .sm_ctrl .status { - display: inline-block; - vertical-align: middle; - margin-left: 5px; - width: 11px; - height: 11px; - border-radius: 10px; - cursor: pointer -} - -.scrumboard-item .sm_ctrl .status.status-green { - background-color: #24b314 -} - -.scrumboard-item .sm_ctrl .status.status-red { - background-color: #e65252 -} - -.scrumboard-item .sm_ctrl .status.status-yellow { - background-color: #fbe4a0 -} - -.scrumboard-item .sm_scr_body { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-pack: start; - -ms-flex-pack: start; - justify-content: flex-start; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - padding: 10px 15px -} - -.scrumboard-item .sm_scr_body .avatar { - width: 50px; - margin-right: 15px; - -webkit-box-flex: 0; - -ms-flex: 0 0 50px; - flex: 0 0 50px -} - -.scrumboard-item .sm_scr_body .avatar img { - width: 50px; - height: 50px; - border-radius: 50% -} - -.scrumboard-item .sm_scr_body .pi-name { - margin-bottom: 0; - margin-top: 0 !important; -} - -.scrumboard-item .sm_scr_body .pi-sub { - color: rgba(0, 0, 0, 0.5); - font-size: .81em -} - -.scrumboard-item .sm_scr_foot { - background-color: #F1F4F8; - padding: 10px; - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-pack: justify; - -ms-flex-pack: justify; - justify-content: space-between; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - border-radius: 0 0 4px 4px -} - -.scrumboard-item .sm_scr_foot .extra-info { - margin-right: 5px; - white-space: nowrap; - font-size: 12px; - color: inherit; - -} - -.scrumboard-item .sm_scr_foot .extra-info i { - margin-right: 5px; - font-size: 16px; - vertical-align: middle; - color: #047bf8; - display: inline-block -} - -.scrumboard-item .sm_scr_foot .extra-info span { - vertical-align: middle; - display: inline-block -} - -.hour legend { - padding: 0; -} - -.bootstrap-select.btn-group .dropdown-toggle .caret { - top: 40% !important; -} - -.bootstrap-select .dropdown-menu.open { - /*max-height: 281px !important;*/ -} - -/** 46. Dropzone -*************************************************** **/ -.dropzone, .dropzone * { - box-sizing: border-box -} - -.dropzone { - min-height: 150px; - border: 2px solid rgba(0, 0, 0, 0.3); - background: white; - padding: 54px -} - -.dropzone.dz-clickable { - cursor: pointer -} - -.dropzone.dz-clickable * { - cursor: default -} - -.dropzone.dz-clickable .dz-message, .dropzone.dz-clickable .dz-message * { - cursor: pointer -} - -.dropzone.dz-started .dz-message { - display: none -} - -.dropzone.dz-drag-hover { - border-style: solid -} - -.dropzone.dz-drag-hover .dz-message { - opacity: 0.5 -} - -.dropzone .dz-message { - text-align: center; - margin: 2em 0 -} - -.dropzone .dz-preview { - position: relative; - display: inline-block; - vertical-align: top; - margin: 16px; - min-height: 100px -} - -.dropzone .dz-preview:hover { - z-index: 1000 -} - -.dropzone .dz-preview:hover .dz-details { - opacity: 1 -} - -.dropzone .dz-preview.dz-file-preview .dz-image { - border-radius: 20px; - background: #999; - background: linear-gradient(to bottom, #eee, #ddd) -} - -.dropzone .dz-preview.dz-file-preview .dz-details { - opacity: 1 -} - -.dropzone .dz-preview.dz-image-preview { - background: white -} - -.dropzone .dz-preview.dz-image-preview .dz-details { - -webkit-transition: opacity 0.2s linear; - -moz-transition: opacity 0.2s linear; - -ms-transition: opacity 0.2s linear; - -o-transition: opacity 0.2s linear; - transition: opacity 0.2s linear -} - -.dropzone .dz-preview .dz-remove { - font-size: 14px; - text-align: center; - display: block; - cursor: pointer; - border: none -} - -.dropzone .dz-preview .dz-remove:hover { - text-decoration: underline -} - -.dropzone .dz-preview:hover .dz-details { - opacity: 1 -} - -.dropzone .dz-preview .dz-details { - z-index: 20; - position: absolute; - top: 0; - left: 0; - opacity: 0; - font-size: 13px; - min-width: 100%; - max-width: 100%; - padding: 2em 1em; - text-align: center; - color: rgba(0, 0, 0, 0.9); - line-height: 150% -} - -.dropzone .dz-preview .dz-details .dz-size { - margin-bottom: 1em; - font-size: 16px -} - -.dropzone .dz-preview .dz-details .dz-filename { - white-space: nowrap -} - -.dropzone .dz-preview .dz-details .dz-filename:hover span { - border: 1px solid rgba(200, 200, 200, 0.8); - background-color: rgba(255, 255, 255, 0.8) -} - -.dropzone .dz-preview .dz-details .dz-filename:not(:hover) { - overflow: hidden; - text-overflow: ellipsis -} - -.dropzone .dz-preview .dz-details .dz-filename:not(:hover) span { - border: 1px solid transparent -} - -.dropzone .dz-preview .dz-details .dz-filename span, .dropzone .dz-preview .dz-details .dz-size span { - background-color: rgba(255, 255, 255, 0.4); - padding: 0 0.4em; - border-radius: 3px -} - -.dropzone .dz-preview:hover .dz-image img { - -webkit-transform: scale(1.05, 1.05); - -moz-transform: scale(1.05, 1.05); - -ms-transform: scale(1.05, 1.05); - -o-transform: scale(1.05, 1.05); - transform: scale(1.05, 1.05); - -webkit-filter: blur(8px); - filter: blur(8px) -} - -.dropzone .dz-preview .dz-image { - border-radius: 20px; - overflow: hidden; - width: 120px; - height: 120px; - position: relative; - display: block; - z-index: 10 -} - -.dropzone .dz-preview .dz-image img { - display: block -} - -.dropzone .dz-preview.dz-success .dz-success-mark { - -webkit-animation: passing-through 3s cubic-bezier(0.77, 0, 0.175, 1); - -moz-animation: passing-through 3s cubic-bezier(0.77, 0, 0.175, 1); - -ms-animation: passing-through 3s cubic-bezier(0.77, 0, 0.175, 1); - -o-animation: passing-through 3s cubic-bezier(0.77, 0, 0.175, 1); - animation: passing-through 3s cubic-bezier(0.77, 0, 0.175, 1) -} - -.dropzone .dz-preview.dz-error .dz-error-mark { - opacity: 1; - -webkit-animation: slide-in 3s cubic-bezier(0.77, 0, 0.175, 1); - -moz-animation: slide-in 3s cubic-bezier(0.77, 0, 0.175, 1); - -ms-animation: slide-in 3s cubic-bezier(0.77, 0, 0.175, 1); - -o-animation: slide-in 3s cubic-bezier(0.77, 0, 0.175, 1); - animation: slide-in 3s cubic-bezier(0.77, 0, 0.175, 1) -} - -.dropzone .dz-preview .dz-error-mark, .dropzone .dz-preview .dz-success-mark { - pointer-events: none; - opacity: 0; - z-index: 500; - position: absolute; - display: block; - top: 50%; - left: 50%; - margin-left: -27px; - margin-top: -27px -} - -.dropzone .dz-preview .dz-error-mark svg, .dropzone .dz-preview .dz-success-mark svg { - display: block; - width: 54px; - height: 54px -} - -.dropzone .dz-preview.dz-processing .dz-progress { - opacity: 1; - -webkit-transition: all 0.2s linear; - -moz-transition: all 0.2s linear; - -ms-transition: all 0.2s linear; - -o-transition: all 0.2s linear; - transition: all 0.2s linear -} - -.dropzone .dz-preview.dz-complete .dz-progress { - opacity: 0; - -webkit-transition: opacity 0.4s ease-in; - -moz-transition: opacity 0.4s ease-in; - -ms-transition: opacity 0.4s ease-in; - -o-transition: opacity 0.4s ease-in; - transition: opacity 0.4s ease-in -} - -.dropzone .dz-preview:not(.dz-processing) .dz-progress { - -webkit-animation: pulse 6s ease infinite; - -moz-animation: pulse 6s ease infinite; - -ms-animation: pulse 6s ease infinite; - -o-animation: pulse 6s ease infinite; - animation: pulse 6s ease infinite -} - -.dropzone .dz-preview .dz-progress { - opacity: 1; - z-index: 1000; - pointer-events: none; - position: absolute; - height: 16px; - left: 50%; - top: 50%; - margin-top: -8px; - width: 80px; - margin-left: -40px; - background: rgba(255, 255, 255, 0.9); - -webkit-transform: scale(1); - border-radius: 8px; - overflow: hidden -} - -.dropzone .dz-preview .dz-progress .dz-upload { - background: #333; - background: linear-gradient(to bottom, #666, #444); - position: absolute; - top: 0; - left: 0; - bottom: 0; - width: 0; - -webkit-transition: width 300ms ease-in-out; - -moz-transition: width 300ms ease-in-out; - -ms-transition: width 300ms ease-in-out; - -o-transition: width 300ms ease-in-out; - transition: width 300ms ease-in-out -} - -.dropzone .dz-preview.dz-error .dz-error-message { - display: block -} - -.dropzone .dz-preview.dz-error:hover .dz-error-message { - opacity: 1; - pointer-events: auto -} - -.dropzone .dz-preview .dz-error-message { - pointer-events: none; - z-index: 1000; - position: absolute; - display: block; - display: none; - opacity: 0; - -webkit-transition: opacity 0.3s ease; - -moz-transition: opacity 0.3s ease; - -ms-transition: opacity 0.3s ease; - -o-transition: opacity 0.3s ease; - transition: opacity 0.3s ease; - border-radius: 8px; - font-size: 13px; - top: 130px; - left: -10px; - width: 140px; - background: #be2626; - background: linear-gradient(to bottom, #be2626, #a92222); - padding: 0.5em 1.2em; - color: white -} - -.dropzone .dz-preview .dz-error-message:after { - content: ''; - position: absolute; - top: -6px; - left: 64px; - width: 0; - height: 0; - border-left: 6px solid transparent; - border-right: 6px solid transparent; - border-bottom: 6px solid #be2626 -} - -.dropzone { - border: 2px dashed #4076e0; - border-radius: 5px; - background: white -} - -.dropzone .dz-message { - font-weight: 400 -} - -.dropzone .dz-message .note { - font-size: 20px; - font-weight: 200; - display: block; - margin-top: 10px; -} - -/** 47. Widget -*************************************************** **/ -.sm_wethear { - background-image: url("../images/bg-wethear.jpg"); - background-repeat: no-repeat; - background-size: cover; - padding: 25px; - position: relative; - color: #fff; - text-align: center; - background-color: #38a9ff; -} - -.sm_wethear .large_icon { - width: 64px; - height: 64px; -} - -.sm_wethear .sm_forecast { - margin-right: -25px; - margin-left: -25px; - padding: 0 20px; -} - -.sm_wethear .sm_forecast li { - display: inline-block; - vertical-align: top; - padding: 15px 5px; - text-transform: uppercase; - font-size: 12px; - font-weight: 700; -} - -.sm_wethear .sm_forecast li > * { - margin-bottom: 8px; -} - -.sm_wethear .sm_forecast li > *:last-child { - margin-bottom: 0; -} - -.sm_wethear .sm_forecast li svg { - height: 22px; - width: 22px; -} - -.sm_wethear .sm_forecast li .olymp-weather-partly-sunny-icon { - height: 22px; - width: 22px; -} - -.sm_wethear .sm_forecast:before { - content: ''; - display: block; - position: absolute; - top: 0; - left: 0; - right: 0; - bottom: 0; - background-color: #fff; - opacity: .1; -} - -.sm_wethear .more { - position: absolute; - right: 24px; - top: 24px; - opacity: .8; - color: #fff; - fill: #fff; -} - -.sm_wethear .sm_temp_sensor { - font-size: 60px; - line-height: 1; -} - -.sm_wethear > * { - margin-bottom: 20px; -} - -.sm_wethear > *:last-child { - margin-bottom: 0; -} - -.sm_wethear .max-min-temperature { - margin-right: 20px; -} - -.sm_wethear .max-min-temperature span { - display: block; -} - -.sm_wethear svg { - fill: #fff; -} - -.sm_wethear .climate { - font-size: 18px; -} - -.sm_wethear .sm_weather_now { - margin-top: 10px; -} - -.sm_wethear .sm_weather_now_dec span { - font-size: 11px; -} - -.sm_wethear .sm_weather_now_dec span > span { - font-weight: 500; -} - -.sm_wethear .sm_weather_now_dec span + span { - margin-left: 15px; -} - -.sm_wethear .date { - color: #fff; - margin-bottom: 0; -} - -.sm_wethear .place { - font-size: 14px; -} - -.sm_wethear .inline-items > * { - display: inline-block; - vertical-align: middle; -} - -.dots-icons { - width: 16px; - height: 4px; -} - -@media (max-width: 1400px) { - .sm_wethear .sm_forecast li { - padding: 15px 7px; - } -} - -/** 48. Widget Birthday Alert -*************************************************** **/ -.sm_birthday_alert { - background-image: url("../images/bg-birthdays.jpg"); - background-repeat: no-repeat; - background-size: cover; - padding: 25px; -} - -.sm_birthday_alert .more { - float: right; - opacity: .7; - color: #fff; - fill: #fff; -} - -.sm_birthday_alert .icons-block { - margin-bottom: 35px; - fill: #fff; - color: #fff; -} - -.sm_birthday_alert .olymp-cupcake-icon { - width: 24px; - height: 20px; -} - -.sm_birthday_alert .author-thumb img { - width: 48px; - height: 48px; - border: 2px solid #fff; - margin-bottom: 12px; -} - -.sm_birthday_alert .content { - color: #fff; -} - -.sm_birthday_alert .content span { - font-size: 10px; - margin-bottom: 4px; - display: block; -} - -.sm_birthday_alert .content .title { - line-height: 1.3; - font-weight: 400; - color: inherit; - margin-bottom: 20px; - font-size: 24px; - display: block; -} - -.sm_birthday_alert .content p { - font-size: 12px; -} - -/** 49. Widget Sparklines -*************************************************** **/ -.sparklines-full-content { - margin-left: -10px; - transform: translateX(5px) translateY(5px); -} - - -.list-item-container div:first-child { - border-top: 0; -} - -.list .list-item { - float: left; - overflow-x: hidden; - position: relative; - width: 100%; - padding-top: 10px; - margin-top: 10px; - border-top: 1px solid #eaeaea; -} - -.pvr-icon-box { - display: inline-block; - width: 50px; - height: 50px; - line-height: 60px; - border-radius: 4px; - color: #FFF; -} - -.profile-tile { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - border-radius: 4px; - -webkit-transition: all 0.25s ease; - transition: all 0.25s ease; -} - -.profile-tile .profile-tile-box { - width: 110px; - text-align: center; - padding: 1.4em; - text-decoration: none; - border-radius: 6px; - color: #3E4B5B; - display: block; -} - -.profile-tile .pt-avatar-w { - display: inline-block; - border-radius: 50px; - overflow: hidden; -} - -.profile-tile .pt-avatar-w img { - width: 60px; - height: auto; -} - -.profile-tile .pt-user-name { - padding-top: 0.5em; - padding-bottom: 0.5em; - margin-top: 0.5em; - font-size: 11px; - text-transform: uppercase; -} - -.profile-tile .profile-tile-meta { - -webkit-box-flex: 1; - -ms-flex: 1; - flex: 1; - padding: 0 7px; - padding-left: 3px; -} - -.profile-tile .profile-tile-meta ul { - list-style: none; - color: rgba(0, 0, 0, 0.4); - margin: 0px; - padding: 0px; - font-size: 12px; -} - -.profile-tile .profile-tile-meta ul li { - margin-bottom: 0.3em; -} - -.profile-tile .profile-tile-meta ul strong { - color: #3E4B5B; - margin-left: 5px; -} - -.profile-tile .pt-btn { - margin-top: 10px; -} - -.square-8 { - display: inline-block; - width: 8px; - height: 8px; -} - -.wid-card-footer:last-child { - border-radius: 0 0 calc(.25em - 1px) calc(.25em - 1px); -} - -.wid-card-footer { - border-top: 1px solid rgba(0, 0, 0, 0.05); - padding: 1em 1.5em; - background: inherit; -} - -.table.lg > thead > tr > th, -.table.lg > tbody > tr > th, -.table.lg > tfoot > tr > th, -.table.lg > thead > tr > td, -.table.lg > tbody > tr > td, -.table.lg > tfoot > tr > td { - padding: 12px !important; -} - -.activity-timeline { - margin-left: 120px; - padding-left: 20px; - border-left: 2px solid #e5e8eb; -} - -.activity-timeline li:last-of-type { - margin-bottom: 0 !important; -} - -.base-timeline li { - position: relative; - margin-bottom: 35px; -} - -.activity-timeline li .timeline-icon { - position: absolute; - top: 0; - left: -3.5rem; - width: 30px; - height: 30px; - text-align: center; - color: #fff; - border-radius: 50%; - background: #c6c5c7; - font-size: 12px; - font-weight: 700; - line-height: 30px; -} - -.activity-timeline li .timeline-icon img { - position: relative; - top: -1px; - width: 100%; - height: auto; - border-radius: 50%; -} - -.activity-timeline .act-time { - position: absolute; - top: 5px; - left: -140px; - text-transform: uppercase; - font-size: 11px; - font-weight: 700; -} - -/** 50. Temp chart -*************************************************** **/ -.temp_chart .card { - position: relative; - height: 400px; - background-image: url("../images/bg-wethear.jpg"); - background-repeat: no-repeat; - background-size: cover; -} - -/* hide limit values on X axis */ -.temp_chart .card #temp_chart { - margin-left: -30px; - margin-right: -30px; - width: 360px !important; -} - -.temp_chart .card .about { - height: 185px; - padding: 20px; - box-sizing: border-box; -} - -.temp_chart .card .about h3, -.temp_chart .card .about .lead { - margin-top: 0; - margin-bottom: 0; - font-weight: 400; -} - -.temp_chart .card .about h3 { - font-size: 24px; - color: #fff; -} - -.temp_chart .card .about .lead { - color: #eee; -} - -.temp_chart .card .info { - float: left; - padding: 10px 30px 10px 0; -} - -.temp_chart .card .info p { - font-size: 11px; - color: #aaa; - font-weight: 300; -} - -.temp_chart .axis { - position: absolute; - color: #fff; - z-index: 1; - text-transform: uppercase; - display: flex; - width: 100%; - bottom: 0; -} - -.temp_chart .axis .tick { - flex: 1; - position: relative; - font-size: 11px; - text-align: center; - padding-top: 10px; - padding-bottom: 10px; - line-height: 20px; -} - -.temp_chart .axis .tick::after { - content: ""; - position: absolute; - display: block; - right: 0; - bottom: 0; - width: 1px; - height: 200px; - background: rgba(255, 255, 255, 0.2); -} - -.temp_chart .axis .tick .value { - transform: translateY(-240px); - opacity: 0; - transition: all 0.3s; - position: absolute; - top: 20px; - left: 0; - color: #fff; - border-radius: 2px; - width: 100%; - line-height: 20px; -} - -.temp_chart .axis .tick:hover .value.value--this { - transform: translateY(-160px); - display: block; - opacity: 0.4; -} - -.temp_chart .value.value--this { - color: #fff; - font-weight: bold; -} - -.temp_chart .day-number { - display: block; -} - -.temp_chart .day-name { - display: block; - opacity: 0.4; -} - -/** 51. list to-do -*************************************************** **/ -.todo-list { - margin: 20px 0; - padding-left: 0; -} - -.todo-list li { - list-style: none; - -} - -.todo-list li { - border: 1px solid #dddddd; - margin-bottom: 7px; - position: relative; - word-break: break-word; -} - -.todo-list li.danger { - background: #4076e0; -} - -.todo-list li.danger label { - text-decoration: line-through; - color: #fff; -} - -.todo-list li.danger label .checkbox-mask { - border-color: transparent; -} - -.todo-list li.danger label .checkbox-mask:after { - content: '\f00c'; - font-family: 'FontAwesome'; - display: block; - position: absolute; - top: -4px; - left: -2px; -} - -.todo-list li .checkboxx { - margin: 0; - padding: 10px 15px; -} - -.todo-list li label { - display: block; - padding-left: 15px; - margin-bottom: 0; -} - -.todo-list li label input[type="checkbox"] { - visibility: hidden; -} - -.todo-list li label .checkbox-mask { - display: block; - border: 2px solid #666; - width: 15px; - height: 15px; - border-radius: 0; - position: absolute; - margin-left: -10px; - margin-top: 4px; -} - -.todo-list li .close { - display: none; - position: absolute; - width: 12px; - height: 16px; - top: 50%; - margin-top: -8px; - right: 10px; - font-size: 16px; -} - -.todo-list li .close .fa { - line-height: 16px; - color: #ffffff; - margin-left: -8px; -} - -.todo-list li:hover .close { - display: block; -} - -.todo-list input[type="checkbox"] { - opacity: 0; -} - -.wid_num { - display: flex; - flex-direction: row; - justify-content: space-around; - width: 100%; - height: 100px; - background: #fff; - align-items: center; - border: 1px solid #dddddd; -} - -.wid_num .block { - text-align: center; - height: 100%; - width: 100px; - display: flex; - flex-direction: column; - align-items: center; - justify-content: center; -} - -.wid_num .block:hover { - color: #4076e0; - cursor: pointer; -} - -.wid_num .block .number { - font-size: 32px; - line-height: 32px; - font-weight: bold; -} - -@media (max-width: 768px) { - .wid_num .block .number { - font-size: 20px; - line-height: 20px; - } -} - -.wid_num .block .string { - font-size: 12px; - line-height: 18px; - opacity: 0.4; -} - -.btc_chart { - position: absolute; - top: 0; - left: 0; - width: 100%; - height: 100%; - padding: 25px 45px; - display: flex; - flex-direction: column; - justify-content: flex-start; -} - -.fill { - overflow: hidden; - width: 100%; -} - -.fill svg { - margin: -10px; -} - -.basic-gradient { - background: #328dff !important; - background: -webkit-linear-gradient(135deg, #3d74f1, #9986ee) !important; - background: linear-gradient(-45deg, #3d74f1, #9986ee) !important; -} - -.heading-1 { - font-size: 3.5em !important; - line-height: 1.3; -} - -.widget_1 .row > div:nth-child(odd) { - background-color: #fcfcfc; -} - -.widget_1 .row > div { - padding: 20px; - display: flex; - align-items: center; -} - -.widget_1 .icon, .widget_1 .icon::before, .widget_1 .icon::after { - line-height: 1; -} - -.widget_1 .icon { - font-size: 72px; - color: #adb5bd; -} - -.widget_1 .wid-content { - margin-left: 15px; -} - -.widget_1 .wid-content label { - text-transform: uppercase; - font-size: 12px; - font-weight: 700; - letter-spacing: 1px; - margin-bottom: 2px; -} - -.widget_1 .wid-content h2 { - color: #343a40; - font-weight: 700; - margin-bottom: 0; - margin-top: 0; -} - -.b-l { - border-left: 1px solid rgba(0, 0, 0, 0.1); -} - -#chartdiv_map { - width: 100%; - height: 440px; -} - -.no-border { - border: 0 !important; - box-shadow: unset !important; -} - -.ti-placeholder, .ti-cursor { - display: none !important; -} - -.timer { - padding: 3% 10px; - border: 1px solid #dddddd; -} - -.timer-session { - width: 100%; - padding-left: 10px; - padding-right: 10px; -} - -.timer-session:after { - content: ""; - display: table; - clear: both; -} - -.timer-session-action { - float: left; - width: 20%; -} - -.timer-session-log { - float: right; -} - -.timer-digits { - text-align: center; -} - -.timer-digit-group { - display: inline-block; - position: relative; - width: 24%; -} - -.timer-digit { - position: relative; - font-size: 28px; - text-align: center; - font-weight: bold; -} - -.timer-colon { - position: absolute; - top: 50%; - left: 50%; - transform: translate(-50%, -50%); - left: 99%; - content: ":"; - font-size: 20px; - font-weight: 400; - display: block; - opacity: 0.4; -} - -.timer-unit { - margin-bottom: 5px; - font-size: 12px; -} - -@media (max-width: 420px) { - .widget { - box-shadow: none; - } - - .timer-digit { - font-size: 25px; - margin-bottom: .15em; - } - - .timer-colon { - font-size: 14px; - } - - .timer-unit { - font-size: 10px; - } -} - -@media (max-width: 360px) { - .timer-digit-group { - width: 35%; - } - - .timer-colon { - display: none; - } -} - -.right_icon { - position: absolute; - right: 50px; - top: 22px; - font-size: 48px !important; -} - -.wpa { - margin: auto; - top: 0; - bottom: 0; - left: 0; - right: 0; - display: flex; - flex-direction: row; -} - -.wpa .round_chart { - margin: 0 auto; - display: flex; - flex-direction: row; -} - -.wpa svg { - margin: auto; -} - -.wpa .text { - position: absolute; - text-align: center; - width: 100%; - left: 0; - top: 25px; -} - -@media (max-width: 768px) { - .wpa.bg-dark { - height: 400px !important; - } -} - -body.un_fixed_footer .page-container { - padding-bottom: 0px !important; -} - -body.fixed_footer .page-container { - padding-bottom: 110px !important; -} - -#grid { - -moz-transform: translate(1px, 0px); - -ms-transform: translate(1px, 0px); - -webkit-transform: translate(1px, 0px); - transform: translate(1px, 0px); -} - -#graph-1 { - stroke: url(#gradient-1); - stroke-width: 1.5; - fill: transparent; - stroke-linecap: round; - stroke-linejoin: round; - -moz-animation: lineani 1.3s linear forwards; - -webkit-animation: lineani 1.3s linear forwards; - animation: lineani 1.3s linear forwards; -} - -#graph-2 { - stroke: url(#gradient-2); - stroke-width: 1.5; - fill: transparent; - stroke-linecap: round; - stroke-linejoin: round; - -moz-animation: lineani 1.3s linear forwards; - -webkit-animation: lineani 1.3s linear forwards; - animation: lineani 1.3s linear forwards; -} - -#poly-1 { - fill: url(#gradient-3); -} - -#poly-2 { - fill: url(#gradient-4); -} - - -#grid { - -moz-transform: translate(1px, 0px); - -ms-transform: translate(1px, 0px); - -webkit-transform: translate(1px, 0px); - transform: translate(1px, 0px); -} - -#graph-1 { - stroke: url(#gradient-1); - stroke-width: 1.5; - fill: transparent; - stroke-linecap: round; - stroke-linejoin: round; - -moz-animation: lineani 1.3s linear forwards; - -webkit-animation: lineani 1.3s linear forwards; - animation: lineani 1.3s linear forwards; -} - -#graph-2 { - stroke: url(#gradient-2); - stroke-width: 1.5; - fill: transparent; - stroke-linecap: round; - stroke-linejoin: round; - -moz-animation: lineani 1.3s linear forwards; - -webkit-animation: lineani 1.3s linear forwards; - animation: lineani 1.3s linear forwards; -} - -#poly-1 { - fill: url(#gradient-3); -} - -#poly-2 { - fill: url(#gradient-4); -} - -@-moz-keyframes lineani { - to { - stroke-dashoffset: 0; - } -} - -@-webkit-keyframes lineani { - to { - stroke-dashoffset: 0; - } -} - -@keyframes lineani { - to { - stroke-dashoffset: 0; - } -} - - -.chart { - color: #4a667a; - background-color: #1e2730; - position: relative; - -moz-box-sizing: border-box; - -webkit-box-sizing: border-box; - box-sizing: border-box; -} - -.title { - font-size: 22px; - margin: 0px; -} - -.valueX { - font-size: 14px; -} - -.h-value { - -moz-transition: ease-in-out 700ms; - -o-transition: ease-in-out 700ms; - -webkit-transition: ease-in-out 700ms; - transition: ease-in-out 700ms; - opacity: 0; -} - -.h-value.visible { - opacity: 1; -} - -.percentage-value.visible { - opacity: 1; -} - -.percentage-value { - -moz-transition: ease-in-out 700ms; - -o-transition: ease-in-out 700ms; - -webkit-transition: ease-in-out 700ms; - transition: ease-in-out 700ms; - color: #48c15e; - margin-top: 2px; - opacity: 0; -} - - -.right .graph .wid_stk { - margin: 0; - margin-left: 20px; - top: 5px; -} - -.right .wid_stk { - position: relative; - display: flex; - flex-direction: row; - align-items: center; - height: 40px; - padding: 5px 0px; - margin-bottom: 20px !important; -} - -.right .stock-logo { - position: relative; - display: flex; - justify-content: center; - flex: 0; - margin-right: 10px; -} - -.right .stock-logo.paperpillar:before { - background: linear-gradient(to top right, #7871ff, #6feaff); -} - -.right .stock-logo.dandruft:before { - background: linear-gradient(to top right, #f88781, #f7c682); -} - -.right .stock-logo:before { - content: ''; - width: 30px; - height: 30px; - background-color: #555; - -webkit-transform: rotate(45deg); - transform: rotate(45deg); - border-radius: 7px; -} - -.right .stock-logo i { - position: absolute; - top: 50%; - left: 50%; - -webkit-transform: translate(-50%, -50%); - transform: translate(-50%, -50%); -} - -.fa-inverse { - color: #fff; -} - -.right .stock-info { - margin-left: 5px; - flex: 1; -} - -.right .stock-name { - color: #00008b; -} - -.right .stock-fullname { - color: #808080; -} - -/** 48. Sidebar -*************************************************** **/ -body.sidebar_menu .sidebar { - position: fixed; - top: 0; - bottom: 0; - left: 0; - width: 260px; - display: block; - z-index: 10000; - color: #fff; - background-size: cover; - background-position: center center; -} - -body.sidebar_menu .sidebar .logo-img { - width: 30px; - display: inline-block; - max-height: 30px; -} - -body.sidebar_menu .sidebar .logo-img img { - width: 35px; - top: 1px; - position: absolute; - left: 0px; -} - -body.sidebar_menu .sidebar .logo { - padding: 8px 0px 6px; - margin: 0; - position: relative; - z-index: 4; - display: block; -} - -body.sidebar_menu .sidebar .logo a.logo-mini { - float: left; - width: 50px; - text-align: center; - margin-left: 15px; - margin-right: 5px; - position: relative; -} - -body.sidebar_menu .sidebar .logo a.logo-normal { - display: block; - opacity: 1; - -webkit-transform: translate3d(0px, 0, 0); - -moz-transform: translate3d(0px, 0, 0); - -o-transform: translate3d(0px, 0, 0); - -ms-transform: translate3d(0px, 0, 0); - transform: translate3d(0px, 0, 0); -} - -body.sidebar_menu .sidebar .logo .simple-text { - text-transform: uppercase; - padding: 5px 0px; - display: inline-block; - font-size: 1.125em; - font-weight: 400; - line-height: 30px; - white-space: nowrap; - color: #FFFFFF; - overflow: hidden; -} - -body.sidebar_menu .sidebar .logo p { - float: left; - font-size: 20px; - margin: 10px 10px; - line-height: 20px; -} - -body.sidebar_menu .sidebar .logo:before { - content: ""; - position: absolute; - bottom: 0px; - right: 15px; - width: calc(100% - 30px); - height: 1px; -} - -body.sidebar_menu .sidebar .sidebar-wrapper { - position: relative; - height: calc(100vh - 0px) !important; - min-height: 100%; - overflow: auto; - width: 260px; - z-index: 4; - padding-bottom: 20px; -} - - -body.sidebar_menu .sidebar .nav > li > a:hover, -body.sidebar_menu .sidebar .nav > li > a:focus { - background-color: rgba(0, 0, 0, 0.20) !important; -} - -body.sidebar_menu .sidebar .sidebar-wrapper .nav .nav-item [data-toggle="collapse"] ~ div .nav .nav-item .nav-link { - background: transparent; - padding-left: 55px; - text-transform: capitalize; - padding: 5px 15px 5px 15px; - font-weight: 400; - font-size: 14px; -} - -body.sidebar_menu .sidebar .sidebar-wrapper .nav .nav-item [data-toggle="collapse"] ~ div .nav .nav-item .nav-link:hover, -body.sidebar_menu .sidebar .sidebar-wrapper .nav .nav-item [data-toggle="collapse"] ~ div .nav .nav-item .nav-link:focus, -body.sidebar_menu .sidebar .sidebar-wrapper .nav .nav-item [data-toggle="collapse"] ~ div .nav .nav-item.active .nav-link { - background: rgba(0, 0, 0, 0.20); -} - -body.sidebar_menu .second_level_link { - margin-left: 25px !important; -} - -body.sidebar_menu .sidebar .sidebar-wrapper .nav .nav-item [data-toggle="collapse"] ~ div .nav .sidebar-normal { - left: 15px; -} - -body.sidebar_menu .sidebar .sidebar-wrapper .nav .nav-link p { - margin: 0; - line-height: 30px; - font-size: 13px; - font-weight: 600; - text-transform: uppercase; - white-space: nowrap; - position: relative; - color: #FFFFFF; - -webkit-transform: translate3d(0px, 0, 0); - -moz-transform: translate3d(0px, 0, 0); - -o-transform: translate3d(0px, 0, 0); - -ms-transform: translate3d(0px, 0, 0); - transform: translate3d(0px, 0, 0); - display: block; - height: auto; - opacity: 1; -} - -body.sidebar_menu .sidebar .sidebar-wrapper .navbar-form.navbar-search-form { - margin-top: 15px; - padding-left: 25px; -} - -body.sidebar_menu .sidebar .sidebar-wrapper .navbar-form.navbar-search-form input { - padding-left: 10px; - padding-top: 5px; -} - -body.sidebar_menu .sidebar .sidebar-background { - position: absolute; - z-index: 1; - height: 100%; - width: 100%; - display: block; - top: 0; - left: 0; - background-size: cover; - background-position: center center; -} - -body.sidebar_menu .sidebar .user { - border-bottom: 1px solid rgba(255, 255, 255, 0.2); - padding-bottom: 20px; - margin-top: 20px; -} - -body.sidebar_menu .sidebar .user .photo { - width: 34px; - height: 34px; - overflow: hidden; - border-radius: 50%; - float: left; - margin-right: 11px; - margin-left: 23px; - z-index: 5; - border: 2px solid rgba(255, 255, 255, 0.3); -} - -body.sidebar_menu .sidebar .user .photo img { - width: 100%; -} - -body.sidebar_menu .sidebar .user .info .caret { - right: 15px; - top: -5px; -} - -body.sidebar_menu .sidebar .user .info a { - color: #FFFFFF; - padding: 8px 14px; - display: block; - white-space: nowrap; - line-height: 18px; -} - -body.sidebar_menu .sidebar .user .info span { - position: relative; - display: block; -} - -body.sidebar_menu .sidebar .user .info .collapse .sidebar-normal { - padding-left: 0; -} - -body.sidebar_menu .sidebar .user .profile-dropdown { - text-align: left !important; - padding-left: 25px !important; -} - -body.sidebar_menu .sidebar .user .profile-dropdown .sidebar-mini, -body.sidebar_menu .sidebar .user .profile-dropdown .sidebar-normal { - margin-right: 0; - font-size: 14px; -} - -body.sidebar_menu .sidebar .user .profile-dropdown .sidebar-normal { - left: 15px; -} - -body.sidebar_menu .sidebar .caret { - display: inline-block; - width: 0; - height: 0; - vertical-align: middle; - border-top: 4px dashed; - border-top: 4px solid \9; - border-right: 4px solid transparent; - border-left: 4px solid transparent; - margin-top: 13px; - position: absolute; - right: 0; - -webkit-transition: all 150ms ease-in; - -moz-transition: all 150ms ease-in; - -o-transition: all 150ms ease-in; - -ms-transition: all 150ms ease-in; - transition: all 150ms ease-in; -} - -body.sidebar_menu .sidebar a[data-toggle="collapse"][aria-expanded="true"] .caret, -body.sidebar_menu .sidebar .btn[data-toggle="collapse"][aria-expanded="true"] .caret, -body.sidebar_menu .sidebar a.dropdown-toggle[aria-expanded="true"] .caret { - filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2); - -webkit-transform: rotate(180deg); - -ms-transform: rotate(180deg); - transform: rotate(180deg); -} - -body.sidebar_menu .sidebar .caret:after { - content: '' !important; -} - -body.sidebar_menu .sidebar .nav { - float: none; - display: block; -} - - -body.sidebar_menu .sidebar .nav .nav-item .nav-link { - color: #FFFFFF; - margin: 5px 10px 0px 10px; - opacity: .86; - border-radius: 4px; - text-transform: uppercase; - line-height: 30px; - font-size: 12px; - font-weight: 600; - padding: 10px 15px; - white-space: nowrap; -} - -body.sidebar_menu .sidebar .nav .nav-item .nav-link:hover { - background: rgba(103, 58, 183, 0.55); - opacity: 1; -} - -body.sidebar_menu .sidebar .nav .nav-item .nav-link i { - margin-top: 5px; - margin-right: 15px; - width: 30px; - text-align: center; - vertical-align: middle; - float: left; - font-size: 17px; -} - -body.sidebar_menu .sidebar .nav .nav-item .nav-link.sub_link i { - margin-right: 0; - font-size: 17px; - margin-top: 0; - line-height: 27px; -} - -body.sidebar_menu .sidebar .nav .nav-item:not(.collapse .nav-link):hover .nav-link { - background: rgba(255, 255, 255, 0.13); - opacity: 1; -} - -body.sidebar_menu .sidebar .nav .nav-item.active .nav-link { - color: #FFFFFF; - opacity: 1; - background: rgba(0, 0, 0, 0.20); -} - -body.sidebar_menu .sidebar .nav .nav-item.separator { - margin: 15px 0; - border-bottom: 1px solid rgba(103, 58, 183, 0.55); -} - -body.sidebar_menu .sidebar .nav .nav-item.separator + .nav-item { - margin-top: 31px; -} - -body.sidebar_menu .sidebar:after, -body.sidebar_menu .sidebar:before { - display: block; - content: ""; - position: absolute; - width: 100%; - height: 100%; - top: 0; - left: 0; - z-index: 2; -} - -body.sidebar_menu .sidebar:before { - opacity: .33; - background: #000000; -} - -body.sidebar_menu .sidebar[data-image]:after, -body.sidebar_menu .sidebar.has-image:after { - opacity: .95; -} - -body.sidebar_menu .sidebar .logo p { - float: left; - font-size: 20px; - margin: 10px 10px; - color: #FFFFFF; - line-height: 20px; - font-family: 'Poppins', sans-serif; -} - -body.sidebar_menu .sidebar .logo .logo-text { - text-transform: uppercase; - padding: 5px 0px 5px 15px; - display: block; - font-size: 1.125em; - color: #FFFFFF; - font-weight: 400; - line-height: 30px; - white-space: nowrap; - overflow: hidden; -} - -body.sidebar_menu .sidebar .logo .logo-image { - float: left; - height: 40px; - width: 40px; - margin: 0 10px; -} - -body.sidebar_menu .sidebar .logo .logo-round { - border-radius: 50%; - display: block; - overflow: hidden; -} - -body.sidebar_menu .sidebar .logo .logo-round img { - width: 100%; -} - -body.sidebar_menu .sidebar .logo:before { - content: ""; - position: absolute; - bottom: 0px; - right: 15px; - width: calc(100% - 30px); - height: 1px; - background-color: rgba(255, 255, 255, 0.3); -} - -body.sidebar_menu .sidebar .logo-mini .logo-text { - text-transform: uppercase; - padding: 7px 0px; - display: block; - font-size: 1.125em; - color: #FFFFFF; - font-weight: 400; - line-height: 30px; - text-align: center; - white-space: nowrap; - overflow: hidden; -} - - -body.sidebar_menu.sidebar-mini .sidebar .sidebar-wrapper .nav .nav-item:hover .collapse .nav-item .nav-link { - padding: 5px 15px; -} - - -body.sidebar_menu .sidebar .sidebar-wrapper .nav [data-toggle="collapse"] ~ div > ul > li > a .sidebar-mini, -body.sidebar_menu .sidebar .sidebar-wrapper .user .info [data-toggle="collapse"] ~ div > ul > li > a .sidebar-mini { - text-transform: uppercase; - float: left; - width: 30px; - text-align: center; - letter-spacing: 1px; -} - -body.sidebar_menu .sidebar .sidebar-wrapper > .nav [data-toggle="collapse"] ~ div > ul > li > a .sidebar-normal, -body.sidebar_menu .sidebar .sidebar-wrapper .user .info [data-toggle="collapse"] ~ div > ul > li > a .sidebar-normal, -body.sidebar_menu .off-canvas-sidebar .sidebar-wrapper > .nav [data-toggle="collapse"] ~ div > ul > li > a .sidebar-normal, -body.sidebar_menu .off-canvas-sidebar .sidebar-wrapper .user .info [data-toggle="collapse"] ~ div > ul > li > a .sidebar-normal { - margin: 0; - position: relative; - transform: translateX(0px); - opacity: 1; - white-space: nowrap; - display: inline-block; - line-height: 23px; -} - -body.sidebar_menu .sidebar .nav .nav-item .nav-link .sidebar-mini { - padding-left: 5px !important; - opacity: .86 !important; -} - -@media (min-width: 992px) { - body.sidebar_menu .close-layer { - display: none; - } - - body.sidebar_menu.sidebar-mini .visible-on-sidebar-regular { - display: none !important; - } - - body.sidebar_menu.sidebar-mini .visible-on-sidebar-mini { - display: inline-block !important; - } - - body.sidebar_menu.sidebar-mini .sidebar { - width: 80px; - display: block; - font-weight: 200; - z-index: 3; - position: fixed; - z-index: 1031; - } - - body.sidebar_menu.sidebar-mini .sidebar .logo a.logo-mini { - opacity: 1; - } - - body.sidebar_menu.sidebar-mini .sidebar .logo a.logo-normal { - opacity: 0; - -webkit-transform: translate3d(-25px, 0, 0); - -moz-transform: translate3d(-25px, 0, 0); - -o-transform: translate3d(-25px, 0, 0); - -ms-transform: translate3d(-25px, 0, 0); - transform: translate3d(-25px, 0, 0); - } - - body.sidebar_menu.sidebar-mini .sidebar .sidebar-wrapper { - overflow: inherit; - width: 80px; - box-shadow: none; - } - - body.sidebar_menu.sidebar-mini .sidebar .sidebar-wrapper .nav [data-toggle="collapse"] ~ div > ul > li > a .sidebar-normal, - body.sidebar_menu.sidebar-mini .sidebar .sidebar-wrapper .user .info [data-toggle="collapse"] ~ div > ul > li > a .sidebar-normal, - body.sidebar_menu.sidebar-mini .sidebar .sidebar-wrapper .user .info > a > span, - body.sidebar_menu.sidebar-mini .sidebar .sidebar-wrapper > .nav li > a p { - -webkit-transform: translate3d(-25px, 0, 0); - -moz-transform: translate3d(-25px, 0, 0); - -o-transform: translate3d(-25px, 0, 0); - -ms-transform: translate3d(-25px, 0, 0); - transform: translate3d(-25px, 0, 0); - opacity: 0; - } - - body.sidebar_menu.sidebar-mini .sidebar .info .collapse .nav li > a { - margin: 0; - border-radius: 0; - } - - body.sidebar_menu.sidebar-mini .sidebar .info .caret { - opacity: 0; - } - - body.sidebar_menu.sidebar-mini .sidebar .info [data-toggle="collapse"] ~ div > ul > li:last-child > a { - margin-bottom: 5px; - border-bottom-left-radius: 3px; - border-bottom-right-radius: 3px; - } - - body.sidebar_menu.sidebar-mini .sidebar .info [data-toggle="collapse"] ~ div > ul > li:first-child > a { - margin-top: 5px; - border-top-left-radius: 3px; - border-top-right-radius: 3px; - } - - body.sidebar_menu.sidebar-mini .sidebar .nav .nav-item .nav-link .sidebar-mini { - padding-left: 30px !important; - } - - body.sidebar_menu.sidebar-mini .sidebar:hover { - width: 260px; - } - - body.sidebar_menu.sidebar-mini .sidebar:hover .logo a.logo-normal { - opacity: 1; - -webkit-transform: translate3d(0px, 0, 0); - -moz-transform: translate3d(0px, 0, 0); - -o-transform: translate3d(0px, 0, 0); - -ms-transform: translate3d(0px, 0, 0); - transform: translate3d(0px, 0, 0); - } - - body.sidebar_menu.sidebar-mini .sidebar:hover .nav-item [data-toggle="collapse"] ~ div .nav .sidebar-normal { - left: 0; - } - - body.sidebar_menu.sidebar-mini .sidebar:hover .caret { - opacity: 1; - } - - body.sidebar_menu.sidebar-mini .sidebar:hover .sidebar-wrapper { - width: 260px; - } - - body.sidebar_menu.sidebar-mini .sidebar:hover .sidebar-wrapper > .nav li > a p, - body.sidebar_menu.sidebar-mini .sidebar:hover .sidebar-wrapper > .nav [data-toggle="collapse"] ~ div > ul > li > a .sidebar-normal, - body.sidebar_menu.sidebar-mini .sidebar:hover .sidebar-wrapper .user .info [data-toggle="collapse"] ~ div > ul > li > a .sidebar-normal, - body.sidebar_menu.sidebar-mini .sidebar:hover .sidebar-wrapper .user .info > a > p, - body.sidebar_menu.sidebar-mini .sidebar:hover .sidebar-wrapper > .nav li > a .caret, - body.sidebar_menu.sidebar-mini .sidebar:hover .sidebar-wrapper .user .info a span { - -webkit-transform: translate3d(0px, 0, 0); - -moz-transform: translate3d(0px, 0, 0); - -o-transform: translate3d(0px, 0, 0); - -ms-transform: translate3d(0px, 0, 0); - transform: translate3d(0px, 0, 0); - opacity: 1; - } - - body.sidebar_menu.sidebar-mini .sidebar:hover .sidebar-wrapper > .nav li.active > a:not([data-toggle="collapse"]):before, - body.sidebar_menu.sidebar-mini .sidebar:hover .sidebar-wrapper > .nav li.active > a:not([data-toggle="collapse"]):after { - opacity: 0; - } - - body.sidebar_menu.sidebar-mini .sidebar:hover .nav .nav-item .nav-link .sidebar-mini { - margin-right: 5px !important; - } - - body.sidebar_menu.sidebar-mini .sidebar:hover .sidebar-normal { - padding-left: 10px; - padding-right: 10px; - margin: 5px 15px 0px; - border-radius: 4px; - color: #FFFFFF; - opacity: .86; - } - - body.sidebar_menu.sidebar-mini #page-container, - body.sidebar_menu.sidebar-mini #header, - body.sidebar_menu.sidebar-mini .navbar.navbar-default.footer { - width: calc(100% - 80px); - margin-left: 80px; - } - - body.sidebar_menu.sidebar-mini .wrapper { - height: auto; - } - - body.sidebar_menu.sidebar-mini .sidebar, - body.sidebar_menu.sidebar-mini .page-container { - overflow: visible; - max-height: none; - height: auto; - } - - body.sidebar_menu.sidebar-mini .navbar-fixed { - width: calc(100% - 80px) !important; - } -} - -body.sidebar_menu .animation-transition-fast, -body.sidebar_menu .sidebar .nav .collapse a > span, -body.sidebar_menu .sidebar .sidebar-wrapper > .nav p, -body.sidebar_menu .sidebar .user .info > a > span, -body.sidebar_menu .sidebar .logo a.logo-normal, -body.sidebar_menu .sidebar .user .info .collapse .nav a > span { - -webkit-transition: all 150ms linear; - -moz-transition: all 150ms linear; - -o-transition: all 150ms linear; - -ms-transition: all 150ms linear; - transition: all 150ms linear; -} - -body.sidebar_menu .sidebar .nav a { - -webkit-transition: all 150ms ease-in; - -moz-transition: all 150ms ease-in; - -o-transition: all 150ms ease-in; - -ms-transition: all 150ms ease-in; - transition: all 150ms ease-in; -} - -body.sidebar_menu .sidebar, -body.sidebar_menu .page-container, -body.sidebar_menu .navbar-fixed-top, -body.sidebar_menu #header, -body.sidebar_menu .sidebar-wrapper, -body.sidebar_menu .navbar-fixed, -body.sidebar_menu .navbar-minimize { - -webkit-transition-property: top, bottom, width; - transition-property: top, bottom, width; - -webkit-transition-duration: .2s, .2s, .35s; - transition-duration: .2s, .2s, .35s; - -webkit-transition-timing-function: linear, linear, ease; - transition-timing-function: linear, linear, ease; - -webkit-overflow-scrolling: touch; -} - -body.sidebar_menu .animation-transition-general, -body.sidebar_menu .sidebar .nav p, -body.sidebar_menu .navbar-fixed-top, -body.sidebar_menu #header, -body.sidebar_menu .sidebar .user .photo, -body.sidebar_menu .sidebar .user a, -body.sidebar_menu .login-page .card { - -webkit-transition: all 300ms linear; - -moz-transition: all 300ms linear; - -o-transition: all 300ms linear; - -ms-transition: all 300ms linear; - transition: all 300ms linear; -} - -body.sidebar_menu .visible-on-sidebar-regular { - display: inline-block !important; -} - -body.sidebar_menu .visible-on-sidebar-mini { - display: none !important; -} - -@media (min-width: 992px) { - body.sidebar_menu.sidebar-mini .sidebar .sidebar-wrapper > .nav [data-toggle="collapse"] ~ div > ul > li > a .sidebar-normal, - body.sidebar_menu.sidebar-mini .sidebar .sidebar-wrapper .user .info [data-toggle="collapse"] ~ div > ul > li > a .sidebar-normal, - body.sidebar_menu body.sidebar_menu.sidebar-mini .sidebar .sidebar-wrapper .user .info > a > span, - body.sidebar_menu.sidebar-mini .sidebar .sidebar-wrapper > .nav li > a span, - body.sidebar_menu.sidebar-mini .sidebar .sidebar-wrapper > .nav li > a .caret { - -webkit-transform: translate3d(-25px, 0, 0); - -moz-transform: translate3d(-25px, 0, 0); - -o-transform: translate3d(-25px, 0, 0); - -ms-transform: translate3d(-25px, 0, 0); - transform: translate3d(-25px, 0, 0); - opacity: 0; - } - - body.sidebar_menu.sidebar-mini .sidebar .logo a.logo-mini { - opacity: 1; - } - - body.sidebar_menu.sidebar-mini .sidebar .logo a.logo-normal { - opacity: 0; - } -} - -@media (max-width: 991px) { - body.sidebar_menu .sidebar { - right: 0 !important; - left: auto; - -webkit-transform: translate3d(260px, 0, 0); - -moz-transform: translate3d(260px, 0, 0); - -o-transform: translate3d(260px, 0, 0); - -ms-transform: translate3d(260px, 0, 0); - transform: translate3d(260px, 0, 0); - -webkit-transition: all 0.5s cubic-bezier(0.685, 0.0473, 0.346, 1); - -moz-transition: all 0.5s cubic-bezier(0.685, 0.0473, 0.346, 1); - -o-transition: all 0.5s cubic-bezier(0.685, 0.0473, 0.346, 1); - -ms-transition: all 0.5s cubic-bezier(0.685, 0.0473, 0.346, 1); - transition: all 0.5s cubic-bezier(0.685, 0.0473, 0.346, 1); - } - - .nav-open body.sidebar_menu .sidebar { - -webkit-transform: translate3d(0px, 0, 0); - -moz-transform: translate3d(0px, 0, 0); - -o-transform: translate3d(0px, 0, 0); - -ms-transform: translate3d(0px, 0, 0); - transform: translate3d(0px, 0, 0); - -webkit-transition: all 0.5s cubic-bezier(0.685, 0.0473, 0.346, 1); - -moz-transition: all 0.5s cubic-bezier(0.685, 0.0473, 0.346, 1); - -o-transition: all 0.5s cubic-bezier(0.685, 0.0473, 0.346, 1); - -ms-transition: all 0.5s cubic-bezier(0.685, 0.0473, 0.346, 1); - transition: all 0.5s cubic-bezier(0.685, 0.0473, 0.346, 1); - } - - body.sidebar_menu .page-container, - body.sidebar_menu #header, - body.sidebar_menu .navbar-fixed-top { - -webkit-transition: all 0.5s cubic-bezier(0.685, 0.0473, 0.346, 1); - -moz-transition: all 0.5s cubic-bezier(0.685, 0.0473, 0.346, 1); - -o-transition: all 0.5s cubic-bezier(0.685, 0.0473, 0.346, 1); - -ms-transition: all 0.5s cubic-bezier(0.685, 0.0473, 0.346, 1); - transition: all 0.5s cubic-bezier(0.685, 0.0473, 0.346, 1); - } - - body.sidebar_menu .page-container { - width: 100%; - } - - body.sidebar_menu .close-layer { - height: 100%; - width: 100%; - position: absolute; - opacity: 0; - top: 0; - left: auto; - content: ""; - z-index: 9999; - overflow-x: hidden; - background-color: rgba(0, 0, 0, 0.35); - -webkit-transition: all 370ms ease-in; - -moz-transition: all 370ms ease-in; - -o-transition: all 370ms ease-in; - -ms-transition: all 370ms ease-in; - transition: all 370ms ease-in; - } - - body.sidebar_menu .close-layer.visible { - opacity: 1; - } - -} - -body.sidebar_menu .page-with-right-sidebar .btn-scroll-to-top { - left: 25px; - right: auto -} - -body.sidebar_menu .sidebar a.nav-link:hover { - -webkit-transform: translateY(-1px) scale(1.08); - transform: translateY(-1px) scale(1.08); -} - -@media (min-width: 991px) { - body.sidebar_menu #page-container, - body.sidebar_menu #header, - body.sidebar_menu .navbar.navbar-default.footer { - position: relative; - float: right; - width: calc(100% - 260px); - } - - body.sidebar_menu .navbar-fixed-top, - body.sidebar_menu .navbar-fixed-bottom { - left: 260px; - } - - body.sidebar_menu.sidebar-mini .navbar-fixed-top, - body.sidebar_menu.sidebar-mini .navbar-fixed-bottom { - left: 80px; - } -} - - -@media (min-width: 1366px) { - body.sidebar_menu .page-container, - body.sidebar_menu .navbar { - padding: 0px 25px !important; - } -} - -@media (min-width: 768px) { - body.sidebar_menu .page-container, - body.sidebar_menu .navbar { - padding: 0px 25px !important; - } -} - -.sidebar[data-color="blue"]:after { - background: #4076e0; - background: -moz-linear-gradient(top, #4076e0 0%, rgba(83, 60, 225, 0.7) 100%); - background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #4076e0), color-stop(100%, rgba(83, 60, 225, 0.7))); - background: -webkit-linear-gradient(top, #4076e0 0%, rgba(83, 60, 225, 0.7) 100%); - background: -o-linear-gradient(top, #4076e0 0%, rgba(83, 60, 225, 0.7) 100%); - background: -ms-linear-gradient(top, #4076e0 0%, rgba(83, 60, 225, 0.7) 100%); - background: linear-gradient(to bottom, #4076e0 0%, rgba(83, 60, 225, 0.7) 100%); - background-size: 150% 150%; -} - -.sidebar[data-color="purple"]:after { - background: #9368E9; - background: -moz-linear-gradient(top, #9368E9 0%, rgba(148, 59, 234, 0.7) 100%); - background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #9368E9), color-stop(100%, rgba(148, 59, 234, 0.7))); - background: -webkit-linear-gradient(top, #9368E9 0%, rgba(148, 59, 234, 0.7) 100%); - background: -o-linear-gradient(top, #9368E9 0%, rgba(148, 59, 234, 0.7) 100%); - background: -ms-linear-gradient(top, #9368E9 0%, rgba(148, 59, 234, 0.7) 100%); - background: linear-gradient(to bottom, #9368E9 0%, rgba(148, 59, 234, 0.7) 100%); - background-size: 150% 150%; -} - -.sidebar[data-color="orange"]:after { - background: #FFA534; - background: -moz-linear-gradient(top, #FFA534 0%, rgba(255, 82, 33, 0.7) 100%); - background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #FFA534), color-stop(100%, rgba(255, 82, 33, 0.7))); - background: -webkit-linear-gradient(top, #FFA534 0%, rgba(255, 82, 33, 0.7) 100%); - background: -o-linear-gradient(top, #FFA534 0%, rgba(255, 82, 33, 0.7) 100%); - background: -ms-linear-gradient(top, #FFA534 0%, rgba(255, 82, 33, 0.7) 100%); - background: linear-gradient(to bottom, #FFA534 0%, rgba(255, 82, 33, 0.7) 100%); - background-size: 150% 150%; -} - -.sidebar[data-color="green"]:after { - background: #87CB16; - background: -moz-linear-gradient(top, #87CB16 0%, rgba(109, 192, 48, 0.7) 100%); - background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #87CB16), color-stop(100%, rgba(109, 192, 48, 0.7))); - background: -webkit-linear-gradient(top, #87CB16 0%, rgba(109, 192, 48, 0.7) 100%); - background: -o-linear-gradient(top, #87CB16 0%, rgba(109, 192, 48, 0.7) 100%); - background: -ms-linear-gradient(top, #87CB16 0%, rgba(109, 192, 48, 0.7) 100%); - background: linear-gradient(to bottom, #87CB16 0%, rgba(109, 192, 48, 0.7) 100%); - background-size: 150% 150%; -} - -.sidebar[data-color="red"]:after { - background: #FB404B; - background: -moz-linear-gradient(top, #FB404B 0%, rgba(187, 5, 2, 0.7) 100%); - background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #FB404B), color-stop(100%, rgba(187, 5, 2, 0.7))); - background: -webkit-linear-gradient(top, #FB404B 0%, rgba(187, 5, 2, 0.7) 100%); - background: -o-linear-gradient(top, #FB404B 0%, rgba(187, 5, 2, 0.7) 100%); - background: -ms-linear-gradient(top, #FB404B 0%, rgba(187, 5, 2, 0.7) 100%); - background: linear-gradient(to bottom, #FB404B 0%, rgba(187, 5, 2, 0.7) 100%); - background-size: 150% 150%; -} - -.sidebar[data-color="azure"]:after { - background: #23CCEF; - background: -moz-linear-gradient(top, #23CCEF 0%, rgba(64, 145, 255, 0.7) 100%); - background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #23CCEF), color-stop(100%, rgba(64, 145, 255, 0.7))); - background: -webkit-linear-gradient(top, #23CCEF 0%, rgba(64, 145, 255, 0.7) 100%); - background: -o-linear-gradient(top, #23CCEF 0%, rgba(64, 145, 255, 0.7) 100%); - background: -ms-linear-gradient(top, #23CCEF 0%, rgba(64, 145, 255, 0.7) 100%); - background: linear-gradient(to bottom, #23CCEF 0%, rgba(64, 145, 255, 0.7) 100%); - background-size: 150% 150%; -} - -.sidebar[data-color="black"]:after { - background: #333333; - background: -moz-linear-gradient(top, #333333 0%, rgba(51, 51, 51, 0.5) 100%); - background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #333333), color-stop(100%, rgba(51, 51, 51, 0.5))); - background: -webkit-linear-gradient(top, #333333 0%, rgba(51, 51, 51, 0.5) 100%); - background: -o-linear-gradient(top, #333333 0%, rgba(51, 51, 51, 0.5) 100%); - background: -ms-linear-gradient(top, #333333 0%, rgba(51, 51, 51, 0.5) 100%); - background: linear-gradient(to bottom, #333333 0%, rgba(51, 51, 51, 0.5) 100%); - background-size: 150% 150%; -} - -.v-a-m { - vertical-align: middle; -} - -@media (min-width: 768px) { - body.sidebar_menu .nav.navbar-nav.m-l-0.pull-left li { - margin-top: 5px; - } -} - -body.sidebar_menu .sidebar-wrapper #side_nav > li:last-child { - padding-bottom: 50px; -} - -[href="dashboard_v3.html"] { - display: none !important; -} \ No newline at end of file diff --git a/ph3-beta-to-ui3.0-conv/ui3template/assets/css/vlabs-style.css b/ph3-beta-to-ui3.0-conv/ui3template/assets/css/vlabs-style.css deleted file mode 100644 index bb638dc0..00000000 --- a/ph3-beta-to-ui3.0-conv/ui3template/assets/css/vlabs-style.css +++ /dev/null @@ -1,120 +0,0 @@ -.vlabs-page { - min-height: 100vh; - overflow-x: hidden; -} - -.vlabs-header { - border-bottom: 8px solid #ff6600; - font-family: 'Raleway', sans-serif; -} - -.vlabs-page-main { - font-size: 1rem; - font-family: "Open Sans", sans-serif; -} - -.vlabs-lab-name { - font-size: 1.7rem; -} - -.vlabs-footer { - font-size: 14px; - background: rgb(17, 17, 17); - font-family: 'Raleway', sans-serif; -} - -.vlabs-footer-sect-name { - border-width: 0.15rem; - border-style: solid; - border-image: linear-gradient( to right, #3EC1D5 20%, #555 0% ) 0% 0% 100% 0%; -} - -.vlabs-lab-name { - color: #2C99CE; -} - -.vlabs-page-content { - border-left: 2px dotted #89a7c4; - overflow-y: hidden; - font-family: 'Raleway', sans-serif; -} - -.social-links > a { - color: #fff; - border-radius: 50%; - width: 36px; - height: 36px; -} - -.sidebar a { - color: #3e6389; -} -.sidebar a:hover { - color: #ff6600; -} - -.sidebar { - font-size: 1.2rem; - font-weight: bold; -} - - -.vlabs-header a { - margin: 0 1rem; - padding: 0.5rem 1rem; - color: #2C98CD; -} - - -.vlabs-header #headerNavbar a:hover { - background: #77BB41; - color: #fff; - border-radius: 10px; -} - -.vlabs-header #headerNavbar a { - border-radius: 10px; - transition: 0.3s; -} - -.breadcrumbs, .breadcrumbs a, .breadcrumbs span { - font-size: 1.6rem; - color: #337ab7; -} - -.page-name { - color: #337ab7; -} - -/*pre-test and post-test page styling fix*/ - -.answers { - font-size: 1rem; - display: flex; - flex-direction: column; - margin-bottom: 1rem; -} -.question { - font-weight: 900; -} - -/* feedback */ -#feedback-btn { - color: #2C99CE; - border-color: #2C99CE; -} - - -/* to override markdown styling */ -.markdown-body { - font-family: 'Raleway', sans-serif; -} - -/* to fix the extended lines*/ -.markdown-body table tr { - border-top: 0; -} - -h1, h2, h3 { - color: #2C99CE; -} \ No newline at end of file diff --git a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/font-awesome-4.7.0/css/font-awesome.min.css b/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/font-awesome-4.7.0/css/font-awesome.min.css deleted file mode 100755 index 5578ea5d..00000000 --- a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/font-awesome-4.7.0/css/font-awesome.min.css +++ /dev/null @@ -1,4 +0,0 @@ -/*! - * Font Awesome 4.7.0 by @davegandy - http://fontawesome.io - @fontawesome - * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) - */@font-face{font-family:'FontAwesome';src:url('../fonts/fontawesome-webfont.eot?v=4.7.0');src:url('../fonts/fontawesome-webfont.eot?#iefix&v=4.7.0') format('embedded-opentype'),url('../fonts/fontawesome-webfont.woff2?v=4.7.0') format('woff2'),url('../fonts/fontawesome-webfont.woff?v=4.7.0') format('woff'),url('../fonts/fontawesome-webfont.ttf?v=4.7.0') format('truetype'),url('../fonts/fontawesome-webfont.svg?v=4.7.0#fontawesomeregular') format('svg');font-weight:normal;font-style:normal}.fa{display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fa-lg{font-size:1.33333333em;line-height:.75em;vertical-align:-15%}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-fw{width:1.28571429em;text-align:center}.fa-ul{padding-left:0;margin-left:2.14285714em;list-style-type:none}.fa-ul>li{position:relative}.fa-li{position:absolute;left:-2.14285714em;width:2.14285714em;top:.14285714em;text-align:center}.fa-li.fa-lg{left:-1.85714286em}.fa-border{padding:.2em .25em .15em;border:solid .08em #eee;border-radius:.1em}.fa-pull-left{float:left}.fa-pull-right{float:right}.fa.fa-pull-left{margin-right:.3em}.fa.fa-pull-right{margin-left:.3em}.pull-right{float:right}.pull-left{float:left}.fa.pull-left{margin-right:.3em}.fa.pull-right{margin-left:.3em}.fa-spin{-webkit-animation:fa-spin 2s infinite linear;animation:fa-spin 2s infinite linear}.fa-pulse{-webkit-animation:fa-spin 1s infinite steps(8);animation:fa-spin 1s infinite steps(8)}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}.fa-rotate-90{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";-webkit-transform:rotate(270deg);-ms-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";-webkit-transform:scale(-1, 1);-ms-transform:scale(-1, 1);transform:scale(-1, 1)}.fa-flip-vertical{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";-webkit-transform:scale(1, -1);-ms-transform:scale(1, -1);transform:scale(1, -1)}:root .fa-rotate-90,:root .fa-rotate-180,:root .fa-rotate-270,:root .fa-flip-horizontal,:root .fa-flip-vertical{filter:none}.fa-stack{position:relative;display:inline-block;width:2em;height:2em;line-height:2em;vertical-align:middle}.fa-stack-1x,.fa-stack-2x{position:absolute;left:0;width:100%;text-align:center}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-glass:before{content:"\f000"}.fa-music:before{content:"\f001"}.fa-search:before{content:"\f002"}.fa-envelope-o:before{content:"\f003"}.fa-heart:before{content:"\f004"}.fa-star:before{content:"\f005"}.fa-star-o:before{content:"\f006"}.fa-user:before{content:"\f007"}.fa-film:before{content:"\f008"}.fa-th-large:before{content:"\f009"}.fa-th:before{content:"\f00a"}.fa-th-list:before{content:"\f00b"}.fa-check:before{content:"\f00c"}.fa-remove:before,.fa-close:before,.fa-times:before{content:"\f00d"}.fa-search-plus:before{content:"\f00e"}.fa-search-minus:before{content:"\f010"}.fa-power-off:before{content:"\f011"}.fa-signal:before{content:"\f012"}.fa-gear:before,.fa-cog:before{content:"\f013"}.fa-trash-o:before{content:"\f014"}.fa-home:before{content:"\f015"}.fa-file-o:before{content:"\f016"}.fa-clock-o:before{content:"\f017"}.fa-road:before{content:"\f018"}.fa-download:before{content:"\f019"}.fa-arrow-circle-o-down:before{content:"\f01a"}.fa-arrow-circle-o-up:before{content:"\f01b"}.fa-inbox:before{content:"\f01c"}.fa-play-circle-o:before{content:"\f01d"}.fa-rotate-right:before,.fa-repeat:before{content:"\f01e"}.fa-refresh:before{content:"\f021"}.fa-list-alt:before{content:"\f022"}.fa-lock:before{content:"\f023"}.fa-flag:before{content:"\f024"}.fa-headphones:before{content:"\f025"}.fa-volume-off:before{content:"\f026"}.fa-volume-down:before{content:"\f027"}.fa-volume-up:before{content:"\f028"}.fa-qrcode:before{content:"\f029"}.fa-barcode:before{content:"\f02a"}.fa-tag:before{content:"\f02b"}.fa-tags:before{content:"\f02c"}.fa-book:before{content:"\f02d"}.fa-bookmark:before{content:"\f02e"}.fa-print:before{content:"\f02f"}.fa-camera:before{content:"\f030"}.fa-font:before{content:"\f031"}.fa-bold:before{content:"\f032"}.fa-italic:before{content:"\f033"}.fa-text-height:before{content:"\f034"}.fa-text-width:before{content:"\f035"}.fa-align-left:before{content:"\f036"}.fa-align-center:before{content:"\f037"}.fa-align-right:before{content:"\f038"}.fa-align-justify:before{content:"\f039"}.fa-list:before{content:"\f03a"}.fa-dedent:before,.fa-outdent:before{content:"\f03b"}.fa-indent:before{content:"\f03c"}.fa-video-camera:before{content:"\f03d"}.fa-photo:before,.fa-image:before,.fa-picture-o:before{content:"\f03e"}.fa-pencil:before{content:"\f040"}.fa-map-marker:before{content:"\f041"}.fa-adjust:before{content:"\f042"}.fa-tint:before{content:"\f043"}.fa-edit:before,.fa-pencil-square-o:before{content:"\f044"}.fa-share-square-o:before{content:"\f045"}.fa-check-square-o:before{content:"\f046"}.fa-arrows:before{content:"\f047"}.fa-step-backward:before{content:"\f048"}.fa-fast-backward:before{content:"\f049"}.fa-backward:before{content:"\f04a"}.fa-play:before{content:"\f04b"}.fa-pause:before{content:"\f04c"}.fa-stop:before{content:"\f04d"}.fa-forward:before{content:"\f04e"}.fa-fast-forward:before{content:"\f050"}.fa-step-forward:before{content:"\f051"}.fa-eject:before{content:"\f052"}.fa-chevron-left:before{content:"\f053"}.fa-chevron-right:before{content:"\f054"}.fa-plus-circle:before{content:"\f055"}.fa-minus-circle:before{content:"\f056"}.fa-times-circle:before{content:"\f057"}.fa-check-circle:before{content:"\f058"}.fa-question-circle:before{content:"\f059"}.fa-info-circle:before{content:"\f05a"}.fa-crosshairs:before{content:"\f05b"}.fa-times-circle-o:before{content:"\f05c"}.fa-check-circle-o:before{content:"\f05d"}.fa-ban:before{content:"\f05e"}.fa-arrow-left:before{content:"\f060"}.fa-arrow-right:before{content:"\f061"}.fa-arrow-up:before{content:"\f062"}.fa-arrow-down:before{content:"\f063"}.fa-mail-forward:before,.fa-share:before{content:"\f064"}.fa-expand:before{content:"\f065"}.fa-compress:before{content:"\f066"}.fa-plus:before{content:"\f067"}.fa-minus:before{content:"\f068"}.fa-asterisk:before{content:"\f069"}.fa-exclamation-circle:before{content:"\f06a"}.fa-gift:before{content:"\f06b"}.fa-leaf:before{content:"\f06c"}.fa-fire:before{content:"\f06d"}.fa-eye:before{content:"\f06e"}.fa-eye-slash:before{content:"\f070"}.fa-warning:before,.fa-exclamation-triangle:before{content:"\f071"}.fa-plane:before{content:"\f072"}.fa-calendar:before{content:"\f073"}.fa-random:before{content:"\f074"}.fa-comment:before{content:"\f075"}.fa-magnet:before{content:"\f076"}.fa-chevron-up:before{content:"\f077"}.fa-chevron-down:before{content:"\f078"}.fa-retweet:before{content:"\f079"}.fa-shopping-cart:before{content:"\f07a"}.fa-folder:before{content:"\f07b"}.fa-folder-open:before{content:"\f07c"}.fa-arrows-v:before{content:"\f07d"}.fa-arrows-h:before{content:"\f07e"}.fa-bar-chart-o:before,.fa-bar-chart:before{content:"\f080"}.fa-twitter-square:before{content:"\f081"}.fa-facebook-square:before{content:"\f082"}.fa-camera-retro:before{content:"\f083"}.fa-key:before{content:"\f084"}.fa-gears:before,.fa-cogs:before{content:"\f085"}.fa-comments:before{content:"\f086"}.fa-thumbs-o-up:before{content:"\f087"}.fa-thumbs-o-down:before{content:"\f088"}.fa-star-half:before{content:"\f089"}.fa-heart-o:before{content:"\f08a"}.fa-sign-out:before{content:"\f08b"}.fa-linkedin-square:before{content:"\f08c"}.fa-thumb-tack:before{content:"\f08d"}.fa-external-link:before{content:"\f08e"}.fa-sign-in:before{content:"\f090"}.fa-trophy:before{content:"\f091"}.fa-github-square:before{content:"\f092"}.fa-upload:before{content:"\f093"}.fa-lemon-o:before{content:"\f094"}.fa-phone:before{content:"\f095"}.fa-square-o:before{content:"\f096"}.fa-bookmark-o:before{content:"\f097"}.fa-phone-square:before{content:"\f098"}.fa-twitter:before{content:"\f099"}.fa-facebook-f:before,.fa-facebook:before{content:"\f09a"}.fa-github:before{content:"\f09b"}.fa-unlock:before{content:"\f09c"}.fa-credit-card:before{content:"\f09d"}.fa-feed:before,.fa-rss:before{content:"\f09e"}.fa-hdd-o:before{content:"\f0a0"}.fa-bullhorn:before{content:"\f0a1"}.fa-bell:before{content:"\f0f3"}.fa-certificate:before{content:"\f0a3"}.fa-hand-o-right:before{content:"\f0a4"}.fa-hand-o-left:before{content:"\f0a5"}.fa-hand-o-up:before{content:"\f0a6"}.fa-hand-o-down:before{content:"\f0a7"}.fa-arrow-circle-left:before{content:"\f0a8"}.fa-arrow-circle-right:before{content:"\f0a9"}.fa-arrow-circle-up:before{content:"\f0aa"}.fa-arrow-circle-down:before{content:"\f0ab"}.fa-globe:before{content:"\f0ac"}.fa-wrench:before{content:"\f0ad"}.fa-tasks:before{content:"\f0ae"}.fa-filter:before{content:"\f0b0"}.fa-briefcase:before{content:"\f0b1"}.fa-arrows-alt:before{content:"\f0b2"}.fa-group:before,.fa-users:before{content:"\f0c0"}.fa-chain:before,.fa-link:before{content:"\f0c1"}.fa-cloud:before{content:"\f0c2"}.fa-flask:before{content:"\f0c3"}.fa-cut:before,.fa-scissors:before{content:"\f0c4"}.fa-copy:before,.fa-files-o:before{content:"\f0c5"}.fa-paperclip:before{content:"\f0c6"}.fa-save:before,.fa-floppy-o:before{content:"\f0c7"}.fa-square:before{content:"\f0c8"}.fa-navicon:before,.fa-reorder:before,.fa-bars:before{content:"\f0c9"}.fa-list-ul:before{content:"\f0ca"}.fa-list-ol:before{content:"\f0cb"}.fa-strikethrough:before{content:"\f0cc"}.fa-underline:before{content:"\f0cd"}.fa-table:before{content:"\f0ce"}.fa-magic:before{content:"\f0d0"}.fa-truck:before{content:"\f0d1"}.fa-pinterest:before{content:"\f0d2"}.fa-pinterest-square:before{content:"\f0d3"}.fa-google-plus-square:before{content:"\f0d4"}.fa-google-plus:before{content:"\f0d5"}.fa-money:before{content:"\f0d6"}.fa-caret-down:before{content:"\f0d7"}.fa-caret-up:before{content:"\f0d8"}.fa-caret-left:before{content:"\f0d9"}.fa-caret-right:before{content:"\f0da"}.fa-columns:before{content:"\f0db"}.fa-unsorted:before,.fa-sort:before{content:"\f0dc"}.fa-sort-down:before,.fa-sort-desc:before{content:"\f0dd"}.fa-sort-up:before,.fa-sort-asc:before{content:"\f0de"}.fa-envelope:before{content:"\f0e0"}.fa-linkedin:before{content:"\f0e1"}.fa-rotate-left:before,.fa-undo:before{content:"\f0e2"}.fa-legal:before,.fa-gavel:before{content:"\f0e3"}.fa-dashboard:before,.fa-tachometer:before{content:"\f0e4"}.fa-comment-o:before{content:"\f0e5"}.fa-comments-o:before{content:"\f0e6"}.fa-flash:before,.fa-bolt:before{content:"\f0e7"}.fa-sitemap:before{content:"\f0e8"}.fa-umbrella:before{content:"\f0e9"}.fa-paste:before,.fa-clipboard:before{content:"\f0ea"}.fa-lightbulb-o:before{content:"\f0eb"}.fa-exchange:before{content:"\f0ec"}.fa-cloud-download:before{content:"\f0ed"}.fa-cloud-upload:before{content:"\f0ee"}.fa-user-md:before{content:"\f0f0"}.fa-stethoscope:before{content:"\f0f1"}.fa-suitcase:before{content:"\f0f2"}.fa-bell-o:before{content:"\f0a2"}.fa-coffee:before{content:"\f0f4"}.fa-cutlery:before{content:"\f0f5"}.fa-file-text-o:before{content:"\f0f6"}.fa-building-o:before{content:"\f0f7"}.fa-hospital-o:before{content:"\f0f8"}.fa-ambulance:before{content:"\f0f9"}.fa-medkit:before{content:"\f0fa"}.fa-fighter-jet:before{content:"\f0fb"}.fa-beer:before{content:"\f0fc"}.fa-h-square:before{content:"\f0fd"}.fa-plus-square:before{content:"\f0fe"}.fa-angle-double-left:before{content:"\f100"}.fa-angle-double-right:before{content:"\f101"}.fa-angle-double-up:before{content:"\f102"}.fa-angle-double-down:before{content:"\f103"}.fa-angle-left:before{content:"\f104"}.fa-angle-right:before{content:"\f105"}.fa-angle-up:before{content:"\f106"}.fa-angle-down:before{content:"\f107"}.fa-desktop:before{content:"\f108"}.fa-laptop:before{content:"\f109"}.fa-tablet:before{content:"\f10a"}.fa-mobile-phone:before,.fa-mobile:before{content:"\f10b"}.fa-circle-o:before{content:"\f10c"}.fa-quote-left:before{content:"\f10d"}.fa-quote-right:before{content:"\f10e"}.fa-spinner:before{content:"\f110"}.fa-circle:before{content:"\f111"}.fa-mail-reply:before,.fa-reply:before{content:"\f112"}.fa-github-alt:before{content:"\f113"}.fa-folder-o:before{content:"\f114"}.fa-folder-open-o:before{content:"\f115"}.fa-smile-o:before{content:"\f118"}.fa-frown-o:before{content:"\f119"}.fa-meh-o:before{content:"\f11a"}.fa-gamepad:before{content:"\f11b"}.fa-keyboard-o:before{content:"\f11c"}.fa-flag-o:before{content:"\f11d"}.fa-flag-checkered:before{content:"\f11e"}.fa-terminal:before{content:"\f120"}.fa-code:before{content:"\f121"}.fa-mail-reply-all:before,.fa-reply-all:before{content:"\f122"}.fa-star-half-empty:before,.fa-star-half-full:before,.fa-star-half-o:before{content:"\f123"}.fa-location-arrow:before{content:"\f124"}.fa-crop:before{content:"\f125"}.fa-code-fork:before{content:"\f126"}.fa-unlink:before,.fa-chain-broken:before{content:"\f127"}.fa-question:before{content:"\f128"}.fa-info:before{content:"\f129"}.fa-exclamation:before{content:"\f12a"}.fa-superscript:before{content:"\f12b"}.fa-subscript:before{content:"\f12c"}.fa-eraser:before{content:"\f12d"}.fa-puzzle-piece:before{content:"\f12e"}.fa-microphone:before{content:"\f130"}.fa-microphone-slash:before{content:"\f131"}.fa-shield:before{content:"\f132"}.fa-calendar-o:before{content:"\f133"}.fa-fire-extinguisher:before{content:"\f134"}.fa-rocket:before{content:"\f135"}.fa-maxcdn:before{content:"\f136"}.fa-chevron-circle-left:before{content:"\f137"}.fa-chevron-circle-right:before{content:"\f138"}.fa-chevron-circle-up:before{content:"\f139"}.fa-chevron-circle-down:before{content:"\f13a"}.fa-html5:before{content:"\f13b"}.fa-css3:before{content:"\f13c"}.fa-anchor:before{content:"\f13d"}.fa-unlock-alt:before{content:"\f13e"}.fa-bullseye:before{content:"\f140"}.fa-ellipsis-h:before{content:"\f141"}.fa-ellipsis-v:before{content:"\f142"}.fa-rss-square:before{content:"\f143"}.fa-play-circle:before{content:"\f144"}.fa-ticket:before{content:"\f145"}.fa-minus-square:before{content:"\f146"}.fa-minus-square-o:before{content:"\f147"}.fa-level-up:before{content:"\f148"}.fa-level-down:before{content:"\f149"}.fa-check-square:before{content:"\f14a"}.fa-pencil-square:before{content:"\f14b"}.fa-external-link-square:before{content:"\f14c"}.fa-share-square:before{content:"\f14d"}.fa-compass:before{content:"\f14e"}.fa-toggle-down:before,.fa-caret-square-o-down:before{content:"\f150"}.fa-toggle-up:before,.fa-caret-square-o-up:before{content:"\f151"}.fa-toggle-right:before,.fa-caret-square-o-right:before{content:"\f152"}.fa-euro:before,.fa-eur:before{content:"\f153"}.fa-gbp:before{content:"\f154"}.fa-dollar:before,.fa-usd:before{content:"\f155"}.fa-rupee:before,.fa-inr:before{content:"\f156"}.fa-cny:before,.fa-rmb:before,.fa-yen:before,.fa-jpy:before{content:"\f157"}.fa-ruble:before,.fa-rouble:before,.fa-rub:before{content:"\f158"}.fa-won:before,.fa-krw:before{content:"\f159"}.fa-bitcoin:before,.fa-btc:before{content:"\f15a"}.fa-file:before{content:"\f15b"}.fa-file-text:before{content:"\f15c"}.fa-sort-alpha-asc:before{content:"\f15d"}.fa-sort-alpha-desc:before{content:"\f15e"}.fa-sort-amount-asc:before{content:"\f160"}.fa-sort-amount-desc:before{content:"\f161"}.fa-sort-numeric-asc:before{content:"\f162"}.fa-sort-numeric-desc:before{content:"\f163"}.fa-thumbs-up:before{content:"\f164"}.fa-thumbs-down:before{content:"\f165"}.fa-youtube-square:before{content:"\f166"}.fa-youtube:before{content:"\f167"}.fa-xing:before{content:"\f168"}.fa-xing-square:before{content:"\f169"}.fa-youtube-play:before{content:"\f16a"}.fa-dropbox:before{content:"\f16b"}.fa-stack-overflow:before{content:"\f16c"}.fa-instagram:before{content:"\f16d"}.fa-flickr:before{content:"\f16e"}.fa-adn:before{content:"\f170"}.fa-bitbucket:before{content:"\f171"}.fa-bitbucket-square:before{content:"\f172"}.fa-tumblr:before{content:"\f173"}.fa-tumblr-square:before{content:"\f174"}.fa-long-arrow-down:before{content:"\f175"}.fa-long-arrow-up:before{content:"\f176"}.fa-long-arrow-left:before{content:"\f177"}.fa-long-arrow-right:before{content:"\f178"}.fa-apple:before{content:"\f179"}.fa-windows:before{content:"\f17a"}.fa-android:before{content:"\f17b"}.fa-linux:before{content:"\f17c"}.fa-dribbble:before{content:"\f17d"}.fa-skype:before{content:"\f17e"}.fa-foursquare:before{content:"\f180"}.fa-trello:before{content:"\f181"}.fa-female:before{content:"\f182"}.fa-male:before{content:"\f183"}.fa-gittip:before,.fa-gratipay:before{content:"\f184"}.fa-sun-o:before{content:"\f185"}.fa-moon-o:before{content:"\f186"}.fa-archive:before{content:"\f187"}.fa-bug:before{content:"\f188"}.fa-vk:before{content:"\f189"}.fa-weibo:before{content:"\f18a"}.fa-renren:before{content:"\f18b"}.fa-pagelines:before{content:"\f18c"}.fa-stack-exchange:before{content:"\f18d"}.fa-arrow-circle-o-right:before{content:"\f18e"}.fa-arrow-circle-o-left:before{content:"\f190"}.fa-toggle-left:before,.fa-caret-square-o-left:before{content:"\f191"}.fa-dot-circle-o:before{content:"\f192"}.fa-wheelchair:before{content:"\f193"}.fa-vimeo-square:before{content:"\f194"}.fa-turkish-lira:before,.fa-try:before{content:"\f195"}.fa-plus-square-o:before{content:"\f196"}.fa-space-shuttle:before{content:"\f197"}.fa-slack:before{content:"\f198"}.fa-envelope-square:before{content:"\f199"}.fa-wordpress:before{content:"\f19a"}.fa-openid:before{content:"\f19b"}.fa-institution:before,.fa-bank:before,.fa-university:before{content:"\f19c"}.fa-mortar-board:before,.fa-graduation-cap:before{content:"\f19d"}.fa-yahoo:before{content:"\f19e"}.fa-google:before{content:"\f1a0"}.fa-reddit:before{content:"\f1a1"}.fa-reddit-square:before{content:"\f1a2"}.fa-stumbleupon-circle:before{content:"\f1a3"}.fa-stumbleupon:before{content:"\f1a4"}.fa-delicious:before{content:"\f1a5"}.fa-digg:before{content:"\f1a6"}.fa-pied-piper-pp:before{content:"\f1a7"}.fa-pied-piper-alt:before{content:"\f1a8"}.fa-drupal:before{content:"\f1a9"}.fa-joomla:before{content:"\f1aa"}.fa-language:before{content:"\f1ab"}.fa-fax:before{content:"\f1ac"}.fa-building:before{content:"\f1ad"}.fa-child:before{content:"\f1ae"}.fa-paw:before{content:"\f1b0"}.fa-spoon:before{content:"\f1b1"}.fa-cube:before{content:"\f1b2"}.fa-cubes:before{content:"\f1b3"}.fa-behance:before{content:"\f1b4"}.fa-behance-square:before{content:"\f1b5"}.fa-steam:before{content:"\f1b6"}.fa-steam-square:before{content:"\f1b7"}.fa-recycle:before{content:"\f1b8"}.fa-automobile:before,.fa-car:before{content:"\f1b9"}.fa-cab:before,.fa-taxi:before{content:"\f1ba"}.fa-tree:before{content:"\f1bb"}.fa-spotify:before{content:"\f1bc"}.fa-deviantart:before{content:"\f1bd"}.fa-soundcloud:before{content:"\f1be"}.fa-database:before{content:"\f1c0"}.fa-file-pdf-o:before{content:"\f1c1"}.fa-file-word-o:before{content:"\f1c2"}.fa-file-excel-o:before{content:"\f1c3"}.fa-file-powerpoint-o:before{content:"\f1c4"}.fa-file-photo-o:before,.fa-file-picture-o:before,.fa-file-image-o:before{content:"\f1c5"}.fa-file-zip-o:before,.fa-file-archive-o:before{content:"\f1c6"}.fa-file-sound-o:before,.fa-file-audio-o:before{content:"\f1c7"}.fa-file-movie-o:before,.fa-file-video-o:before{content:"\f1c8"}.fa-file-code-o:before{content:"\f1c9"}.fa-vine:before{content:"\f1ca"}.fa-codepen:before{content:"\f1cb"}.fa-jsfiddle:before{content:"\f1cc"}.fa-life-bouy:before,.fa-life-buoy:before,.fa-life-saver:before,.fa-support:before,.fa-life-ring:before{content:"\f1cd"}.fa-circle-o-notch:before{content:"\f1ce"}.fa-ra:before,.fa-resistance:before,.fa-rebel:before{content:"\f1d0"}.fa-ge:before,.fa-empire:before{content:"\f1d1"}.fa-git-square:before{content:"\f1d2"}.fa-git:before{content:"\f1d3"}.fa-y-combinator-square:before,.fa-yc-square:before,.fa-hacker-news:before{content:"\f1d4"}.fa-tencent-weibo:before{content:"\f1d5"}.fa-qq:before{content:"\f1d6"}.fa-wechat:before,.fa-weixin:before{content:"\f1d7"}.fa-send:before,.fa-paper-plane:before{content:"\f1d8"}.fa-send-o:before,.fa-paper-plane-o:before{content:"\f1d9"}.fa-history:before{content:"\f1da"}.fa-circle-thin:before{content:"\f1db"}.fa-header:before{content:"\f1dc"}.fa-paragraph:before{content:"\f1dd"}.fa-sliders:before{content:"\f1de"}.fa-share-alt:before{content:"\f1e0"}.fa-share-alt-square:before{content:"\f1e1"}.fa-bomb:before{content:"\f1e2"}.fa-soccer-ball-o:before,.fa-futbol-o:before{content:"\f1e3"}.fa-tty:before{content:"\f1e4"}.fa-binoculars:before{content:"\f1e5"}.fa-plug:before{content:"\f1e6"}.fa-slideshare:before{content:"\f1e7"}.fa-twitch:before{content:"\f1e8"}.fa-yelp:before{content:"\f1e9"}.fa-newspaper-o:before{content:"\f1ea"}.fa-wifi:before{content:"\f1eb"}.fa-calculator:before{content:"\f1ec"}.fa-paypal:before{content:"\f1ed"}.fa-google-wallet:before{content:"\f1ee"}.fa-cc-visa:before{content:"\f1f0"}.fa-cc-mastercard:before{content:"\f1f1"}.fa-cc-discover:before{content:"\f1f2"}.fa-cc-amex:before{content:"\f1f3"}.fa-cc-paypal:before{content:"\f1f4"}.fa-cc-stripe:before{content:"\f1f5"}.fa-bell-slash:before{content:"\f1f6"}.fa-bell-slash-o:before{content:"\f1f7"}.fa-trash:before{content:"\f1f8"}.fa-copyright:before{content:"\f1f9"}.fa-at:before{content:"\f1fa"}.fa-eyedropper:before{content:"\f1fb"}.fa-paint-brush:before{content:"\f1fc"}.fa-birthday-cake:before{content:"\f1fd"}.fa-area-chart:before{content:"\f1fe"}.fa-pie-chart:before{content:"\f200"}.fa-line-chart:before{content:"\f201"}.fa-lastfm:before{content:"\f202"}.fa-lastfm-square:before{content:"\f203"}.fa-toggle-off:before{content:"\f204"}.fa-toggle-on:before{content:"\f205"}.fa-bicycle:before{content:"\f206"}.fa-bus:before{content:"\f207"}.fa-ioxhost:before{content:"\f208"}.fa-angellist:before{content:"\f209"}.fa-cc:before{content:"\f20a"}.fa-shekel:before,.fa-sheqel:before,.fa-ils:before{content:"\f20b"}.fa-meanpath:before{content:"\f20c"}.fa-buysellads:before{content:"\f20d"}.fa-connectdevelop:before{content:"\f20e"}.fa-dashcube:before{content:"\f210"}.fa-forumbee:before{content:"\f211"}.fa-leanpub:before{content:"\f212"}.fa-sellsy:before{content:"\f213"}.fa-shirtsinbulk:before{content:"\f214"}.fa-simplybuilt:before{content:"\f215"}.fa-skyatlas:before{content:"\f216"}.fa-cart-plus:before{content:"\f217"}.fa-cart-arrow-down:before{content:"\f218"}.fa-diamond:before{content:"\f219"}.fa-ship:before{content:"\f21a"}.fa-user-secret:before{content:"\f21b"}.fa-motorcycle:before{content:"\f21c"}.fa-street-view:before{content:"\f21d"}.fa-heartbeat:before{content:"\f21e"}.fa-venus:before{content:"\f221"}.fa-mars:before{content:"\f222"}.fa-mercury:before{content:"\f223"}.fa-intersex:before,.fa-transgender:before{content:"\f224"}.fa-transgender-alt:before{content:"\f225"}.fa-venus-double:before{content:"\f226"}.fa-mars-double:before{content:"\f227"}.fa-venus-mars:before{content:"\f228"}.fa-mars-stroke:before{content:"\f229"}.fa-mars-stroke-v:before{content:"\f22a"}.fa-mars-stroke-h:before{content:"\f22b"}.fa-neuter:before{content:"\f22c"}.fa-genderless:before{content:"\f22d"}.fa-facebook-official:before{content:"\f230"}.fa-pinterest-p:before{content:"\f231"}.fa-whatsapp:before{content:"\f232"}.fa-server:before{content:"\f233"}.fa-user-plus:before{content:"\f234"}.fa-user-times:before{content:"\f235"}.fa-hotel:before,.fa-bed:before{content:"\f236"}.fa-viacoin:before{content:"\f237"}.fa-train:before{content:"\f238"}.fa-subway:before{content:"\f239"}.fa-medium:before{content:"\f23a"}.fa-yc:before,.fa-y-combinator:before{content:"\f23b"}.fa-optin-monster:before{content:"\f23c"}.fa-opencart:before{content:"\f23d"}.fa-expeditedssl:before{content:"\f23e"}.fa-battery-4:before,.fa-battery:before,.fa-battery-full:before{content:"\f240"}.fa-battery-3:before,.fa-battery-three-quarters:before{content:"\f241"}.fa-battery-2:before,.fa-battery-half:before{content:"\f242"}.fa-battery-1:before,.fa-battery-quarter:before{content:"\f243"}.fa-battery-0:before,.fa-battery-empty:before{content:"\f244"}.fa-mouse-pointer:before{content:"\f245"}.fa-i-cursor:before{content:"\f246"}.fa-object-group:before{content:"\f247"}.fa-object-ungroup:before{content:"\f248"}.fa-sticky-note:before{content:"\f249"}.fa-sticky-note-o:before{content:"\f24a"}.fa-cc-jcb:before{content:"\f24b"}.fa-cc-diners-club:before{content:"\f24c"}.fa-clone:before{content:"\f24d"}.fa-balance-scale:before{content:"\f24e"}.fa-hourglass-o:before{content:"\f250"}.fa-hourglass-1:before,.fa-hourglass-start:before{content:"\f251"}.fa-hourglass-2:before,.fa-hourglass-half:before{content:"\f252"}.fa-hourglass-3:before,.fa-hourglass-end:before{content:"\f253"}.fa-hourglass:before{content:"\f254"}.fa-hand-grab-o:before,.fa-hand-rock-o:before{content:"\f255"}.fa-hand-stop-o:before,.fa-hand-paper-o:before{content:"\f256"}.fa-hand-scissors-o:before{content:"\f257"}.fa-hand-lizard-o:before{content:"\f258"}.fa-hand-spock-o:before{content:"\f259"}.fa-hand-pointer-o:before{content:"\f25a"}.fa-hand-peace-o:before{content:"\f25b"}.fa-trademark:before{content:"\f25c"}.fa-registered:before{content:"\f25d"}.fa-creative-commons:before{content:"\f25e"}.fa-gg:before{content:"\f260"}.fa-gg-circle:before{content:"\f261"}.fa-tripadvisor:before{content:"\f262"}.fa-odnoklassniki:before{content:"\f263"}.fa-odnoklassniki-square:before{content:"\f264"}.fa-get-pocket:before{content:"\f265"}.fa-wikipedia-w:before{content:"\f266"}.fa-safari:before{content:"\f267"}.fa-chrome:before{content:"\f268"}.fa-firefox:before{content:"\f269"}.fa-opera:before{content:"\f26a"}.fa-internet-explorer:before{content:"\f26b"}.fa-tv:before,.fa-television:before{content:"\f26c"}.fa-contao:before{content:"\f26d"}.fa-500px:before{content:"\f26e"}.fa-amazon:before{content:"\f270"}.fa-calendar-plus-o:before{content:"\f271"}.fa-calendar-minus-o:before{content:"\f272"}.fa-calendar-times-o:before{content:"\f273"}.fa-calendar-check-o:before{content:"\f274"}.fa-industry:before{content:"\f275"}.fa-map-pin:before{content:"\f276"}.fa-map-signs:before{content:"\f277"}.fa-map-o:before{content:"\f278"}.fa-map:before{content:"\f279"}.fa-commenting:before{content:"\f27a"}.fa-commenting-o:before{content:"\f27b"}.fa-houzz:before{content:"\f27c"}.fa-vimeo:before{content:"\f27d"}.fa-black-tie:before{content:"\f27e"}.fa-fonticons:before{content:"\f280"}.fa-reddit-alien:before{content:"\f281"}.fa-edge:before{content:"\f282"}.fa-credit-card-alt:before{content:"\f283"}.fa-codiepie:before{content:"\f284"}.fa-modx:before{content:"\f285"}.fa-fort-awesome:before{content:"\f286"}.fa-usb:before{content:"\f287"}.fa-product-hunt:before{content:"\f288"}.fa-mixcloud:before{content:"\f289"}.fa-scribd:before{content:"\f28a"}.fa-pause-circle:before{content:"\f28b"}.fa-pause-circle-o:before{content:"\f28c"}.fa-stop-circle:before{content:"\f28d"}.fa-stop-circle-o:before{content:"\f28e"}.fa-shopping-bag:before{content:"\f290"}.fa-shopping-basket:before{content:"\f291"}.fa-hashtag:before{content:"\f292"}.fa-bluetooth:before{content:"\f293"}.fa-bluetooth-b:before{content:"\f294"}.fa-percent:before{content:"\f295"}.fa-gitlab:before{content:"\f296"}.fa-wpbeginner:before{content:"\f297"}.fa-wpforms:before{content:"\f298"}.fa-envira:before{content:"\f299"}.fa-universal-access:before{content:"\f29a"}.fa-wheelchair-alt:before{content:"\f29b"}.fa-question-circle-o:before{content:"\f29c"}.fa-blind:before{content:"\f29d"}.fa-audio-description:before{content:"\f29e"}.fa-volume-control-phone:before{content:"\f2a0"}.fa-braille:before{content:"\f2a1"}.fa-assistive-listening-systems:before{content:"\f2a2"}.fa-asl-interpreting:before,.fa-american-sign-language-interpreting:before{content:"\f2a3"}.fa-deafness:before,.fa-hard-of-hearing:before,.fa-deaf:before{content:"\f2a4"}.fa-glide:before{content:"\f2a5"}.fa-glide-g:before{content:"\f2a6"}.fa-signing:before,.fa-sign-language:before{content:"\f2a7"}.fa-low-vision:before{content:"\f2a8"}.fa-viadeo:before{content:"\f2a9"}.fa-viadeo-square:before{content:"\f2aa"}.fa-snapchat:before{content:"\f2ab"}.fa-snapchat-ghost:before{content:"\f2ac"}.fa-snapchat-square:before{content:"\f2ad"}.fa-pied-piper:before{content:"\f2ae"}.fa-first-order:before{content:"\f2b0"}.fa-yoast:before{content:"\f2b1"}.fa-themeisle:before{content:"\f2b2"}.fa-google-plus-circle:before,.fa-google-plus-official:before{content:"\f2b3"}.fa-fa:before,.fa-font-awesome:before{content:"\f2b4"}.fa-handshake-o:before{content:"\f2b5"}.fa-envelope-open:before{content:"\f2b6"}.fa-envelope-open-o:before{content:"\f2b7"}.fa-linode:before{content:"\f2b8"}.fa-address-book:before{content:"\f2b9"}.fa-address-book-o:before{content:"\f2ba"}.fa-vcard:before,.fa-address-card:before{content:"\f2bb"}.fa-vcard-o:before,.fa-address-card-o:before{content:"\f2bc"}.fa-user-circle:before{content:"\f2bd"}.fa-user-circle-o:before{content:"\f2be"}.fa-user-o:before{content:"\f2c0"}.fa-id-badge:before{content:"\f2c1"}.fa-drivers-license:before,.fa-id-card:before{content:"\f2c2"}.fa-drivers-license-o:before,.fa-id-card-o:before{content:"\f2c3"}.fa-quora:before{content:"\f2c4"}.fa-free-code-camp:before{content:"\f2c5"}.fa-telegram:before{content:"\f2c6"}.fa-thermometer-4:before,.fa-thermometer:before,.fa-thermometer-full:before{content:"\f2c7"}.fa-thermometer-3:before,.fa-thermometer-three-quarters:before{content:"\f2c8"}.fa-thermometer-2:before,.fa-thermometer-half:before{content:"\f2c9"}.fa-thermometer-1:before,.fa-thermometer-quarter:before{content:"\f2ca"}.fa-thermometer-0:before,.fa-thermometer-empty:before{content:"\f2cb"}.fa-shower:before{content:"\f2cc"}.fa-bathtub:before,.fa-s15:before,.fa-bath:before{content:"\f2cd"}.fa-podcast:before{content:"\f2ce"}.fa-window-maximize:before{content:"\f2d0"}.fa-window-minimize:before{content:"\f2d1"}.fa-window-restore:before{content:"\f2d2"}.fa-times-rectangle:before,.fa-window-close:before{content:"\f2d3"}.fa-times-rectangle-o:before,.fa-window-close-o:before{content:"\f2d4"}.fa-bandcamp:before{content:"\f2d5"}.fa-grav:before{content:"\f2d6"}.fa-etsy:before{content:"\f2d7"}.fa-imdb:before{content:"\f2d8"}.fa-ravelry:before{content:"\f2d9"}.fa-eercast:before{content:"\f2da"}.fa-microchip:before{content:"\f2db"}.fa-snowflake-o:before{content:"\f2dc"}.fa-superpowers:before{content:"\f2dd"}.fa-wpexplorer:before{content:"\f2de"}.fa-meetup:before{content:"\f2e0"}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto} diff --git a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/font-awesome-4.7.0/fonts/FontAwesome.otf b/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/font-awesome-4.7.0/fonts/FontAwesome.otf deleted file mode 100755 index 401ec0f3..00000000 Binary files a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/font-awesome-4.7.0/fonts/FontAwesome.otf and /dev/null differ diff --git a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/font-awesome-4.7.0/fonts/fontawesome-webfont.eot b/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/font-awesome-4.7.0/fonts/fontawesome-webfont.eot deleted file mode 100755 index e9f60ca9..00000000 Binary files a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/font-awesome-4.7.0/fonts/fontawesome-webfont.eot and /dev/null differ diff --git a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/font-awesome-4.7.0/fonts/fontawesome-webfont.svg b/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/font-awesome-4.7.0/fonts/fontawesome-webfont.svg deleted file mode 100755 index d7534c97..00000000 --- a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/font-awesome-4.7.0/fonts/fontawesome-webfont.svg +++ /dev/null @@ -1,2671 +0,0 @@ - - - - -Created by FontForge 20120731 at Mon Oct 24 17:37:40 2016 - By ,,, -Copyright Dave Gandy 2016. All rights reserved. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/font-awesome-4.7.0/fonts/fontawesome-webfont.ttf b/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/font-awesome-4.7.0/fonts/fontawesome-webfont.ttf deleted file mode 100755 index 35acda2f..00000000 Binary files a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/font-awesome-4.7.0/fonts/fontawesome-webfont.ttf and /dev/null differ diff --git a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/font-awesome-4.7.0/fonts/fontawesome-webfont.woff b/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/font-awesome-4.7.0/fonts/fontawesome-webfont.woff deleted file mode 100755 index 400014a4..00000000 Binary files a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/font-awesome-4.7.0/fonts/fontawesome-webfont.woff and /dev/null differ diff --git a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/font-awesome-4.7.0/fonts/fontawesome-webfont.woff2 b/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/font-awesome-4.7.0/fonts/fontawesome-webfont.woff2 deleted file mode 100755 index 4d13fc60..00000000 Binary files a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/font-awesome-4.7.0/fonts/fontawesome-webfont.woff2 and /dev/null differ diff --git a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/ionicons/css/ionicons.min.css b/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/ionicons/css/ionicons.min.css deleted file mode 100755 index 184bf85d..00000000 --- a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/ionicons/css/ionicons.min.css +++ /dev/null @@ -1,11 +0,0 @@ -@charset "UTF-8";/*! - Ionicons, v2.0.0 - Created by Ben Sperry for the Ionic Framework, http://ionicons.com/ - https://twitter.com/benjsperry https://twitter.com/ionicframework - MIT License: https://github.com/driftyco/ionicons - - Android-style icons originally built by Google’s - Material Design Icons: https://github.com/google/material-design-icons - used under CC BY http://creativecommons.org/licenses/by/4.0/ - Modified icons to fit ionicon’s grid from original. -*/@font-face{font-family:"Ionicons";src:url("../fonts/ionicons28b5.eot?v=2.0.0");src:url("../fonts/ionicons28b5.eot?v=2.0.0#iefix") format("embedded-opentype"),url("../fonts/ionicons28b5.ttf?v=2.0.0") format("truetype"),url("../fonts/ionicons28b5.woff?v=2.0.0") format("woff"),url("../fonts/ionicons28b5.svg?v=2.0.0#Ionicons") format("svg");font-weight:normal;font-style:normal}.ion,.ionicons,.ion-alert:before,.ion-alert-circled:before,.ion-android-add:before,.ion-android-add-circle:before,.ion-android-alarm-clock:before,.ion-android-alert:before,.ion-android-apps:before,.ion-android-archive:before,.ion-android-arrow-back:before,.ion-android-arrow-down:before,.ion-android-arrow-dropdown:before,.ion-android-arrow-dropdown-circle:before,.ion-android-arrow-dropleft:before,.ion-android-arrow-dropleft-circle:before,.ion-android-arrow-dropright:before,.ion-android-arrow-dropright-circle:before,.ion-android-arrow-dropup:before,.ion-android-arrow-dropup-circle:before,.ion-android-arrow-forward:before,.ion-android-arrow-up:before,.ion-android-attach:before,.ion-android-bar:before,.ion-android-bicycle:before,.ion-android-boat:before,.ion-android-bookmark:before,.ion-android-bulb:before,.ion-android-bus:before,.ion-android-calendar:before,.ion-android-call:before,.ion-android-camera:before,.ion-android-cancel:before,.ion-android-car:before,.ion-android-cart:before,.ion-android-chat:before,.ion-android-checkbox:before,.ion-android-checkbox-blank:before,.ion-android-checkbox-outline:before,.ion-android-checkbox-outline-blank:before,.ion-android-checkmark-circle:before,.ion-android-clipboard:before,.ion-android-close:before,.ion-android-cloud:before,.ion-android-cloud-circle:before,.ion-android-cloud-done:before,.ion-android-cloud-outline:before,.ion-android-color-palette:before,.ion-android-compass:before,.ion-android-contact:before,.ion-android-contacts:before,.ion-android-contract:before,.ion-android-create:before,.ion-android-delete:before,.ion-android-desktop:before,.ion-android-document:before,.ion-android-done:before,.ion-android-done-all:before,.ion-android-download:before,.ion-android-drafts:before,.ion-android-exit:before,.ion-android-expand:before,.ion-android-favorite:before,.ion-android-favorite-outline:before,.ion-android-film:before,.ion-android-folder:before,.ion-android-folder-open:before,.ion-android-funnel:before,.ion-android-globe:before,.ion-android-hand:before,.ion-android-hangout:before,.ion-android-happy:before,.ion-android-home:before,.ion-android-image:before,.ion-android-laptop:before,.ion-android-list:before,.ion-android-locate:before,.ion-android-lock:before,.ion-android-mail:before,.ion-android-map:before,.ion-android-menu:before,.ion-android-microphone:before,.ion-android-microphone-off:before,.ion-android-more-horizontal:before,.ion-android-more-vertical:before,.ion-android-navigate:before,.ion-android-notifications:before,.ion-android-notifications-none:before,.ion-android-notifications-off:before,.ion-android-open:before,.ion-android-options:before,.ion-android-people:before,.ion-android-person:before,.ion-android-person-add:before,.ion-android-phone-landscape:before,.ion-android-phone-portrait:before,.ion-android-pin:before,.ion-android-plane:before,.ion-android-playstore:before,.ion-android-print:before,.ion-android-radio-button-off:before,.ion-android-radio-button-on:before,.ion-android-refresh:before,.ion-android-remove:before,.ion-android-remove-circle:before,.ion-android-restaurant:before,.ion-android-sad:before,.ion-android-search:before,.ion-android-send:before,.ion-android-settings:before,.ion-android-share:before,.ion-android-share-alt:before,.ion-android-star:before,.ion-android-star-half:before,.ion-android-star-outline:before,.ion-android-stopwatch:before,.ion-android-subway:before,.ion-android-sunny:before,.ion-android-sync:before,.ion-android-textsms:before,.ion-android-time:before,.ion-android-train:before,.ion-android-unlock:before,.ion-android-upload:before,.ion-android-volume-down:before,.ion-android-volume-mute:before,.ion-android-volume-off:before,.ion-android-volume-up:before,.ion-android-walk:before,.ion-android-warning:before,.ion-android-watch:before,.ion-android-wifi:before,.ion-aperture:before,.ion-archive:before,.ion-arrow-down-a:before,.ion-arrow-down-b:before,.ion-arrow-down-c:before,.ion-arrow-expand:before,.ion-arrow-graph-down-left:before,.ion-arrow-graph-down-right:before,.ion-arrow-graph-up-left:before,.ion-arrow-graph-up-right:before,.ion-arrow-left-a:before,.ion-arrow-left-b:before,.ion-arrow-left-c:before,.ion-arrow-move:before,.ion-arrow-resize:before,.ion-arrow-return-left:before,.ion-arrow-return-right:before,.ion-arrow-right-a:before,.ion-arrow-right-b:before,.ion-arrow-right-c:before,.ion-arrow-shrink:before,.ion-arrow-swap:before,.ion-arrow-up-a:before,.ion-arrow-up-b:before,.ion-arrow-up-c:before,.ion-asterisk:before,.ion-at:before,.ion-backspace:before,.ion-backspace-outline:before,.ion-bag:before,.ion-battery-charging:before,.ion-battery-empty:before,.ion-battery-full:before,.ion-battery-half:before,.ion-battery-low:before,.ion-beaker:before,.ion-beer:before,.ion-bluetooth:before,.ion-bonfire:before,.ion-bookmark:before,.ion-bowtie:before,.ion-briefcase:before,.ion-bug:before,.ion-calculator:before,.ion-calendar:before,.ion-camera:before,.ion-card:before,.ion-cash:before,.ion-chatbox:before,.ion-chatbox-working:before,.ion-chatboxes:before,.ion-chatbubble:before,.ion-chatbubble-working:before,.ion-chatbubbles:before,.ion-checkmark:before,.ion-checkmark-circled:before,.ion-checkmark-round:before,.ion-chevron-down:before,.ion-chevron-left:before,.ion-chevron-right:before,.ion-chevron-up:before,.ion-clipboard:before,.ion-clock:before,.ion-close:before,.ion-close-circled:before,.ion-close-round:before,.ion-closed-captioning:before,.ion-cloud:before,.ion-code:before,.ion-code-download:before,.ion-code-working:before,.ion-coffee:before,.ion-compass:before,.ion-compose:before,.ion-connection-bars:before,.ion-contrast:before,.ion-crop:before,.ion-cube:before,.ion-disc:before,.ion-document:before,.ion-document-text:before,.ion-drag:before,.ion-earth:before,.ion-easel:before,.ion-edit:before,.ion-egg:before,.ion-eject:before,.ion-email:before,.ion-email-unread:before,.ion-erlenmeyer-flask:before,.ion-erlenmeyer-flask-bubbles:before,.ion-eye:before,.ion-eye-disabled:before,.ion-female:before,.ion-filing:before,.ion-film-marker:before,.ion-fireball:before,.ion-flag:before,.ion-flame:before,.ion-flash:before,.ion-flash-off:before,.ion-folder:before,.ion-fork:before,.ion-fork-repo:before,.ion-forward:before,.ion-funnel:before,.ion-gear-a:before,.ion-gear-b:before,.ion-grid:before,.ion-hammer:before,.ion-happy:before,.ion-happy-outline:before,.ion-headphone:before,.ion-heart:before,.ion-heart-broken:before,.ion-help:before,.ion-help-buoy:before,.ion-help-circled:before,.ion-home:before,.ion-icecream:before,.ion-image:before,.ion-images:before,.ion-information:before,.ion-information-circled:before,.ion-ionic:before,.ion-ios-alarm:before,.ion-ios-alarm-outline:before,.ion-ios-albums:before,.ion-ios-albums-outline:before,.ion-ios-americanfootball:before,.ion-ios-americanfootball-outline:before,.ion-ios-analytics:before,.ion-ios-analytics-outline:before,.ion-ios-arrow-back:before,.ion-ios-arrow-down:before,.ion-ios-arrow-forward:before,.ion-ios-arrow-left:before,.ion-ios-arrow-right:before,.ion-ios-arrow-thin-down:before,.ion-ios-arrow-thin-left:before,.ion-ios-arrow-thin-right:before,.ion-ios-arrow-thin-up:before,.ion-ios-arrow-up:before,.ion-ios-at:before,.ion-ios-at-outline:before,.ion-ios-barcode:before,.ion-ios-barcode-outline:before,.ion-ios-baseball:before,.ion-ios-baseball-outline:before,.ion-ios-basketball:before,.ion-ios-basketball-outline:before,.ion-ios-bell:before,.ion-ios-bell-outline:before,.ion-ios-body:before,.ion-ios-body-outline:before,.ion-ios-bolt:before,.ion-ios-bolt-outline:before,.ion-ios-book:before,.ion-ios-book-outline:before,.ion-ios-bookmarks:before,.ion-ios-bookmarks-outline:before,.ion-ios-box:before,.ion-ios-box-outline:before,.ion-ios-briefcase:before,.ion-ios-briefcase-outline:before,.ion-ios-browsers:before,.ion-ios-browsers-outline:before,.ion-ios-calculator:before,.ion-ios-calculator-outline:before,.ion-ios-calendar:before,.ion-ios-calendar-outline:before,.ion-ios-camera:before,.ion-ios-camera-outline:before,.ion-ios-cart:before,.ion-ios-cart-outline:before,.ion-ios-chatboxes:before,.ion-ios-chatboxes-outline:before,.ion-ios-chatbubble:before,.ion-ios-chatbubble-outline:before,.ion-ios-checkmark:before,.ion-ios-checkmark-empty:before,.ion-ios-checkmark-outline:before,.ion-ios-circle-filled:before,.ion-ios-circle-outline:before,.ion-ios-clock:before,.ion-ios-clock-outline:before,.ion-ios-close:before,.ion-ios-close-empty:before,.ion-ios-close-outline:before,.ion-ios-cloud:before,.ion-ios-cloud-download:before,.ion-ios-cloud-download-outline:before,.ion-ios-cloud-outline:before,.ion-ios-cloud-upload:before,.ion-ios-cloud-upload-outline:before,.ion-ios-cloudy:before,.ion-ios-cloudy-night:before,.ion-ios-cloudy-night-outline:before,.ion-ios-cloudy-outline:before,.ion-ios-cog:before,.ion-ios-cog-outline:before,.ion-ios-color-filter:before,.ion-ios-color-filter-outline:before,.ion-ios-color-wand:before,.ion-ios-color-wand-outline:before,.ion-ios-compose:before,.ion-ios-compose-outline:before,.ion-ios-contact:before,.ion-ios-contact-outline:before,.ion-ios-copy:before,.ion-ios-copy-outline:before,.ion-ios-crop:before,.ion-ios-crop-strong:before,.ion-ios-download:before,.ion-ios-download-outline:before,.ion-ios-drag:before,.ion-ios-email:before,.ion-ios-email-outline:before,.ion-ios-eye:before,.ion-ios-eye-outline:before,.ion-ios-fastforward:before,.ion-ios-fastforward-outline:before,.ion-ios-filing:before,.ion-ios-filing-outline:before,.ion-ios-film:before,.ion-ios-film-outline:before,.ion-ios-flag:before,.ion-ios-flag-outline:before,.ion-ios-flame:before,.ion-ios-flame-outline:before,.ion-ios-flask:before,.ion-ios-flask-outline:before,.ion-ios-flower:before,.ion-ios-flower-outline:before,.ion-ios-folder:before,.ion-ios-folder-outline:before,.ion-ios-football:before,.ion-ios-football-outline:before,.ion-ios-game-controller-a:before,.ion-ios-game-controller-a-outline:before,.ion-ios-game-controller-b:before,.ion-ios-game-controller-b-outline:before,.ion-ios-gear:before,.ion-ios-gear-outline:before,.ion-ios-glasses:before,.ion-ios-glasses-outline:before,.ion-ios-grid-view:before,.ion-ios-grid-view-outline:before,.ion-ios-heart:before,.ion-ios-heart-outline:before,.ion-ios-help:before,.ion-ios-help-empty:before,.ion-ios-help-outline:before,.ion-ios-home:before,.ion-ios-home-outline:before,.ion-ios-infinite:before,.ion-ios-infinite-outline:before,.ion-ios-information:before,.ion-ios-information-empty:before,.ion-ios-information-outline:before,.ion-ios-ionic-outline:before,.ion-ios-keypad:before,.ion-ios-keypad-outline:before,.ion-ios-lightbulb:before,.ion-ios-lightbulb-outline:before,.ion-ios-list:before,.ion-ios-list-outline:before,.ion-ios-location:before,.ion-ios-location-outline:before,.ion-ios-locked:before,.ion-ios-locked-outline:before,.ion-ios-loop:before,.ion-ios-loop-strong:before,.ion-ios-medical:before,.ion-ios-medical-outline:before,.ion-ios-medkit:before,.ion-ios-medkit-outline:before,.ion-ios-mic:before,.ion-ios-mic-off:before,.ion-ios-mic-outline:before,.ion-ios-minus:before,.ion-ios-minus-empty:before,.ion-ios-minus-outline:before,.ion-ios-monitor:before,.ion-ios-monitor-outline:before,.ion-ios-moon:before,.ion-ios-moon-outline:before,.ion-ios-more:before,.ion-ios-more-outline:before,.ion-ios-musical-note:before,.ion-ios-musical-notes:before,.ion-ios-navigate:before,.ion-ios-navigate-outline:before,.ion-ios-nutrition:before,.ion-ios-nutrition-outline:before,.ion-ios-paper:before,.ion-ios-paper-outline:before,.ion-ios-paperplane:before,.ion-ios-paperplane-outline:before,.ion-ios-partlysunny:before,.ion-ios-partlysunny-outline:before,.ion-ios-pause:before,.ion-ios-pause-outline:before,.ion-ios-paw:before,.ion-ios-paw-outline:before,.ion-ios-people:before,.ion-ios-people-outline:before,.ion-ios-person:before,.ion-ios-person-outline:before,.ion-ios-personadd:before,.ion-ios-personadd-outline:before,.ion-ios-photos:before,.ion-ios-photos-outline:before,.ion-ios-pie:before,.ion-ios-pie-outline:before,.ion-ios-pint:before,.ion-ios-pint-outline:before,.ion-ios-play:before,.ion-ios-play-outline:before,.ion-ios-plus:before,.ion-ios-plus-empty:before,.ion-ios-plus-outline:before,.ion-ios-pricetag:before,.ion-ios-pricetag-outline:before,.ion-ios-pricetags:before,.ion-ios-pricetags-outline:before,.ion-ios-printer:before,.ion-ios-printer-outline:before,.ion-ios-pulse:before,.ion-ios-pulse-strong:before,.ion-ios-rainy:before,.ion-ios-rainy-outline:before,.ion-ios-recording:before,.ion-ios-recording-outline:before,.ion-ios-redo:before,.ion-ios-redo-outline:before,.ion-ios-refresh:before,.ion-ios-refresh-empty:before,.ion-ios-refresh-outline:before,.ion-ios-reload:before,.ion-ios-reverse-camera:before,.ion-ios-reverse-camera-outline:before,.ion-ios-rewind:before,.ion-ios-rewind-outline:before,.ion-ios-rose:before,.ion-ios-rose-outline:before,.ion-ios-search:before,.ion-ios-search-strong:before,.ion-ios-settings:before,.ion-ios-settings-strong:before,.ion-ios-shuffle:before,.ion-ios-shuffle-strong:before,.ion-ios-skipbackward:before,.ion-ios-skipbackward-outline:before,.ion-ios-skipforward:before,.ion-ios-skipforward-outline:before,.ion-ios-snowy:before,.ion-ios-speedometer:before,.ion-ios-speedometer-outline:before,.ion-ios-star:before,.ion-ios-star-half:before,.ion-ios-star-outline:before,.ion-ios-stopwatch:before,.ion-ios-stopwatch-outline:before,.ion-ios-sunny:before,.ion-ios-sunny-outline:before,.ion-ios-telephone:before,.ion-ios-telephone-outline:before,.ion-ios-tennisball:before,.ion-ios-tennisball-outline:before,.ion-ios-thunderstorm:before,.ion-ios-thunderstorm-outline:before,.ion-ios-time:before,.ion-ios-time-outline:before,.ion-ios-timer:before,.ion-ios-timer-outline:before,.ion-ios-toggle:before,.ion-ios-toggle-outline:before,.ion-ios-trash:before,.ion-ios-trash-outline:before,.ion-ios-undo:before,.ion-ios-undo-outline:before,.ion-ios-unlocked:before,.ion-ios-unlocked-outline:before,.ion-ios-upload:before,.ion-ios-upload-outline:before,.ion-ios-videocam:before,.ion-ios-videocam-outline:before,.ion-ios-volume-high:before,.ion-ios-volume-low:before,.ion-ios-wineglass:before,.ion-ios-wineglass-outline:before,.ion-ios-world:before,.ion-ios-world-outline:before,.ion-ipad:before,.ion-iphone:before,.ion-ipod:before,.ion-jet:before,.ion-key:before,.ion-knife:before,.ion-laptop:before,.ion-leaf:before,.ion-levels:before,.ion-lightbulb:before,.ion-link:before,.ion-load-a:before,.ion-load-b:before,.ion-load-c:before,.ion-load-d:before,.ion-location:before,.ion-lock-combination:before,.ion-locked:before,.ion-log-in:before,.ion-log-out:before,.ion-loop:before,.ion-magnet:before,.ion-male:before,.ion-man:before,.ion-map:before,.ion-medkit:before,.ion-merge:before,.ion-mic-a:before,.ion-mic-b:before,.ion-mic-c:before,.ion-minus:before,.ion-minus-circled:before,.ion-minus-round:before,.ion-model-s:before,.ion-monitor:before,.ion-more:before,.ion-mouse:before,.ion-music-note:before,.ion-navicon:before,.ion-navicon-round:before,.ion-navigate:before,.ion-network:before,.ion-no-smoking:before,.ion-nuclear:before,.ion-outlet:before,.ion-paintbrush:before,.ion-paintbucket:before,.ion-paper-airplane:before,.ion-paperclip:before,.ion-pause:before,.ion-person:before,.ion-person-add:before,.ion-person-stalker:before,.ion-pie-graph:before,.ion-pin:before,.ion-pinpoint:before,.ion-pizza:before,.ion-plane:before,.ion-planet:before,.ion-play:before,.ion-playstation:before,.ion-plus:before,.ion-plus-circled:before,.ion-plus-round:before,.ion-podium:before,.ion-pound:before,.ion-power:before,.ion-pricetag:before,.ion-pricetags:before,.ion-printer:before,.ion-pull-request:before,.ion-qr-scanner:before,.ion-quote:before,.ion-radio-waves:before,.ion-record:before,.ion-refresh:before,.ion-reply:before,.ion-reply-all:before,.ion-ribbon-a:before,.ion-ribbon-b:before,.ion-sad:before,.ion-sad-outline:before,.ion-scissors:before,.ion-search:before,.ion-settings:before,.ion-share:before,.ion-shuffle:before,.ion-skip-backward:before,.ion-skip-forward:before,.ion-social-android:before,.ion-social-android-outline:before,.ion-social-angular:before,.ion-social-angular-outline:before,.ion-social-apple:before,.ion-social-apple-outline:before,.ion-social-bitcoin:before,.ion-social-bitcoin-outline:before,.ion-social-buffer:before,.ion-social-buffer-outline:before,.ion-social-chrome:before,.ion-social-chrome-outline:before,.ion-social-codepen:before,.ion-social-codepen-outline:before,.ion-social-css3:before,.ion-social-css3-outline:before,.ion-social-designernews:before,.ion-social-designernews-outline:before,.ion-social-dribbble:before,.ion-social-dribbble-outline:before,.ion-social-dropbox:before,.ion-social-dropbox-outline:before,.ion-social-euro:before,.ion-social-euro-outline:before,.ion-social-facebook:before,.ion-social-facebook-outline:before,.ion-social-foursquare:before,.ion-social-foursquare-outline:before,.ion-social-freebsd-devil:before,.ion-social-github:before,.ion-social-github-outline:before,.ion-social-google:before,.ion-social-google-outline:before,.ion-social-googleplus:before,.ion-social-googleplus-outline:before,.ion-social-hackernews:before,.ion-social-hackernews-outline:before,.ion-social-html5:before,.ion-social-html5-outline:before,.ion-social-instagram:before,.ion-social-instagram-outline:before,.ion-social-javascript:before,.ion-social-javascript-outline:before,.ion-social-linkedin:before,.ion-social-linkedin-outline:before,.ion-social-markdown:before,.ion-social-nodejs:before,.ion-social-octocat:before,.ion-social-pinterest:before,.ion-social-pinterest-outline:before,.ion-social-python:before,.ion-social-reddit:before,.ion-social-reddit-outline:before,.ion-social-rss:before,.ion-social-rss-outline:before,.ion-social-sass:before,.ion-social-skype:before,.ion-social-skype-outline:before,.ion-social-snapchat:before,.ion-social-snapchat-outline:before,.ion-social-tumblr:before,.ion-social-tumblr-outline:before,.ion-social-tux:before,.ion-social-twitch:before,.ion-social-twitch-outline:before,.ion-social-twitter:before,.ion-social-twitter-outline:before,.ion-social-usd:before,.ion-social-usd-outline:before,.ion-social-vimeo:before,.ion-social-vimeo-outline:before,.ion-social-whatsapp:before,.ion-social-whatsapp-outline:before,.ion-social-windows:before,.ion-social-windows-outline:before,.ion-social-wordpress:before,.ion-social-wordpress-outline:before,.ion-social-yahoo:before,.ion-social-yahoo-outline:before,.ion-social-yen:before,.ion-social-yen-outline:before,.ion-social-youtube:before,.ion-social-youtube-outline:before,.ion-soup-can:before,.ion-soup-can-outline:before,.ion-speakerphone:before,.ion-speedometer:before,.ion-spoon:before,.ion-star:before,.ion-stats-bars:before,.ion-steam:before,.ion-stop:before,.ion-thermometer:before,.ion-thumbsdown:before,.ion-thumbsup:before,.ion-toggle:before,.ion-toggle-filled:before,.ion-transgender:before,.ion-trash-a:before,.ion-trash-b:before,.ion-trophy:before,.ion-tshirt:before,.ion-tshirt-outline:before,.ion-umbrella:before,.ion-university:before,.ion-unlocked:before,.ion-upload:before,.ion-usb:before,.ion-videocamera:before,.ion-volume-high:before,.ion-volume-low:before,.ion-volume-medium:before,.ion-volume-mute:before,.ion-wand:before,.ion-waterdrop:before,.ion-wifi:before,.ion-wineglass:before,.ion-woman:before,.ion-wrench:before,.ion-xbox:before{display:inline-block;font-family:"Ionicons";speak:none;font-style:normal;font-weight:normal;font-variant:normal;text-transform:none;text-rendering:auto;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.ion-alert:before{content:"\f101"}.ion-alert-circled:before{content:"\f100"}.ion-android-add:before{content:"\f2c7"}.ion-android-add-circle:before{content:"\f359"}.ion-android-alarm-clock:before{content:"\f35a"}.ion-android-alert:before{content:"\f35b"}.ion-android-apps:before{content:"\f35c"}.ion-android-archive:before{content:"\f2c9"}.ion-android-arrow-back:before{content:"\f2ca"}.ion-android-arrow-down:before{content:"\f35d"}.ion-android-arrow-dropdown:before{content:"\f35f"}.ion-android-arrow-dropdown-circle:before{content:"\f35e"}.ion-android-arrow-dropleft:before{content:"\f361"}.ion-android-arrow-dropleft-circle:before{content:"\f360"}.ion-android-arrow-dropright:before{content:"\f363"}.ion-android-arrow-dropright-circle:before{content:"\f362"}.ion-android-arrow-dropup:before{content:"\f365"}.ion-android-arrow-dropup-circle:before{content:"\f364"}.ion-android-arrow-forward:before{content:"\f30f"}.ion-android-arrow-up:before{content:"\f366"}.ion-android-attach:before{content:"\f367"}.ion-android-bar:before{content:"\f368"}.ion-android-bicycle:before{content:"\f369"}.ion-android-boat:before{content:"\f36a"}.ion-android-bookmark:before{content:"\f36b"}.ion-android-bulb:before{content:"\f36c"}.ion-android-bus:before{content:"\f36d"}.ion-android-calendar:before{content:"\f2d1"}.ion-android-call:before{content:"\f2d2"}.ion-android-camera:before{content:"\f2d3"}.ion-android-cancel:before{content:"\f36e"}.ion-android-car:before{content:"\f36f"}.ion-android-cart:before{content:"\f370"}.ion-android-chat:before{content:"\f2d4"}.ion-android-checkbox:before{content:"\f374"}.ion-android-checkbox-blank:before{content:"\f371"}.ion-android-checkbox-outline:before{content:"\f373"}.ion-android-checkbox-outline-blank:before{content:"\f372"}.ion-android-checkmark-circle:before{content:"\f375"}.ion-android-clipboard:before{content:"\f376"}.ion-android-close:before{content:"\f2d7"}.ion-android-cloud:before{content:"\f37a"}.ion-android-cloud-circle:before{content:"\f377"}.ion-android-cloud-done:before{content:"\f378"}.ion-android-cloud-outline:before{content:"\f379"}.ion-android-color-palette:before{content:"\f37b"}.ion-android-compass:before{content:"\f37c"}.ion-android-contact:before{content:"\f2d8"}.ion-android-contacts:before{content:"\f2d9"}.ion-android-contract:before{content:"\f37d"}.ion-android-create:before{content:"\f37e"}.ion-android-delete:before{content:"\f37f"}.ion-android-desktop:before{content:"\f380"}.ion-android-document:before{content:"\f381"}.ion-android-done:before{content:"\f383"}.ion-android-done-all:before{content:"\f382"}.ion-android-download:before{content:"\f2dd"}.ion-android-drafts:before{content:"\f384"}.ion-android-exit:before{content:"\f385"}.ion-android-expand:before{content:"\f386"}.ion-android-favorite:before{content:"\f388"}.ion-android-favorite-outline:before{content:"\f387"}.ion-android-film:before{content:"\f389"}.ion-android-folder:before{content:"\f2e0"}.ion-android-folder-open:before{content:"\f38a"}.ion-android-funnel:before{content:"\f38b"}.ion-android-globe:before{content:"\f38c"}.ion-android-hand:before{content:"\f2e3"}.ion-android-hangout:before{content:"\f38d"}.ion-android-happy:before{content:"\f38e"}.ion-android-home:before{content:"\f38f"}.ion-android-image:before{content:"\f2e4"}.ion-android-laptop:before{content:"\f390"}.ion-android-list:before{content:"\f391"}.ion-android-locate:before{content:"\f2e9"}.ion-android-lock:before{content:"\f392"}.ion-android-mail:before{content:"\f2eb"}.ion-android-map:before{content:"\f393"}.ion-android-menu:before{content:"\f394"}.ion-android-microphone:before{content:"\f2ec"}.ion-android-microphone-off:before{content:"\f395"}.ion-android-more-horizontal:before{content:"\f396"}.ion-android-more-vertical:before{content:"\f397"}.ion-android-navigate:before{content:"\f398"}.ion-android-notifications:before{content:"\f39b"}.ion-android-notifications-none:before{content:"\f399"}.ion-android-notifications-off:before{content:"\f39a"}.ion-android-open:before{content:"\f39c"}.ion-android-options:before{content:"\f39d"}.ion-android-people:before{content:"\f39e"}.ion-android-person:before{content:"\f3a0"}.ion-android-person-add:before{content:"\f39f"}.ion-android-phone-landscape:before{content:"\f3a1"}.ion-android-phone-portrait:before{content:"\f3a2"}.ion-android-pin:before{content:"\f3a3"}.ion-android-plane:before{content:"\f3a4"}.ion-android-playstore:before{content:"\f2f0"}.ion-android-print:before{content:"\f3a5"}.ion-android-radio-button-off:before{content:"\f3a6"}.ion-android-radio-button-on:before{content:"\f3a7"}.ion-android-refresh:before{content:"\f3a8"}.ion-android-remove:before{content:"\f2f4"}.ion-android-remove-circle:before{content:"\f3a9"}.ion-android-restaurant:before{content:"\f3aa"}.ion-android-sad:before{content:"\f3ab"}.ion-android-search:before{content:"\f2f5"}.ion-android-send:before{content:"\f2f6"}.ion-android-settings:before{content:"\f2f7"}.ion-android-share:before{content:"\f2f8"}.ion-android-share-alt:before{content:"\f3ac"}.ion-android-star:before{content:"\f2fc"}.ion-android-star-half:before{content:"\f3ad"}.ion-android-star-outline:before{content:"\f3ae"}.ion-android-stopwatch:before{content:"\f2fd"}.ion-android-subway:before{content:"\f3af"}.ion-android-sunny:before{content:"\f3b0"}.ion-android-sync:before{content:"\f3b1"}.ion-android-textsms:before{content:"\f3b2"}.ion-android-time:before{content:"\f3b3"}.ion-android-train:before{content:"\f3b4"}.ion-android-unlock:before{content:"\f3b5"}.ion-android-upload:before{content:"\f3b6"}.ion-android-volume-down:before{content:"\f3b7"}.ion-android-volume-mute:before{content:"\f3b8"}.ion-android-volume-off:before{content:"\f3b9"}.ion-android-volume-up:before{content:"\f3ba"}.ion-android-walk:before{content:"\f3bb"}.ion-android-warning:before{content:"\f3bc"}.ion-android-watch:before{content:"\f3bd"}.ion-android-wifi:before{content:"\f305"}.ion-aperture:before{content:"\f313"}.ion-archive:before{content:"\f102"}.ion-arrow-down-a:before{content:"\f103"}.ion-arrow-down-b:before{content:"\f104"}.ion-arrow-down-c:before{content:"\f105"}.ion-arrow-expand:before{content:"\f25e"}.ion-arrow-graph-down-left:before{content:"\f25f"}.ion-arrow-graph-down-right:before{content:"\f260"}.ion-arrow-graph-up-left:before{content:"\f261"}.ion-arrow-graph-up-right:before{content:"\f262"}.ion-arrow-left-a:before{content:"\f106"}.ion-arrow-left-b:before{content:"\f107"}.ion-arrow-left-c:before{content:"\f108"}.ion-arrow-move:before{content:"\f263"}.ion-arrow-resize:before{content:"\f264"}.ion-arrow-return-left:before{content:"\f265"}.ion-arrow-return-right:before{content:"\f266"}.ion-arrow-right-a:before{content:"\f109"}.ion-arrow-right-b:before{content:"\f10a"}.ion-arrow-right-c:before{content:"\f10b"}.ion-arrow-shrink:before{content:"\f267"}.ion-arrow-swap:before{content:"\f268"}.ion-arrow-up-a:before{content:"\f10c"}.ion-arrow-up-b:before{content:"\f10d"}.ion-arrow-up-c:before{content:"\f10e"}.ion-asterisk:before{content:"\f314"}.ion-at:before{content:"\f10f"}.ion-backspace:before{content:"\f3bf"}.ion-backspace-outline:before{content:"\f3be"}.ion-bag:before{content:"\f110"}.ion-battery-charging:before{content:"\f111"}.ion-battery-empty:before{content:"\f112"}.ion-battery-full:before{content:"\f113"}.ion-battery-half:before{content:"\f114"}.ion-battery-low:before{content:"\f115"}.ion-beaker:before{content:"\f269"}.ion-beer:before{content:"\f26a"}.ion-bluetooth:before{content:"\f116"}.ion-bonfire:before{content:"\f315"}.ion-bookmark:before{content:"\f26b"}.ion-bowtie:before{content:"\f3c0"}.ion-briefcase:before{content:"\f26c"}.ion-bug:before{content:"\f2be"}.ion-calculator:before{content:"\f26d"}.ion-calendar:before{content:"\f117"}.ion-camera:before{content:"\f118"}.ion-card:before{content:"\f119"}.ion-cash:before{content:"\f316"}.ion-chatbox:before{content:"\f11b"}.ion-chatbox-working:before{content:"\f11a"}.ion-chatboxes:before{content:"\f11c"}.ion-chatbubble:before{content:"\f11e"}.ion-chatbubble-working:before{content:"\f11d"}.ion-chatbubbles:before{content:"\f11f"}.ion-checkmark:before{content:"\f122"}.ion-checkmark-circled:before{content:"\f120"}.ion-checkmark-round:before{content:"\f121"}.ion-chevron-down:before{content:"\f123"}.ion-chevron-left:before{content:"\f124"}.ion-chevron-right:before{content:"\f125"}.ion-chevron-up:before{content:"\f126"}.ion-clipboard:before{content:"\f127"}.ion-clock:before{content:"\f26e"}.ion-close:before{content:"\f12a"}.ion-close-circled:before{content:"\f128"}.ion-close-round:before{content:"\f129"}.ion-closed-captioning:before{content:"\f317"}.ion-cloud:before{content:"\f12b"}.ion-code:before{content:"\f271"}.ion-code-download:before{content:"\f26f"}.ion-code-working:before{content:"\f270"}.ion-coffee:before{content:"\f272"}.ion-compass:before{content:"\f273"}.ion-compose:before{content:"\f12c"}.ion-connection-bars:before{content:"\f274"}.ion-contrast:before{content:"\f275"}.ion-crop:before{content:"\f3c1"}.ion-cube:before{content:"\f318"}.ion-disc:before{content:"\f12d"}.ion-document:before{content:"\f12f"}.ion-document-text:before{content:"\f12e"}.ion-drag:before{content:"\f130"}.ion-earth:before{content:"\f276"}.ion-easel:before{content:"\f3c2"}.ion-edit:before{content:"\f2bf"}.ion-egg:before{content:"\f277"}.ion-eject:before{content:"\f131"}.ion-email:before{content:"\f132"}.ion-email-unread:before{content:"\f3c3"}.ion-erlenmeyer-flask:before{content:"\f3c5"}.ion-erlenmeyer-flask-bubbles:before{content:"\f3c4"}.ion-eye:before{content:"\f133"}.ion-eye-disabled:before{content:"\f306"}.ion-female:before{content:"\f278"}.ion-filing:before{content:"\f134"}.ion-film-marker:before{content:"\f135"}.ion-fireball:before{content:"\f319"}.ion-flag:before{content:"\f279"}.ion-flame:before{content:"\f31a"}.ion-flash:before{content:"\f137"}.ion-flash-off:before{content:"\f136"}.ion-folder:before{content:"\f139"}.ion-fork:before{content:"\f27a"}.ion-fork-repo:before{content:"\f2c0"}.ion-forward:before{content:"\f13a"}.ion-funnel:before{content:"\f31b"}.ion-gear-a:before{content:"\f13d"}.ion-gear-b:before{content:"\f13e"}.ion-grid:before{content:"\f13f"}.ion-hammer:before{content:"\f27b"}.ion-happy:before{content:"\f31c"}.ion-happy-outline:before{content:"\f3c6"}.ion-headphone:before{content:"\f140"}.ion-heart:before{content:"\f141"}.ion-heart-broken:before{content:"\f31d"}.ion-help:before{content:"\f143"}.ion-help-buoy:before{content:"\f27c"}.ion-help-circled:before{content:"\f142"}.ion-home:before{content:"\f144"}.ion-icecream:before{content:"\f27d"}.ion-image:before{content:"\f147"}.ion-images:before{content:"\f148"}.ion-information:before{content:"\f14a"}.ion-information-circled:before{content:"\f149"}.ion-ionic:before{content:"\f14b"}.ion-ios-alarm:before{content:"\f3c8"}.ion-ios-alarm-outline:before{content:"\f3c7"}.ion-ios-albums:before{content:"\f3ca"}.ion-ios-albums-outline:before{content:"\f3c9"}.ion-ios-americanfootball:before{content:"\f3cc"}.ion-ios-americanfootball-outline:before{content:"\f3cb"}.ion-ios-analytics:before{content:"\f3ce"}.ion-ios-analytics-outline:before{content:"\f3cd"}.ion-ios-arrow-back:before{content:"\f3cf"}.ion-ios-arrow-down:before{content:"\f3d0"}.ion-ios-arrow-forward:before{content:"\f3d1"}.ion-ios-arrow-left:before{content:"\f3d2"}.ion-ios-arrow-right:before{content:"\f3d3"}.ion-ios-arrow-thin-down:before{content:"\f3d4"}.ion-ios-arrow-thin-left:before{content:"\f3d5"}.ion-ios-arrow-thin-right:before{content:"\f3d6"}.ion-ios-arrow-thin-up:before{content:"\f3d7"}.ion-ios-arrow-up:before{content:"\f3d8"}.ion-ios-at:before{content:"\f3da"}.ion-ios-at-outline:before{content:"\f3d9"}.ion-ios-barcode:before{content:"\f3dc"}.ion-ios-barcode-outline:before{content:"\f3db"}.ion-ios-baseball:before{content:"\f3de"}.ion-ios-baseball-outline:before{content:"\f3dd"}.ion-ios-basketball:before{content:"\f3e0"}.ion-ios-basketball-outline:before{content:"\f3df"}.ion-ios-bell:before{content:"\f3e2"}.ion-ios-bell-outline:before{content:"\f3e1"}.ion-ios-body:before{content:"\f3e4"}.ion-ios-body-outline:before{content:"\f3e3"}.ion-ios-bolt:before{content:"\f3e6"}.ion-ios-bolt-outline:before{content:"\f3e5"}.ion-ios-book:before{content:"\f3e8"}.ion-ios-book-outline:before{content:"\f3e7"}.ion-ios-bookmarks:before{content:"\f3ea"}.ion-ios-bookmarks-outline:before{content:"\f3e9"}.ion-ios-box:before{content:"\f3ec"}.ion-ios-box-outline:before{content:"\f3eb"}.ion-ios-briefcase:before{content:"\f3ee"}.ion-ios-briefcase-outline:before{content:"\f3ed"}.ion-ios-browsers:before{content:"\f3f0"}.ion-ios-browsers-outline:before{content:"\f3ef"}.ion-ios-calculator:before{content:"\f3f2"}.ion-ios-calculator-outline:before{content:"\f3f1"}.ion-ios-calendar:before{content:"\f3f4"}.ion-ios-calendar-outline:before{content:"\f3f3"}.ion-ios-camera:before{content:"\f3f6"}.ion-ios-camera-outline:before{content:"\f3f5"}.ion-ios-cart:before{content:"\f3f8"}.ion-ios-cart-outline:before{content:"\f3f7"}.ion-ios-chatboxes:before{content:"\f3fa"}.ion-ios-chatboxes-outline:before{content:"\f3f9"}.ion-ios-chatbubble:before{content:"\f3fc"}.ion-ios-chatbubble-outline:before{content:"\f3fb"}.ion-ios-checkmark:before{content:"\f3ff"}.ion-ios-checkmark-empty:before{content:"\f3fd"}.ion-ios-checkmark-outline:before{content:"\f3fe"}.ion-ios-circle-filled:before{content:"\f400"}.ion-ios-circle-outline:before{content:"\f401"}.ion-ios-clock:before{content:"\f403"}.ion-ios-clock-outline:before{content:"\f402"}.ion-ios-close:before{content:"\f406"}.ion-ios-close-empty:before{content:"\f404"}.ion-ios-close-outline:before{content:"\f405"}.ion-ios-cloud:before{content:"\f40c"}.ion-ios-cloud-download:before{content:"\f408"}.ion-ios-cloud-download-outline:before{content:"\f407"}.ion-ios-cloud-outline:before{content:"\f409"}.ion-ios-cloud-upload:before{content:"\f40b"}.ion-ios-cloud-upload-outline:before{content:"\f40a"}.ion-ios-cloudy:before{content:"\f410"}.ion-ios-cloudy-night:before{content:"\f40e"}.ion-ios-cloudy-night-outline:before{content:"\f40d"}.ion-ios-cloudy-outline:before{content:"\f40f"}.ion-ios-cog:before{content:"\f412"}.ion-ios-cog-outline:before{content:"\f411"}.ion-ios-color-filter:before{content:"\f414"}.ion-ios-color-filter-outline:before{content:"\f413"}.ion-ios-color-wand:before{content:"\f416"}.ion-ios-color-wand-outline:before{content:"\f415"}.ion-ios-compose:before{content:"\f418"}.ion-ios-compose-outline:before{content:"\f417"}.ion-ios-contact:before{content:"\f41a"}.ion-ios-contact-outline:before{content:"\f419"}.ion-ios-copy:before{content:"\f41c"}.ion-ios-copy-outline:before{content:"\f41b"}.ion-ios-crop:before{content:"\f41e"}.ion-ios-crop-strong:before{content:"\f41d"}.ion-ios-download:before{content:"\f420"}.ion-ios-download-outline:before{content:"\f41f"}.ion-ios-drag:before{content:"\f421"}.ion-ios-email:before{content:"\f423"}.ion-ios-email-outline:before{content:"\f422"}.ion-ios-eye:before{content:"\f425"}.ion-ios-eye-outline:before{content:"\f424"}.ion-ios-fastforward:before{content:"\f427"}.ion-ios-fastforward-outline:before{content:"\f426"}.ion-ios-filing:before{content:"\f429"}.ion-ios-filing-outline:before{content:"\f428"}.ion-ios-film:before{content:"\f42b"}.ion-ios-film-outline:before{content:"\f42a"}.ion-ios-flag:before{content:"\f42d"}.ion-ios-flag-outline:before{content:"\f42c"}.ion-ios-flame:before{content:"\f42f"}.ion-ios-flame-outline:before{content:"\f42e"}.ion-ios-flask:before{content:"\f431"}.ion-ios-flask-outline:before{content:"\f430"}.ion-ios-flower:before{content:"\f433"}.ion-ios-flower-outline:before{content:"\f432"}.ion-ios-folder:before{content:"\f435"}.ion-ios-folder-outline:before{content:"\f434"}.ion-ios-football:before{content:"\f437"}.ion-ios-football-outline:before{content:"\f436"}.ion-ios-game-controller-a:before{content:"\f439"}.ion-ios-game-controller-a-outline:before{content:"\f438"}.ion-ios-game-controller-b:before{content:"\f43b"}.ion-ios-game-controller-b-outline:before{content:"\f43a"}.ion-ios-gear:before{content:"\f43d"}.ion-ios-gear-outline:before{content:"\f43c"}.ion-ios-glasses:before{content:"\f43f"}.ion-ios-glasses-outline:before{content:"\f43e"}.ion-ios-grid-view:before{content:"\f441"}.ion-ios-grid-view-outline:before{content:"\f440"}.ion-ios-heart:before{content:"\f443"}.ion-ios-heart-outline:before{content:"\f442"}.ion-ios-help:before{content:"\f446"}.ion-ios-help-empty:before{content:"\f444"}.ion-ios-help-outline:before{content:"\f445"}.ion-ios-home:before{content:"\f448"}.ion-ios-home-outline:before{content:"\f447"}.ion-ios-infinite:before{content:"\f44a"}.ion-ios-infinite-outline:before{content:"\f449"}.ion-ios-information:before{content:"\f44d"}.ion-ios-information-empty:before{content:"\f44b"}.ion-ios-information-outline:before{content:"\f44c"}.ion-ios-ionic-outline:before{content:"\f44e"}.ion-ios-keypad:before{content:"\f450"}.ion-ios-keypad-outline:before{content:"\f44f"}.ion-ios-lightbulb:before{content:"\f452"}.ion-ios-lightbulb-outline:before{content:"\f451"}.ion-ios-list:before{content:"\f454"}.ion-ios-list-outline:before{content:"\f453"}.ion-ios-location:before{content:"\f456"}.ion-ios-location-outline:before{content:"\f455"}.ion-ios-locked:before{content:"\f458"}.ion-ios-locked-outline:before{content:"\f457"}.ion-ios-loop:before{content:"\f45a"}.ion-ios-loop-strong:before{content:"\f459"}.ion-ios-medical:before{content:"\f45c"}.ion-ios-medical-outline:before{content:"\f45b"}.ion-ios-medkit:before{content:"\f45e"}.ion-ios-medkit-outline:before{content:"\f45d"}.ion-ios-mic:before{content:"\f461"}.ion-ios-mic-off:before{content:"\f45f"}.ion-ios-mic-outline:before{content:"\f460"}.ion-ios-minus:before{content:"\f464"}.ion-ios-minus-empty:before{content:"\f462"}.ion-ios-minus-outline:before{content:"\f463"}.ion-ios-monitor:before{content:"\f466"}.ion-ios-monitor-outline:before{content:"\f465"}.ion-ios-moon:before{content:"\f468"}.ion-ios-moon-outline:before{content:"\f467"}.ion-ios-more:before{content:"\f46a"}.ion-ios-more-outline:before{content:"\f469"}.ion-ios-musical-note:before{content:"\f46b"}.ion-ios-musical-notes:before{content:"\f46c"}.ion-ios-navigate:before{content:"\f46e"}.ion-ios-navigate-outline:before{content:"\f46d"}.ion-ios-nutrition:before{content:"\f470"}.ion-ios-nutrition-outline:before{content:"\f46f"}.ion-ios-paper:before{content:"\f472"}.ion-ios-paper-outline:before{content:"\f471"}.ion-ios-paperplane:before{content:"\f474"}.ion-ios-paperplane-outline:before{content:"\f473"}.ion-ios-partlysunny:before{content:"\f476"}.ion-ios-partlysunny-outline:before{content:"\f475"}.ion-ios-pause:before{content:"\f478"}.ion-ios-pause-outline:before{content:"\f477"}.ion-ios-paw:before{content:"\f47a"}.ion-ios-paw-outline:before{content:"\f479"}.ion-ios-people:before{content:"\f47c"}.ion-ios-people-outline:before{content:"\f47b"}.ion-ios-person:before{content:"\f47e"}.ion-ios-person-outline:before{content:"\f47d"}.ion-ios-personadd:before{content:"\f480"}.ion-ios-personadd-outline:before{content:"\f47f"}.ion-ios-photos:before{content:"\f482"}.ion-ios-photos-outline:before{content:"\f481"}.ion-ios-pie:before{content:"\f484"}.ion-ios-pie-outline:before{content:"\f483"}.ion-ios-pint:before{content:"\f486"}.ion-ios-pint-outline:before{content:"\f485"}.ion-ios-play:before{content:"\f488"}.ion-ios-play-outline:before{content:"\f487"}.ion-ios-plus:before{content:"\f48b"}.ion-ios-plus-empty:before{content:"\f489"}.ion-ios-plus-outline:before{content:"\f48a"}.ion-ios-pricetag:before{content:"\f48d"}.ion-ios-pricetag-outline:before{content:"\f48c"}.ion-ios-pricetags:before{content:"\f48f"}.ion-ios-pricetags-outline:before{content:"\f48e"}.ion-ios-printer:before{content:"\f491"}.ion-ios-printer-outline:before{content:"\f490"}.ion-ios-pulse:before{content:"\f493"}.ion-ios-pulse-strong:before{content:"\f492"}.ion-ios-rainy:before{content:"\f495"}.ion-ios-rainy-outline:before{content:"\f494"}.ion-ios-recording:before{content:"\f497"}.ion-ios-recording-outline:before{content:"\f496"}.ion-ios-redo:before{content:"\f499"}.ion-ios-redo-outline:before{content:"\f498"}.ion-ios-refresh:before{content:"\f49c"}.ion-ios-refresh-empty:before{content:"\f49a"}.ion-ios-refresh-outline:before{content:"\f49b"}.ion-ios-reload:before{content:"\f49d"}.ion-ios-reverse-camera:before{content:"\f49f"}.ion-ios-reverse-camera-outline:before{content:"\f49e"}.ion-ios-rewind:before{content:"\f4a1"}.ion-ios-rewind-outline:before{content:"\f4a0"}.ion-ios-rose:before{content:"\f4a3"}.ion-ios-rose-outline:before{content:"\f4a2"}.ion-ios-search:before{content:"\f4a5"}.ion-ios-search-strong:before{content:"\f4a4"}.ion-ios-settings:before{content:"\f4a7"}.ion-ios-settings-strong:before{content:"\f4a6"}.ion-ios-shuffle:before{content:"\f4a9"}.ion-ios-shuffle-strong:before{content:"\f4a8"}.ion-ios-skipbackward:before{content:"\f4ab"}.ion-ios-skipbackward-outline:before{content:"\f4aa"}.ion-ios-skipforward:before{content:"\f4ad"}.ion-ios-skipforward-outline:before{content:"\f4ac"}.ion-ios-snowy:before{content:"\f4ae"}.ion-ios-speedometer:before{content:"\f4b0"}.ion-ios-speedometer-outline:before{content:"\f4af"}.ion-ios-star:before{content:"\f4b3"}.ion-ios-star-half:before{content:"\f4b1"}.ion-ios-star-outline:before{content:"\f4b2"}.ion-ios-stopwatch:before{content:"\f4b5"}.ion-ios-stopwatch-outline:before{content:"\f4b4"}.ion-ios-sunny:before{content:"\f4b7"}.ion-ios-sunny-outline:before{content:"\f4b6"}.ion-ios-telephone:before{content:"\f4b9"}.ion-ios-telephone-outline:before{content:"\f4b8"}.ion-ios-tennisball:before{content:"\f4bb"}.ion-ios-tennisball-outline:before{content:"\f4ba"}.ion-ios-thunderstorm:before{content:"\f4bd"}.ion-ios-thunderstorm-outline:before{content:"\f4bc"}.ion-ios-time:before{content:"\f4bf"}.ion-ios-time-outline:before{content:"\f4be"}.ion-ios-timer:before{content:"\f4c1"}.ion-ios-timer-outline:before{content:"\f4c0"}.ion-ios-toggle:before{content:"\f4c3"}.ion-ios-toggle-outline:before{content:"\f4c2"}.ion-ios-trash:before{content:"\f4c5"}.ion-ios-trash-outline:before{content:"\f4c4"}.ion-ios-undo:before{content:"\f4c7"}.ion-ios-undo-outline:before{content:"\f4c6"}.ion-ios-unlocked:before{content:"\f4c9"}.ion-ios-unlocked-outline:before{content:"\f4c8"}.ion-ios-upload:before{content:"\f4cb"}.ion-ios-upload-outline:before{content:"\f4ca"}.ion-ios-videocam:before{content:"\f4cd"}.ion-ios-videocam-outline:before{content:"\f4cc"}.ion-ios-volume-high:before{content:"\f4ce"}.ion-ios-volume-low:before{content:"\f4cf"}.ion-ios-wineglass:before{content:"\f4d1"}.ion-ios-wineglass-outline:before{content:"\f4d0"}.ion-ios-world:before{content:"\f4d3"}.ion-ios-world-outline:before{content:"\f4d2"}.ion-ipad:before{content:"\f1f9"}.ion-iphone:before{content:"\f1fa"}.ion-ipod:before{content:"\f1fb"}.ion-jet:before{content:"\f295"}.ion-key:before{content:"\f296"}.ion-knife:before{content:"\f297"}.ion-laptop:before{content:"\f1fc"}.ion-leaf:before{content:"\f1fd"}.ion-levels:before{content:"\f298"}.ion-lightbulb:before{content:"\f299"}.ion-link:before{content:"\f1fe"}.ion-load-a:before{content:"\f29a"}.ion-load-b:before{content:"\f29b"}.ion-load-c:before{content:"\f29c"}.ion-load-d:before{content:"\f29d"}.ion-location:before{content:"\f1ff"}.ion-lock-combination:before{content:"\f4d4"}.ion-locked:before{content:"\f200"}.ion-log-in:before{content:"\f29e"}.ion-log-out:before{content:"\f29f"}.ion-loop:before{content:"\f201"}.ion-magnet:before{content:"\f2a0"}.ion-male:before{content:"\f2a1"}.ion-man:before{content:"\f202"}.ion-map:before{content:"\f203"}.ion-medkit:before{content:"\f2a2"}.ion-merge:before{content:"\f33f"}.ion-mic-a:before{content:"\f204"}.ion-mic-b:before{content:"\f205"}.ion-mic-c:before{content:"\f206"}.ion-minus:before{content:"\f209"}.ion-minus-circled:before{content:"\f207"}.ion-minus-round:before{content:"\f208"}.ion-model-s:before{content:"\f2c1"}.ion-monitor:before{content:"\f20a"}.ion-more:before{content:"\f20b"}.ion-mouse:before{content:"\f340"}.ion-music-note:before{content:"\f20c"}.ion-navicon:before{content:"\f20e"}.ion-navicon-round:before{content:"\f20d"}.ion-navigate:before{content:"\f2a3"}.ion-network:before{content:"\f341"}.ion-no-smoking:before{content:"\f2c2"}.ion-nuclear:before{content:"\f2a4"}.ion-outlet:before{content:"\f342"}.ion-paintbrush:before{content:"\f4d5"}.ion-paintbucket:before{content:"\f4d6"}.ion-paper-airplane:before{content:"\f2c3"}.ion-paperclip:before{content:"\f20f"}.ion-pause:before{content:"\f210"}.ion-person:before{content:"\f213"}.ion-person-add:before{content:"\f211"}.ion-person-stalker:before{content:"\f212"}.ion-pie-graph:before{content:"\f2a5"}.ion-pin:before{content:"\f2a6"}.ion-pinpoint:before{content:"\f2a7"}.ion-pizza:before{content:"\f2a8"}.ion-plane:before{content:"\f214"}.ion-planet:before{content:"\f343"}.ion-play:before{content:"\f215"}.ion-playstation:before{content:"\f30a"}.ion-plus:before{content:"\f218"}.ion-plus-circled:before{content:"\f216"}.ion-plus-round:before{content:"\f217"}.ion-podium:before{content:"\f344"}.ion-pound:before{content:"\f219"}.ion-power:before{content:"\f2a9"}.ion-pricetag:before{content:"\f2aa"}.ion-pricetags:before{content:"\f2ab"}.ion-printer:before{content:"\f21a"}.ion-pull-request:before{content:"\f345"}.ion-qr-scanner:before{content:"\f346"}.ion-quote:before{content:"\f347"}.ion-radio-waves:before{content:"\f2ac"}.ion-record:before{content:"\f21b"}.ion-refresh:before{content:"\f21c"}.ion-reply:before{content:"\f21e"}.ion-reply-all:before{content:"\f21d"}.ion-ribbon-a:before{content:"\f348"}.ion-ribbon-b:before{content:"\f349"}.ion-sad:before{content:"\f34a"}.ion-sad-outline:before{content:"\f4d7"}.ion-scissors:before{content:"\f34b"}.ion-search:before{content:"\f21f"}.ion-settings:before{content:"\f2ad"}.ion-share:before{content:"\f220"}.ion-shuffle:before{content:"\f221"}.ion-skip-backward:before{content:"\f222"}.ion-skip-forward:before{content:"\f223"}.ion-social-android:before{content:"\f225"}.ion-social-android-outline:before{content:"\f224"}.ion-social-angular:before{content:"\f4d9"}.ion-social-angular-outline:before{content:"\f4d8"}.ion-social-apple:before{content:"\f227"}.ion-social-apple-outline:before{content:"\f226"}.ion-social-bitcoin:before{content:"\f2af"}.ion-social-bitcoin-outline:before{content:"\f2ae"}.ion-social-buffer:before{content:"\f229"}.ion-social-buffer-outline:before{content:"\f228"}.ion-social-chrome:before{content:"\f4db"}.ion-social-chrome-outline:before{content:"\f4da"}.ion-social-codepen:before{content:"\f4dd"}.ion-social-codepen-outline:before{content:"\f4dc"}.ion-social-css3:before{content:"\f4df"}.ion-social-css3-outline:before{content:"\f4de"}.ion-social-designernews:before{content:"\f22b"}.ion-social-designernews-outline:before{content:"\f22a"}.ion-social-dribbble:before{content:"\f22d"}.ion-social-dribbble-outline:before{content:"\f22c"}.ion-social-dropbox:before{content:"\f22f"}.ion-social-dropbox-outline:before{content:"\f22e"}.ion-social-euro:before{content:"\f4e1"}.ion-social-euro-outline:before{content:"\f4e0"}.ion-social-facebook:before{content:"\f231"}.ion-social-facebook-outline:before{content:"\f230"}.ion-social-foursquare:before{content:"\f34d"}.ion-social-foursquare-outline:before{content:"\f34c"}.ion-social-freebsd-devil:before{content:"\f2c4"}.ion-social-github:before{content:"\f233"}.ion-social-github-outline:before{content:"\f232"}.ion-social-google:before{content:"\f34f"}.ion-social-google-outline:before{content:"\f34e"}.ion-social-googleplus:before{content:"\f235"}.ion-social-googleplus-outline:before{content:"\f234"}.ion-social-hackernews:before{content:"\f237"}.ion-social-hackernews-outline:before{content:"\f236"}.ion-social-html5:before{content:"\f4e3"}.ion-social-html5-outline:before{content:"\f4e2"}.ion-social-instagram:before{content:"\f351"}.ion-social-instagram-outline:before{content:"\f350"}.ion-social-javascript:before{content:"\f4e5"}.ion-social-javascript-outline:before{content:"\f4e4"}.ion-social-linkedin:before{content:"\f239"}.ion-social-linkedin-outline:before{content:"\f238"}.ion-social-markdown:before{content:"\f4e6"}.ion-social-nodejs:before{content:"\f4e7"}.ion-social-octocat:before{content:"\f4e8"}.ion-social-pinterest:before{content:"\f2b1"}.ion-social-pinterest-outline:before{content:"\f2b0"}.ion-social-python:before{content:"\f4e9"}.ion-social-reddit:before{content:"\f23b"}.ion-social-reddit-outline:before{content:"\f23a"}.ion-social-rss:before{content:"\f23d"}.ion-social-rss-outline:before{content:"\f23c"}.ion-social-sass:before{content:"\f4ea"}.ion-social-skype:before{content:"\f23f"}.ion-social-skype-outline:before{content:"\f23e"}.ion-social-snapchat:before{content:"\f4ec"}.ion-social-snapchat-outline:before{content:"\f4eb"}.ion-social-tumblr:before{content:"\f241"}.ion-social-tumblr-outline:before{content:"\f240"}.ion-social-tux:before{content:"\f2c5"}.ion-social-twitch:before{content:"\f4ee"}.ion-social-twitch-outline:before{content:"\f4ed"}.ion-social-twitter:before{content:"\f243"}.ion-social-twitter-outline:before{content:"\f242"}.ion-social-usd:before{content:"\f353"}.ion-social-usd-outline:before{content:"\f352"}.ion-social-vimeo:before{content:"\f245"}.ion-social-vimeo-outline:before{content:"\f244"}.ion-social-whatsapp:before{content:"\f4f0"}.ion-social-whatsapp-outline:before{content:"\f4ef"}.ion-social-windows:before{content:"\f247"}.ion-social-windows-outline:before{content:"\f246"}.ion-social-wordpress:before{content:"\f249"}.ion-social-wordpress-outline:before{content:"\f248"}.ion-social-yahoo:before{content:"\f24b"}.ion-social-yahoo-outline:before{content:"\f24a"}.ion-social-yen:before{content:"\f4f2"}.ion-social-yen-outline:before{content:"\f4f1"}.ion-social-youtube:before{content:"\f24d"}.ion-social-youtube-outline:before{content:"\f24c"}.ion-soup-can:before{content:"\f4f4"}.ion-soup-can-outline:before{content:"\f4f3"}.ion-speakerphone:before{content:"\f2b2"}.ion-speedometer:before{content:"\f2b3"}.ion-spoon:before{content:"\f2b4"}.ion-star:before{content:"\f24e"}.ion-stats-bars:before{content:"\f2b5"}.ion-steam:before{content:"\f30b"}.ion-stop:before{content:"\f24f"}.ion-thermometer:before{content:"\f2b6"}.ion-thumbsdown:before{content:"\f250"}.ion-thumbsup:before{content:"\f251"}.ion-toggle:before{content:"\f355"}.ion-toggle-filled:before{content:"\f354"}.ion-transgender:before{content:"\f4f5"}.ion-trash-a:before{content:"\f252"}.ion-trash-b:before{content:"\f253"}.ion-trophy:before{content:"\f356"}.ion-tshirt:before{content:"\f4f7"}.ion-tshirt-outline:before{content:"\f4f6"}.ion-umbrella:before{content:"\f2b7"}.ion-university:before{content:"\f357"}.ion-unlocked:before{content:"\f254"}.ion-upload:before{content:"\f255"}.ion-usb:before{content:"\f2b8"}.ion-videocamera:before{content:"\f256"}.ion-volume-high:before{content:"\f257"}.ion-volume-low:before{content:"\f258"}.ion-volume-medium:before{content:"\f259"}.ion-volume-mute:before{content:"\f25a"}.ion-wand:before{content:"\f358"}.ion-waterdrop:before{content:"\f25b"}.ion-wifi:before{content:"\f25c"}.ion-wineglass:before{content:"\f2b9"}.ion-woman:before{content:"\f25d"}.ion-wrench:before{content:"\f2ba"}.ion-xbox:before{content:"\f30c"} diff --git a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/ionicons/fonts/ionicons28b5.eot b/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/ionicons/fonts/ionicons28b5.eot deleted file mode 100755 index 92a3f20a..00000000 Binary files a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/ionicons/fonts/ionicons28b5.eot and /dev/null differ diff --git a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/ionicons/fonts/ionicons28b5.svg b/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/ionicons/fonts/ionicons28b5.svg deleted file mode 100755 index 9f74ed38..00000000 --- a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/ionicons/fonts/ionicons28b5.svg +++ /dev/null @@ -1,2230 +0,0 @@ - - - - - -Created by FontForge 20120731 at Thu Dec 4 09:51:48 2014 - By Adam Bradley -Created by Adam Bradley with FontForge 2.0 (http://fontforge.sf.net) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/ionicons/fonts/ionicons28b5.ttf b/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/ionicons/fonts/ionicons28b5.ttf deleted file mode 100755 index c4e46324..00000000 Binary files a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/ionicons/fonts/ionicons28b5.ttf and /dev/null differ diff --git a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/ionicons/fonts/ionicons28b5.woff b/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/ionicons/fonts/ionicons28b5.woff deleted file mode 100755 index 5f3a14e0..00000000 Binary files a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/ionicons/fonts/ionicons28b5.woff and /dev/null differ diff --git a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/christmas/webfont/cristmas.eot b/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/christmas/webfont/cristmas.eot deleted file mode 100755 index b53122af..00000000 Binary files a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/christmas/webfont/cristmas.eot and /dev/null differ diff --git a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/christmas/webfont/cristmas.svg b/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/christmas/webfont/cristmas.svg deleted file mode 100755 index 546ddfc7..00000000 --- a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/christmas/webfont/cristmas.svg +++ /dev/null @@ -1,110 +0,0 @@ - - - -Generated by Fontastic.me - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/christmas/webfont/cristmas.ttf b/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/christmas/webfont/cristmas.ttf deleted file mode 100755 index 24fa977f..00000000 Binary files a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/christmas/webfont/cristmas.ttf and /dev/null differ diff --git a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/christmas/webfont/cristmas.woff b/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/christmas/webfont/cristmas.woff deleted file mode 100755 index 622b5a3e..00000000 Binary files a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/christmas/webfont/cristmas.woff and /dev/null differ diff --git a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/christmas/webfont/cristmasd41d.eot b/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/christmas/webfont/cristmasd41d.eot deleted file mode 100755 index b53122af..00000000 Binary files a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/christmas/webfont/cristmasd41d.eot and /dev/null differ diff --git a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/clothes/webfont/clothes.eot b/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/clothes/webfont/clothes.eot deleted file mode 100755 index d92c4fa2..00000000 Binary files a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/clothes/webfont/clothes.eot and /dev/null differ diff --git a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/clothes/webfont/clothes.svg b/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/clothes/webfont/clothes.svg deleted file mode 100755 index 6b33f626..00000000 --- a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/clothes/webfont/clothes.svg +++ /dev/null @@ -1,110 +0,0 @@ - - - -Generated by Fontastic.me - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/clothes/webfont/clothes.ttf b/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/clothes/webfont/clothes.ttf deleted file mode 100755 index 14fcea13..00000000 Binary files a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/clothes/webfont/clothes.ttf and /dev/null differ diff --git a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/clothes/webfont/clothes.woff b/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/clothes/webfont/clothes.woff deleted file mode 100755 index f031925d..00000000 Binary files a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/clothes/webfont/clothes.woff and /dev/null differ diff --git a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/clothes/webfont/clothesd41d.eot b/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/clothes/webfont/clothesd41d.eot deleted file mode 100755 index d92c4fa2..00000000 Binary files a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/clothes/webfont/clothesd41d.eot and /dev/null differ diff --git a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/communication/webfont/communication-48-x-48.eot b/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/communication/webfont/communication-48-x-48.eot deleted file mode 100755 index e12663a1..00000000 Binary files a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/communication/webfont/communication-48-x-48.eot and /dev/null differ diff --git a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/communication/webfont/communication-48-x-48.svg b/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/communication/webfont/communication-48-x-48.svg deleted file mode 100755 index 2bc1edef..00000000 --- a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/communication/webfont/communication-48-x-48.svg +++ /dev/null @@ -1,190 +0,0 @@ - - - -Generated by Fontastic.me - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/communication/webfont/communication-48-x-48.ttf b/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/communication/webfont/communication-48-x-48.ttf deleted file mode 100755 index adc59764..00000000 Binary files a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/communication/webfont/communication-48-x-48.ttf and /dev/null differ diff --git a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/communication/webfont/communication-48-x-48.woff b/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/communication/webfont/communication-48-x-48.woff deleted file mode 100755 index 8f84d4e4..00000000 Binary files a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/communication/webfont/communication-48-x-48.woff and /dev/null differ diff --git a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/communication/webfont/communication-48-x-48d41d.eot b/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/communication/webfont/communication-48-x-48d41d.eot deleted file mode 100755 index e12663a1..00000000 Binary files a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/communication/webfont/communication-48-x-48d41d.eot and /dev/null differ diff --git a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/education/webfont/education-48.eot b/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/education/webfont/education-48.eot deleted file mode 100755 index 257b5724..00000000 Binary files a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/education/webfont/education-48.eot and /dev/null differ diff --git a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/education/webfont/education-48.svg b/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/education/webfont/education-48.svg deleted file mode 100755 index 62a3f434..00000000 --- a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/education/webfont/education-48.svg +++ /dev/null @@ -1,210 +0,0 @@ - - - -Generated by Fontastic.me - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/education/webfont/education-48.ttf b/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/education/webfont/education-48.ttf deleted file mode 100755 index a871d2f6..00000000 Binary files a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/education/webfont/education-48.ttf and /dev/null differ diff --git a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/education/webfont/education-48.woff b/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/education/webfont/education-48.woff deleted file mode 100755 index 7207739f..00000000 Binary files a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/education/webfont/education-48.woff and /dev/null differ diff --git a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/education/webfont/education-48d41d.eot b/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/education/webfont/education-48d41d.eot deleted file mode 100755 index 257b5724..00000000 Binary files a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/education/webfont/education-48d41d.eot and /dev/null differ diff --git a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/electronics/webfont/electronics.eot b/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/electronics/webfont/electronics.eot deleted file mode 100755 index 86e6976d..00000000 Binary files a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/electronics/webfont/electronics.eot and /dev/null differ diff --git a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/electronics/webfont/electronics.svg b/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/electronics/webfont/electronics.svg deleted file mode 100755 index d6071d93..00000000 --- a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/electronics/webfont/electronics.svg +++ /dev/null @@ -1,170 +0,0 @@ - - - -Generated by Fontastic.me - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/electronics/webfont/electronics.ttf b/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/electronics/webfont/electronics.ttf deleted file mode 100755 index 781e0a7d..00000000 Binary files a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/electronics/webfont/electronics.ttf and /dev/null differ diff --git a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/electronics/webfont/electronics.woff b/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/electronics/webfont/electronics.woff deleted file mode 100755 index adc66c16..00000000 Binary files a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/electronics/webfont/electronics.woff and /dev/null differ diff --git a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/electronics/webfont/electronicsd41d.eot b/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/electronics/webfont/electronicsd41d.eot deleted file mode 100755 index 86e6976d..00000000 Binary files a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/electronics/webfont/electronicsd41d.eot and /dev/null differ diff --git a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/finance/webfont/finance.eot b/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/finance/webfont/finance.eot deleted file mode 100755 index eabe37c6..00000000 Binary files a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/finance/webfont/finance.eot and /dev/null differ diff --git a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/finance/webfont/finance.svg b/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/finance/webfont/finance.svg deleted file mode 100755 index 8ae5eb5c..00000000 --- a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/finance/webfont/finance.svg +++ /dev/null @@ -1,270 +0,0 @@ - - - -Generated by Fontastic.me - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/finance/webfont/finance.ttf b/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/finance/webfont/finance.ttf deleted file mode 100755 index 4bc465c7..00000000 Binary files a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/finance/webfont/finance.ttf and /dev/null differ diff --git a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/finance/webfont/finance.woff b/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/finance/webfont/finance.woff deleted file mode 100755 index e2c069fc..00000000 Binary files a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/finance/webfont/finance.woff and /dev/null differ diff --git a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/finance/webfont/financed41d.eot b/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/finance/webfont/financed41d.eot deleted file mode 100755 index eabe37c6..00000000 Binary files a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/finance/webfont/financed41d.eot and /dev/null differ diff --git a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/food/webfont/food-48.eot b/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/food/webfont/food-48.eot deleted file mode 100755 index 67a4faee..00000000 Binary files a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/food/webfont/food-48.eot and /dev/null differ diff --git a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/food/webfont/food-48.svg b/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/food/webfont/food-48.svg deleted file mode 100755 index 161b986a..00000000 --- a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/food/webfont/food-48.svg +++ /dev/null @@ -1,310 +0,0 @@ - - - -Generated by Fontastic.me - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/food/webfont/food-48.ttf b/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/food/webfont/food-48.ttf deleted file mode 100755 index 0e6db07a..00000000 Binary files a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/food/webfont/food-48.ttf and /dev/null differ diff --git a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/food/webfont/food-48.woff b/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/food/webfont/food-48.woff deleted file mode 100755 index ef56a90e..00000000 Binary files a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/food/webfont/food-48.woff and /dev/null differ diff --git a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/food/webfont/food-48d41d.eot b/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/food/webfont/food-48d41d.eot deleted file mode 100755 index 67a4faee..00000000 Binary files a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/food/webfont/food-48d41d.eot and /dev/null differ diff --git a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/furniture/webfont/furniture.eot b/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/furniture/webfont/furniture.eot deleted file mode 100755 index 897294f6..00000000 Binary files a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/furniture/webfont/furniture.eot and /dev/null differ diff --git a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/furniture/webfont/furniture.svg b/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/furniture/webfont/furniture.svg deleted file mode 100755 index 952d3171..00000000 --- a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/furniture/webfont/furniture.svg +++ /dev/null @@ -1,110 +0,0 @@ - - - -Generated by Fontastic.me - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/furniture/webfont/furniture.ttf b/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/furniture/webfont/furniture.ttf deleted file mode 100755 index ef813ca0..00000000 Binary files a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/furniture/webfont/furniture.ttf and /dev/null differ diff --git a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/furniture/webfont/furniture.woff b/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/furniture/webfont/furniture.woff deleted file mode 100755 index 06479615..00000000 Binary files a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/furniture/webfont/furniture.woff and /dev/null differ diff --git a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/furniture/webfont/furnitured41d.eot b/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/furniture/webfont/furnitured41d.eot deleted file mode 100755 index 897294f6..00000000 Binary files a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/furniture/webfont/furnitured41d.eot and /dev/null differ diff --git a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/hotel-restaurant/webfont/hotel-restaurant.eot b/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/hotel-restaurant/webfont/hotel-restaurant.eot deleted file mode 100755 index 9c293c2b..00000000 Binary files a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/hotel-restaurant/webfont/hotel-restaurant.eot and /dev/null differ diff --git a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/hotel-restaurant/webfont/hotel-restaurant.svg b/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/hotel-restaurant/webfont/hotel-restaurant.svg deleted file mode 100755 index bc6cb756..00000000 --- a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/hotel-restaurant/webfont/hotel-restaurant.svg +++ /dev/null @@ -1,260 +0,0 @@ - - - -Generated by Fontastic.me - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/hotel-restaurant/webfont/hotel-restaurant.ttf b/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/hotel-restaurant/webfont/hotel-restaurant.ttf deleted file mode 100755 index 5982d0fa..00000000 Binary files a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/hotel-restaurant/webfont/hotel-restaurant.ttf and /dev/null differ diff --git a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/hotel-restaurant/webfont/hotel-restaurant.woff b/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/hotel-restaurant/webfont/hotel-restaurant.woff deleted file mode 100755 index a06f34ab..00000000 Binary files a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/hotel-restaurant/webfont/hotel-restaurant.woff and /dev/null differ diff --git a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/hotel-restaurant/webfont/hotel-restaurantd41d.eot b/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/hotel-restaurant/webfont/hotel-restaurantd41d.eot deleted file mode 100755 index 9c293c2b..00000000 Binary files a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/hotel-restaurant/webfont/hotel-restaurantd41d.eot and /dev/null differ diff --git a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/line-icons-pro.css b/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/line-icons-pro.css deleted file mode 100755 index 4077808a..00000000 --- a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/line-icons-pro.css +++ /dev/null @@ -1,8941 +0,0 @@ -@charset "UTF-8"; - -/* Christmas */ -@font-face { - font-family: "cristmas"; - src:url("christmas/webfont/cristmas.eot"); - src:url("christmas/webfont/cristmasd41d.eot?#iefix") format("embedded-opentype"), - url("christmas/webfont/cristmas.woff") format("woff"), - url("christmas/webfont/cristmas.ttf") format("truetype"), - url("christmas/webfont/cristmas.svg#cristmas") format("svg"); - font-weight: normal; - font-style: normal; -} - -[data-icon-christmas]:before { - font-family: "cristmas" !important; - content: attr(data-icon-christmas); - font-style: normal !important; - font-weight: normal !important; - font-variant: normal !important; - text-transform: none !important; - speak: none; - line-height: 1; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} - -[class^="icon-christmas"]:before, -[class*=" icon-christmas"]:before { - font-family: "cristmas" !important; - font-style: normal !important; - font-weight: normal !important; - font-variant: normal !important; - text-transform: none !important; - speak: none; - line-height: 1; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} - -.icon-christmas-001:before { - content: "a"; -} -.icon-christmas-014:before { - content: "b"; -} -.icon-christmas-015:before { - content: "c"; -} -.icon-christmas-002:before { - content: "d"; -} -.icon-christmas-003:before { - content: "e"; -} -.icon-christmas-016:before { - content: "f"; -} -.icon-christmas-017:before { - content: "g"; -} -.icon-christmas-004:before { - content: "h"; -} -.icon-christmas-005:before { - content: "i"; -} -.icon-christmas-018:before { - content: "j"; -} -.icon-christmas-019:before { - content: "k"; -} -.icon-christmas-006:before { - content: "l"; -} -.icon-christmas-007:before { - content: "m"; -} -.icon-christmas-020:before { - content: "n"; -} -.icon-christmas-021:before { - content: "o"; -} -.icon-christmas-008:before { - content: "p"; -} -.icon-christmas-009:before { - content: "q"; -} -.icon-christmas-022:before { - content: "r"; -} -.icon-christmas-023:before { - content: "s"; -} -.icon-christmas-010:before { - content: "t"; -} -.icon-christmas-011:before { - content: "u"; -} -.icon-christmas-024:before { - content: "v"; -} -.icon-christmas-025:before { - content: "w"; -} -.icon-christmas-012:before { - content: "x"; -} -.icon-christmas-013:before { - content: "y"; -} -.icon-christmas-026:before { - content: "z"; -} -.icon-christmas-039:before { - content: "A"; -} -.icon-christmas-038:before { - content: "B"; -} -.icon-christmas-051:before { - content: "C"; -} -.icon-christmas-052:before { - content: "D"; -} -.icon-christmas-065:before { - content: "E"; -} -.icon-christmas-064:before { - content: "F"; -} -.icon-christmas-063:before { - content: "G"; -} -.icon-christmas-050:before { - content: "H"; -} -.icon-christmas-037:before { - content: "I"; -} -.icon-christmas-036:before { - content: "J"; -} -.icon-christmas-049:before { - content: "K"; -} -.icon-christmas-062:before { - content: "L"; -} -.icon-christmas-061:before { - content: "M"; -} -.icon-christmas-048:before { - content: "N"; -} -.icon-christmas-035:before { - content: "O"; -} -.icon-christmas-034:before { - content: "P"; -} -.icon-christmas-047:before { - content: "Q"; -} -.icon-christmas-060:before { - content: "R"; -} -.icon-christmas-059:before { - content: "S"; -} -.icon-christmas-046:before { - content: "T"; -} -.icon-christmas-033:before { - content: "U"; -} -.icon-christmas-032:before { - content: "V"; -} -.icon-christmas-045:before { - content: "W"; -} -.icon-christmas-058:before { - content: "X"; -} -.icon-christmas-031:before { - content: "Y"; -} -.icon-christmas-044:before { - content: "Z"; -} -.icon-christmas-057:before { - content: "0"; -} -.icon-christmas-056:before { - content: "1"; -} -.icon-christmas-043:before { - content: "2"; -} -.icon-christmas-030:before { - content: "3"; -} -.icon-christmas-029:before { - content: "4"; -} -.icon-christmas-042:before { - content: "5"; -} -.icon-christmas-055:before { - content: "6"; -} -.icon-christmas-054:before { - content: "7"; -} -.icon-christmas-041:before { - content: "8"; -} -.icon-christmas-028:before { - content: "9"; -} -.icon-christmas-027:before { - content: "!"; -} -.icon-christmas-040:before { - content: "\""; -} -.icon-christmas-053:before { - content: "#"; -} -.icon-christmas-066:before { - content: "$"; -} -.icon-christmas-079:before { - content: "%"; -} -.icon-christmas-092:before { - content: "&"; -} -.icon-christmas-093:before { - content: "'"; -} -.icon-christmas-080:before { - content: "("; -} -.icon-christmas-067:before { - content: ")"; -} -.icon-christmas-068:before { - content: "*"; -} -.icon-christmas-081:before { - content: "+"; -} -.icon-christmas-094:before { - content: ","; -} -.icon-christmas-095:before { - content: "-"; -} -.icon-christmas-082:before { - content: "."; -} -.icon-christmas-069:before { - content: "/"; -} -.icon-christmas-070:before { - content: ":"; -} -.icon-christmas-083:before { - content: ";"; -} -.icon-christmas-096:before { - content: "<"; -} -.icon-christmas-097:before { - content: "="; -} -.icon-christmas-084:before { - content: ">"; -} -.icon-christmas-071:before { - content: "?"; -} -.icon-christmas-072:before { - content: "@"; -} -.icon-christmas-085:before { - content: "["; -} -.icon-christmas-098:before { - content: "]"; -} -.icon-christmas-099:before { - content: "^"; -} -.icon-christmas-086:before { - content: "_"; -} -.icon-christmas-073:before { - content: "`"; -} -.icon-christmas-074:before { - content: "{"; -} -.icon-christmas-087:before { - content: "|"; -} -.icon-christmas-100:before { - content: "}"; -} -.icon-christmas-088:before { - content: "~"; -} -.icon-christmas-075:before { - content: "\\"; -} -.icon-christmas-076:before { - content: "\e000"; -} -.icon-christmas-089:before { - content: "\e001"; -} -.icon-christmas-090:before { - content: "\e002"; -} -.icon-christmas-077:before { - content: "\e003"; -} -.icon-christmas-078:before { - content: "\e004"; -} -.icon-christmas-091:before { - content: "\e005"; -} - - -/* Clothes */ -@font-face { - font-family: "clothes"; - src:url("clothes/webfont/clothes.eot"); - src:url("clothes/webfont/clothesd41d.eot?#iefix") format("embedded-opentype"), - url("clothes/webfont/clothes.woff") format("woff"), - url("clothes/webfont/clothes.ttf") format("truetype"), - url("clothes/webfont/clothes.svg#clothes") format("svg"); - font-weight: normal; - font-style: normal; -} - -[data-icon-clothes]:before { - font-family: "clothes" !important; - content: attr(data-icon-clothes); - font-style: normal !important; - font-weight: normal !important; - font-variant: normal !important; - text-transform: none !important; - speak: none; - line-height: 1; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} - -[class^="icon-clothes"]:before, -[class*=" icon-clothes"]:before { - font-family: "clothes" !important; - font-style: normal !important; - font-weight: normal !important; - font-variant: normal !important; - text-transform: none !important; - speak: none; - line-height: 1; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} - -.icon-clothes-014:before { - content: "a"; -} -.icon-clothes-027:before { - content: "b"; -} -.icon-clothes-040:before { - content: "c"; -} -.icon-clothes-053:before { - content: "d"; -} -.icon-clothes-066:before { - content: "e"; -} -.icon-clothes-079:before { - content: "f"; -} -.icon-clothes-092:before { - content: "g"; -} -.icon-clothes-093:before { - content: "h"; -} -.icon-clothes-080:before { - content: "i"; -} -.icon-clothes-067:before { - content: "j"; -} -.icon-clothes-054:before { - content: "k"; -} -.icon-clothes-041:before { - content: "l"; -} -.icon-clothes-028:before { - content: "m"; -} -.icon-clothes-015:before { - content: "n"; -} -.icon-clothes-016:before { - content: "o"; -} -.icon-clothes-029:before { - content: "p"; -} -.icon-clothes-042:before { - content: "q"; -} -.icon-clothes-055:before { - content: "r"; -} -.icon-clothes-068:before { - content: "s"; -} -.icon-clothes-081:before { - content: "t"; -} -.icon-clothes-094:before { - content: "u"; -} -.icon-clothes-095:before { - content: "v"; -} -.icon-clothes-082:before { - content: "w"; -} -.icon-clothes-083:before { - content: "x"; -} -.icon-clothes-096:before { - content: "y"; -} -.icon-clothes-097:before { - content: "z"; -} -.icon-clothes-084:before { - content: "A"; -} -.icon-clothes-085:before { - content: "B"; -} -.icon-clothes-098:before { - content: "C"; -} -.icon-clothes-099:before { - content: "D"; -} -.icon-clothes-086:before { - content: "E"; -} -.icon-clothes-087:before { - content: "F"; -} -.icon-clothes-100:before { - content: "G"; -} -.icon-clothes-088:before { - content: "H"; -} -.icon-clothes-089:before { - content: "I"; -} -.icon-clothes-090:before { - content: "J"; -} -.icon-clothes-091:before { - content: "K"; -} -.icon-clothes-078:before { - content: "L"; -} -.icon-clothes-077:before { - content: "M"; -} -.icon-clothes-076:before { - content: "N"; -} -.icon-clothes-075:before { - content: "O"; -} -.icon-clothes-074:before { - content: "P"; -} -.icon-clothes-073:before { - content: "Q"; -} -.icon-clothes-072:before { - content: "R"; -} -.icon-clothes-071:before { - content: "S"; -} -.icon-clothes-070:before { - content: "T"; -} -.icon-clothes-069:before { - content: "U"; -} -.icon-clothes-056:before { - content: "V"; -} -.icon-clothes-043:before { - content: "W"; -} -.icon-clothes-030:before { - content: "X"; -} -.icon-clothes-017:before { - content: "Y"; -} -.icon-clothes-018:before { - content: "Z"; -} -.icon-clothes-031:before { - content: "0"; -} -.icon-clothes-044:before { - content: "1"; -} -.icon-clothes-057:before { - content: "2"; -} -.icon-clothes-058:before { - content: "3"; -} -.icon-clothes-045:before { - content: "4"; -} -.icon-clothes-032:before { - content: "5"; -} -.icon-clothes-019:before { - content: "6"; -} -.icon-clothes-020:before { - content: "7"; -} -.icon-clothes-033:before { - content: "8"; -} -.icon-clothes-046:before { - content: "9"; -} -.icon-clothes-059:before { - content: "!"; -} -.icon-clothes-060:before { - content: "\""; -} -.icon-clothes-047:before { - content: "#"; -} -.icon-clothes-034:before { - content: "$"; -} -.icon-clothes-021:before { - content: "%"; -} -.icon-clothes-022:before { - content: "&"; -} -.icon-clothes-035:before { - content: "'"; -} -.icon-clothes-048:before { - content: "("; -} -.icon-clothes-061:before { - content: ")"; -} -.icon-clothes-062:before { - content: "*"; -} -.icon-clothes-049:before { - content: "+"; -} -.icon-clothes-036:before { - content: ","; -} -.icon-clothes-023:before { - content: "-"; -} -.icon-clothes-024:before { - content: "."; -} -.icon-clothes-037:before { - content: "/"; -} -.icon-clothes-050:before { - content: ":"; -} -.icon-clothes-063:before { - content: ";"; -} -.icon-clothes-064:before { - content: "<"; -} -.icon-clothes-051:before { - content: "="; -} -.icon-clothes-038:before { - content: ">"; -} -.icon-clothes-025:before { - content: "?"; -} -.icon-clothes-026:before { - content: "@"; -} -.icon-clothes-039:before { - content: "["; -} -.icon-clothes-052:before { - content: "]"; -} -.icon-clothes-065:before { - content: "^"; -} -.icon-clothes-001:before { - content: "_"; -} -.icon-clothes-002:before { - content: "`"; -} -.icon-clothes-003:before { - content: "{"; -} -.icon-clothes-004:before { - content: "|"; -} -.icon-clothes-005:before { - content: "}"; -} -.icon-clothes-006:before { - content: "~"; -} -.icon-clothes-007:before { - content: "\\"; -} -.icon-clothes-008:before { - content: "\e000"; -} -.icon-clothes-009:before { - content: "\e001"; -} -.icon-clothes-010:before { - content: "\e002"; -} -.icon-clothes-011:before { - content: "\e003"; -} -.icon-clothes-012:before { - content: "\e004"; -} -.icon-clothes-013:before { - content: "\e005"; -} - -/* Comunnication */ -@font-face { - font-family: "communication-48-x-48"; - src:url("communication/webfont/communication-48-x-48.eot"); - src:url("communication/webfont/communication-48-x-48d41d.eot?#iefix") format("embedded-opentype"), - url("communication/webfont/communication-48-x-48.woff") format("woff"), - url("communication/webfont/communication-48-x-48.ttf") format("truetype"), - url("communication/webfont/communication-48-x-48.svg#communication-48-x-48") format("svg"); - font-weight: normal; - font-style: normal; -} - -[data-icon-communication]:before { - font-family: "communication-48-x-48" !important; - content: attr(data-icon-communication); - font-style: normal !important; - font-weight: normal !important; - font-variant: normal !important; - text-transform: none !important; - speak: none; - line-height: 1; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; - } - -[class^="icon-communication"]:before, -[class*=" icon-communication"]:before { - font-family: "communication-48-x-48" !important; - font-style: normal !important; - font-weight: normal !important; - font-variant: normal !important; - text-transform: none !important; - speak: none; - line-height: 1; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} - -.icon-communication-001:before { - content: "a"; -} -.icon-communication-002:before { - content: "b"; -} -.icon-communication-003:before { - content: "c"; -} -.icon-communication-004:before { - content: "d"; -} -.icon-communication-005:before { - content: "e"; -} -.icon-communication-006:before { - content: "f"; -} -.icon-communication-008:before { - content: "g"; -} -.icon-communication-007:before { - content: "h"; -} -.icon-communication-009:before { - content: "i"; -} -.icon-communication-010:before { - content: "j"; -} -.icon-communication-011:before { - content: "k"; -} -.icon-communication-012:before { - content: "l"; -} -.icon-communication-013:before { - content: "m"; -} -.icon-communication-026:before { - content: "n"; -} -.icon-communication-025:before { - content: "o"; -} -.icon-communication-024:before { - content: "p"; -} -.icon-communication-023:before { - content: "q"; -} -.icon-communication-022:before { - content: "r"; -} -.icon-communication-020:before { - content: "s"; -} -.icon-communication-019:before { - content: "t"; -} -.icon-communication-018:before { - content: "u"; -} -.icon-communication-016:before { - content: "v"; -} -.icon-communication-015:before { - content: "w"; -} -.icon-communication-014:before { - content: "x"; -} -.icon-communication-021:before { - content: "y"; -} -.icon-communication-017:before { - content: "z"; -} -.icon-communication-027:before { - content: "A"; -} -.icon-communication-040:before { - content: "B"; -} -.icon-communication-053:before { - content: "C"; -} -.icon-communication-054:before { - content: "D"; -} -.icon-communication-041:before { - content: "E"; -} -.icon-communication-028:before { - content: "F"; -} -.icon-communication-029:before { - content: "G"; -} -.icon-communication-042:before { - content: "H"; -} -.icon-communication-055:before { - content: "I"; -} -.icon-communication-056:before { - content: "J"; -} -.icon-communication-043:before { - content: "K"; -} -.icon-communication-030:before { - content: "L"; -} -.icon-communication-031:before { - content: "M"; -} -.icon-communication-044:before { - content: "N"; -} -.icon-communication-057:before { - content: "O"; -} -.icon-communication-058:before { - content: "P"; -} -.icon-communication-045:before { - content: "Q"; -} -.icon-communication-032:before { - content: "R"; -} -.icon-communication-033:before { - content: "S"; -} -.icon-communication-046:before { - content: "T"; -} -.icon-communication-059:before { - content: "U"; -} -.icon-communication-060:before { - content: "V"; -} -.icon-communication-047:before { - content: "W"; -} -.icon-communication-034:before { - content: "X"; -} -.icon-communication-035:before { - content: "Y"; -} -.icon-communication-048:before { - content: "Z"; -} -.icon-communication-061:before { - content: "0"; -} -.icon-communication-062:before { - content: "1"; -} -.icon-communication-049:before { - content: "2"; -} -.icon-communication-036:before { - content: "3"; -} -.icon-communication-037:before { - content: "4"; -} -.icon-communication-050:before { - content: "5"; -} -.icon-communication-063:before { - content: "6"; -} -.icon-communication-064:before { - content: "7"; -} -.icon-communication-051:before { - content: "8"; -} -.icon-communication-038:before { - content: "9"; -} -.icon-communication-039:before { - content: "!"; -} -.icon-communication-052:before { - content: "\""; -} -.icon-communication-065:before { - content: "#"; -} -.icon-communication-066:before { - content: "$"; -} -.icon-communication-079:before { - content: "%"; -} -.icon-communication-092:before { - content: "&"; -} -.icon-communication-105:before { - content: "'"; -} -.icon-communication-106:before { - content: "("; -} -.icon-communication-093:before { - content: ")"; -} -.icon-communication-080:before { - content: "*"; -} -.icon-communication-067:before { - content: "+"; -} -.icon-communication-068:before { - content: ","; -} -.icon-communication-081:before { - content: "-"; -} -.icon-communication-082:before { - content: "."; -} -.icon-communication-069:before { - content: "/"; -} -.icon-communication-070:before { - content: ":"; -} -.icon-communication-083:before { - content: ";"; -} -.icon-communication-084:before { - content: "<"; -} -.icon-communication-071:before { - content: "="; -} -.icon-communication-072:before { - content: ">"; -} -.icon-communication-085:before { - content: "?"; -} -.icon-communication-086:before { - content: "@"; -} -.icon-communication-073:before { - content: "["; -} -.icon-communication-074:before { - content: "]"; -} -.icon-communication-087:before { - content: "^"; -} -.icon-communication-088:before { - content: "_"; -} -.icon-communication-075:before { - content: "`"; -} -.icon-communication-076:before { - content: "{"; -} -.icon-communication-089:before { - content: "|"; -} -.icon-communication-090:before { - content: "}"; -} -.icon-communication-077:before { - content: "~"; -} -.icon-communication-078:before { - content: "\\"; -} -.icon-communication-091:before { - content: "\e000"; -} -.icon-communication-104:before { - content: "\e001"; -} -.icon-communication-117:before { - content: "\e002"; -} -.icon-communication-116:before { - content: "\e003"; -} -.icon-communication-103:before { - content: "\e004"; -} -.icon-communication-102:before { - content: "\e005"; -} -.icon-communication-115:before { - content: "\e006"; -} -.icon-communication-114:before { - content: "\e007"; -} -.icon-communication-101:before { - content: "\e008"; -} -.icon-communication-100:before { - content: "\e009"; -} -.icon-communication-113:before { - content: "\e00a"; -} -.icon-communication-112:before { - content: "\e00b"; -} -.icon-communication-099:before { - content: "\e00c"; -} -.icon-communication-098:before { - content: "\e00d"; -} -.icon-communication-111:before { - content: "\e00e"; -} -.icon-communication-110:before { - content: "\e00f"; -} -.icon-communication-097:before { - content: "\e010"; -} -.icon-communication-096:before { - content: "\e011"; -} -.icon-communication-109:before { - content: "\e012"; -} -.icon-communication-108:before { - content: "\e013"; -} -.icon-communication-095:before { - content: "\e014"; -} -.icon-communication-094:before { - content: "\e015"; -} -.icon-communication-107:before { - content: "\e016"; -} -.icon-communication-118:before { - content: "\e017"; -} -.icon-communication-131:before { - content: "\e018"; -} -.icon-communication-144:before { - content: "\e019"; -} -.icon-communication-157:before { - content: "\e01a"; -} -.icon-communication-170:before { - content: "\e01b"; -} -.icon-communication-171:before { - content: "\e01c"; -} -.icon-communication-158:before { - content: "\e01d"; -} -.icon-communication-145:before { - content: "\e01e"; -} -.icon-communication-132:before { - content: "\e01f"; -} -.icon-communication-119:before { - content: "\e020"; -} -.icon-communication-120:before { - content: "\e021"; -} -.icon-communication-133:before { - content: "\e022"; -} -.icon-communication-146:before { - content: "\e023"; -} -.icon-communication-159:before { - content: "\e024"; -} -.icon-communication-172:before { - content: "\e025"; -} -.icon-communication-173:before { - content: "\e026"; -} -.icon-communication-160:before { - content: "\e027"; -} -.icon-communication-147:before { - content: "\e028"; -} -.icon-communication-134:before { - content: "\e029"; -} -.icon-communication-121:before { - content: "\e02a"; -} -.icon-communication-122:before { - content: "\e02b"; -} -.icon-communication-135:before { - content: "\e02c"; -} -.icon-communication-148:before { - content: "\e02d"; -} -.icon-communication-161:before { - content: "\e02e"; -} -.icon-communication-174:before { - content: "\e02f"; -} -.icon-communication-175:before { - content: "\e030"; -} -.icon-communication-162:before { - content: "\e031"; -} -.icon-communication-149:before { - content: "\e032"; -} -.icon-communication-136:before { - content: "\e033"; -} -.icon-communication-123:before { - content: "\e034"; -} -.icon-communication-124:before { - content: "\e035"; -} -.icon-communication-137:before { - content: "\e036"; -} -.icon-communication-150:before { - content: "\e037"; -} -.icon-communication-163:before { - content: "\e038"; -} -.icon-communication-176:before { - content: "\e039"; -} -.icon-communication-177:before { - content: "\e03a"; -} -.icon-communication-164:before { - content: "\e03b"; -} -.icon-communication-151:before { - content: "\e03c"; -} -.icon-communication-138:before { - content: "\e03d"; -} -.icon-communication-125:before { - content: "\e03e"; -} -.icon-communication-126:before { - content: "\e03f"; -} -.icon-communication-139:before { - content: "\e040"; -} -.icon-communication-152:before { - content: "\e041"; -} -.icon-communication-165:before { - content: "\e042"; -} -.icon-communication-178:before { - content: "\e043"; -} -.icon-communication-179:before { - content: "\e044"; -} -.icon-communication-166:before { - content: "\e045"; -} -.icon-communication-153:before { - content: "\e046"; -} -.icon-communication-140:before { - content: "\e047"; -} -.icon-communication-127:before { - content: "\e048"; -} -.icon-communication-128:before { - content: "\e049"; -} -.icon-communication-141:before { - content: "\e04a"; -} -.icon-communication-154:before { - content: "\e04b"; -} -.icon-communication-167:before { - content: "\e04c"; -} -.icon-communication-180:before { - content: "\e04d"; -} -.icon-communication-168:before { - content: "\e04e"; -} -.icon-communication-169:before { - content: "\e04f"; -} -.icon-communication-156:before { - content: "\e050"; -} -.icon-communication-155:before { - content: "\e051"; -} -.icon-communication-142:before { - content: "\e052"; -} -.icon-communication-143:before { - content: "\e053"; -} -.icon-communication-130:before { - content: "\e054"; -} -.icon-communication-129:before { - content: "\e055"; -} - -/* Education */ -@font-face { - font-family: "education-48"; - src:url("education/webfont/education-48.eot"); - src:url("education/webfont/education-48d41d.eot?#iefix") format("embedded-opentype"), - url("education/webfont/education-48.woff") format("woff"), - url("education/webfont/education-48.ttf") format("truetype"), - url("education/webfont/education-48.svg#education-48") format("svg"); - font-weight: normal; - font-style: normal; -} - -[data-icon-education]:before { - font-family: "education-48" !important; - content: attr(data-icon-education); - font-style: normal !important; - font-weight: normal !important; - font-variant: normal !important; - text-transform: none !important; - speak: none; - line-height: 1; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} - -[class^="icon-education"]:before, -[class*=" icon-education"]:before { - font-family: "education-48" !important; - font-style: normal !important; - font-weight: normal !important; - font-variant: normal !important; - text-transform: none !important; - speak: none; - line-height: 1; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} - -.icon-education-001:before { - content: "a"; -} -.icon-education-014:before { - content: "b"; -} -.icon-education-027:before { - content: "c"; -} -.icon-education-028:before { - content: "d"; -} -.icon-education-015:before { - content: "e"; -} -.icon-education-002:before { - content: "f"; -} -.icon-education-003:before { - content: "g"; -} -.icon-education-016:before { - content: "h"; -} -.icon-education-029:before { - content: "i"; -} -.icon-education-030:before { - content: "j"; -} -.icon-education-017:before { - content: "k"; -} -.icon-education-004:before { - content: "l"; -} -.icon-education-005:before { - content: "m"; -} -.icon-education-018:before { - content: "n"; -} -.icon-education-031:before { - content: "o"; -} -.icon-education-032:before { - content: "p"; -} -.icon-education-019:before { - content: "q"; -} -.icon-education-006:before { - content: "r"; -} -.icon-education-007:before { - content: "s"; -} -.icon-education-020:before { - content: "t"; -} -.icon-education-033:before { - content: "u"; -} -.icon-education-034:before { - content: "v"; -} -.icon-education-021:before { - content: "w"; -} -.icon-education-008:before { - content: "x"; -} -.icon-education-009:before { - content: "y"; -} -.icon-education-022:before { - content: "z"; -} -.icon-education-035:before { - content: "A"; -} -.icon-education-036:before { - content: "B"; -} -.icon-education-023:before { - content: "C"; -} -.icon-education-010:before { - content: "D"; -} -.icon-education-011:before { - content: "E"; -} -.icon-education-024:before { - content: "F"; -} -.icon-education-037:before { - content: "G"; -} -.icon-education-038:before { - content: "H"; -} -.icon-education-025:before { - content: "I"; -} -.icon-education-012:before { - content: "J"; -} -.icon-education-013:before { - content: "K"; -} -.icon-education-026:before { - content: "L"; -} -.icon-education-039:before { - content: "M"; -} -.icon-education-052:before { - content: "N"; -} -.icon-education-065:before { - content: "O"; -} -.icon-education-078:before { - content: "P"; -} -.icon-education-091:before { - content: "Q"; -} -.icon-education-104:before { - content: "R"; -} -.icon-education-117:before { - content: "S"; -} -.icon-education-130:before { - content: "T"; -} -.icon-education-143:before { - content: "U"; -} -.icon-education-142:before { - content: "V"; -} -.icon-education-129:before { - content: "W"; -} -.icon-education-116:before { - content: "X"; -} -.icon-education-103:before { - content: "Y"; -} -.icon-education-090:before { - content: "Z"; -} -.icon-education-077:before { - content: "0"; -} -.icon-education-064:before { - content: "1"; -} -.icon-education-051:before { - content: "2"; -} -.icon-education-050:before { - content: "3"; -} -.icon-education-063:before { - content: "4"; -} -.icon-education-076:before { - content: "5"; -} -.icon-education-089:before { - content: "6"; -} -.icon-education-088:before { - content: "7"; -} -.icon-education-075:before { - content: "8"; -} -.icon-education-062:before { - content: "9"; -} -.icon-education-049:before { - content: "!"; -} -.icon-education-048:before { - content: "\""; -} -.icon-education-061:before { - content: "#"; -} -.icon-education-074:before { - content: "$"; -} -.icon-education-087:before { - content: "%"; -} -.icon-education-100:before { - content: "&"; -} -.icon-education-101:before { - content: "'"; -} -.icon-education-102:before { - content: "("; -} -.icon-education-115:before { - content: ")"; -} -.icon-education-114:before { - content: "*"; -} -.icon-education-113:before { - content: "+"; -} -.icon-education-126:before { - content: ","; -} -.icon-education-127:before { - content: "-"; -} -.icon-education-128:before { - content: "."; -} -.icon-education-141:before { - content: "/"; -} -.icon-education-140:before { - content: ":"; -} -.icon-education-139:before { - content: ";"; -} -.icon-education-138:before { - content: "<"; -} -.icon-education-125:before { - content: "="; -} -.icon-education-124:before { - content: ">"; -} -.icon-education-137:before { - content: "?"; -} -.icon-education-136:before { - content: "@"; -} -.icon-education-123:before { - content: "["; -} -.icon-education-110:before { - content: "]"; -} -.icon-education-111:before { - content: "^"; -} -.icon-education-112:before { - content: "_"; -} -.icon-education-099:before { - content: "`"; -} -.icon-education-098:before { - content: "{"; -} -.icon-education-097:before { - content: "|"; -} -.icon-education-084:before { - content: "}"; -} -.icon-education-085:before { - content: "~"; -} -.icon-education-086:before { - content: "\\"; -} -.icon-education-073:before { - content: "\e000"; -} -.icon-education-072:before { - content: "\e001"; -} -.icon-education-071:before { - content: "\e002"; -} -.icon-education-058:before { - content: "\e003"; -} -.icon-education-059:before { - content: "\e004"; -} -.icon-education-060:before { - content: "\e005"; -} -.icon-education-047:before { - content: "\e006"; -} -.icon-education-046:before { - content: "\e007"; -} -.icon-education-045:before { - content: "\e008"; -} -.icon-education-040:before { - content: "\e009"; -} -.icon-education-041:before { - content: "\e00a"; -} -.icon-education-054:before { - content: "\e00b"; -} -.icon-education-053:before { - content: "\e00c"; -} -.icon-education-066:before { - content: "\e00d"; -} -.icon-education-067:before { - content: "\e00e"; -} -.icon-education-068:before { - content: "\e00f"; -} -.icon-education-055:before { - content: "\e010"; -} -.icon-education-042:before { - content: "\e011"; -} -.icon-education-043:before { - content: "\e012"; -} -.icon-education-056:before { - content: "\e013"; -} -.icon-education-069:before { - content: "\e014"; -} -.icon-education-070:before { - content: "\e015"; -} -.icon-education-057:before { - content: "\e016"; -} -.icon-education-044:before { - content: "\e017"; -} -.icon-education-083:before { - content: "\e018"; -} -.icon-education-082:before { - content: "\e019"; -} -.icon-education-081:before { - content: "\e01a"; -} -.icon-education-080:before { - content: "\e01b"; -} -.icon-education-079:before { - content: "\e01c"; -} -.icon-education-092:before { - content: "\e01d"; -} -.icon-education-105:before { - content: "\e01e"; -} -.icon-education-118:before { - content: "\e01f"; -} -.icon-education-131:before { - content: "\e020"; -} -.icon-education-132:before { - content: "\e021"; -} -.icon-education-119:before { - content: "\e022"; -} -.icon-education-106:before { - content: "\e023"; -} -.icon-education-093:before { - content: "\e024"; -} -.icon-education-094:before { - content: "\e025"; -} -.icon-education-107:before { - content: "\e026"; -} -.icon-education-120:before { - content: "\e027"; -} -.icon-education-133:before { - content: "\e028"; -} -.icon-education-134:before { - content: "\e029"; -} -.icon-education-108:before { - content: "\e02a"; -} -.icon-education-095:before { - content: "\e02b"; -} -.icon-education-096:before { - content: "\e02c"; -} -.icon-education-109:before { - content: "\e02d"; -} -.icon-education-122:before { - content: "\e02e"; -} -.icon-education-121:before { - content: "\e02f"; -} -.icon-education-135:before { - content: "\e030"; -} -.icon-education-144:before { - content: "\e031"; -} -.icon-education-157:before { - content: "\e032"; -} -.icon-education-170:before { - content: "\e033"; -} -.icon-education-183:before { - content: "\e034"; -} -.icon-education-196:before { - content: "\e035"; -} -.icon-education-197:before { - content: "\e036"; -} -.icon-education-184:before { - content: "\e037"; -} -.icon-education-171:before { - content: "\e038"; -} -.icon-education-158:before { - content: "\e039"; -} -.icon-education-145:before { - content: "\e03a"; -} -.icon-education-146:before { - content: "\e03b"; -} -.icon-education-159:before { - content: "\e03c"; -} -.icon-education-172:before { - content: "\e03d"; -} -.icon-education-185:before { - content: "\e03e"; -} -.icon-education-198:before { - content: "\e03f"; -} -.icon-education-199:before { - content: "\e040"; -} -.icon-education-186:before { - content: "\e041"; -} -.icon-education-173:before { - content: "\e042"; -} -.icon-education-160:before { - content: "\e043"; -} -.icon-education-147:before { - content: "\e044"; -} -.icon-education-148:before { - content: "\e045"; -} -.icon-education-161:before { - content: "\e046"; -} -.icon-education-174:before { - content: "\e047"; -} -.icon-education-187:before { - content: "\e048"; -} -.icon-education-200:before { - content: "\e049"; -} -.icon-education-188:before { - content: "\e04a"; -} -.icon-education-175:before { - content: "\e04b"; -} -.icon-education-162:before { - content: "\e04c"; -} -.icon-education-149:before { - content: "\e04d"; -} -.icon-education-150:before { - content: "\e04e"; -} -.icon-education-163:before { - content: "\e04f"; -} -.icon-education-176:before { - content: "\e050"; -} -.icon-education-189:before { - content: "\e051"; -} -.icon-education-190:before { - content: "\e052"; -} -.icon-education-177:before { - content: "\e053"; -} -.icon-education-164:before { - content: "\e054"; -} -.icon-education-151:before { - content: "\e055"; -} -.icon-education-152:before { - content: "\e056"; -} -.icon-education-165:before { - content: "\e057"; -} -.icon-education-178:before { - content: "\e058"; -} -.icon-education-191:before { - content: "\e059"; -} -.icon-education-192:before { - content: "\e05a"; -} -.icon-education-179:before { - content: "\e05b"; -} -.icon-education-166:before { - content: "\e05c"; -} -.icon-education-153:before { - content: "\e05d"; -} -.icon-education-154:before { - content: "\e05e"; -} -.icon-education-167:before { - content: "\e05f"; -} -.icon-education-180:before { - content: "\e060"; -} -.icon-education-193:before { - content: "\e061"; -} -.icon-education-194:before { - content: "\e062"; -} -.icon-education-181:before { - content: "\e063"; -} -.icon-education-168:before { - content: "\e064"; -} -.icon-education-155:before { - content: "\e065"; -} -.icon-education-156:before { - content: "\e066"; -} -.icon-education-169:before { - content: "\e067"; -} -.icon-education-182:before { - content: "\e068"; -} -.icon-education-195:before { - content: "\e069"; -} - -/* Electronics */ -@font-face { - font-family: "electronics"; - src:url("electronics/webfont/electronics.eot"); - src:url("electronics/webfont/electronicsd41d.eot?#iefix") format("embedded-opentype"), - url("electronics/webfont/electronics.woff") format("woff"), - url("electronics/webfont/electronics.ttf") format("truetype"), - url("electronics/webfont/electronics.svg#electronics") format("svg"); - font-weight: normal; - font-style: normal; -} - -[data-icon-electronics]:before { - font-family: "electronics" !important; - content: attr(data-icon-electronics); - font-style: normal !important; - font-weight: normal !important; - font-variant: normal !important; - text-transform: none !important; - speak: none; - line-height: 1; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} - -[class^="icon-electronics"]:before, -[class*=" icon-electronics"]:before { - font-family: "electronics" !important; - font-style: normal !important; - font-weight: normal !important; - font-variant: normal !important; - text-transform: none !important; - speak: none; - line-height: 1; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} - -.icon-electronics-001:before { - content: "a"; -} -.icon-electronics-014:before { - content: "b"; -} -.icon-electronics-027:before { - content: "c"; -} -.icon-electronics-040:before { - content: "d"; -} -.icon-electronics-053:before { - content: "e"; -} -.icon-electronics-066:before { - content: "f"; -} -.icon-electronics-079:before { - content: "g"; -} -.icon-electronics-092:before { - content: "h"; -} -.icon-electronics-093:before { - content: "i"; -} -.icon-electronics-080:before { - content: "j"; -} -.icon-electronics-067:before { - content: "k"; -} -.icon-electronics-054:before { - content: "l"; -} -.icon-electronics-041:before { - content: "m"; -} -.icon-electronics-028:before { - content: "n"; -} -.icon-electronics-015:before { - content: "o"; -} -.icon-electronics-002:before { - content: "p"; -} -.icon-electronics-003:before { - content: "q"; -} -.icon-electronics-016:before { - content: "r"; -} -.icon-electronics-029:before { - content: "s"; -} -.icon-electronics-042:before { - content: "t"; -} -.icon-electronics-055:before { - content: "u"; -} -.icon-electronics-068:before { - content: "v"; -} -.icon-electronics-081:before { - content: "w"; -} -.icon-electronics-094:before { - content: "x"; -} -.icon-electronics-095:before { - content: "y"; -} -.icon-electronics-082:before { - content: "z"; -} -.icon-electronics-069:before { - content: "A"; -} -.icon-electronics-056:before { - content: "B"; -} -.icon-electronics-043:before { - content: "C"; -} -.icon-electronics-030:before { - content: "D"; -} -.icon-electronics-017:before { - content: "E"; -} -.icon-electronics-004:before { - content: "F"; -} -.icon-electronics-005:before { - content: "G"; -} -.icon-electronics-018:before { - content: "H"; -} -.icon-electronics-031:before { - content: "I"; -} -.icon-electronics-044:before { - content: "J"; -} -.icon-electronics-057:before { - content: "K"; -} -.icon-electronics-070:before { - content: "L"; -} -.icon-electronics-083:before { - content: "M"; -} -.icon-electronics-096:before { - content: "N"; -} -.icon-electronics-097:before { - content: "O"; -} -.icon-electronics-084:before { - content: "P"; -} -.icon-electronics-071:before { - content: "Q"; -} -.icon-electronics-058:before { - content: "R"; -} -.icon-electronics-045:before { - content: "S"; -} -.icon-electronics-032:before { - content: "T"; -} -.icon-electronics-019:before { - content: "U"; -} -.icon-electronics-006:before { - content: "V"; -} -.icon-electronics-007:before { - content: "W"; -} -.icon-electronics-020:before { - content: "X"; -} -.icon-electronics-033:before { - content: "Y"; -} -.icon-electronics-046:before { - content: "Z"; -} -.icon-electronics-059:before { - content: "0"; -} -.icon-electronics-072:before { - content: "1"; -} -.icon-electronics-085:before { - content: "2"; -} -.icon-electronics-098:before { - content: "3"; -} -.icon-electronics-099:before { - content: "4"; -} -.icon-electronics-086:before { - content: "5"; -} -.icon-electronics-073:before { - content: "6"; -} -.icon-electronics-060:before { - content: "7"; -} -.icon-electronics-047:before { - content: "8"; -} -.icon-electronics-034:before { - content: "9"; -} -.icon-electronics-021:before { - content: "!"; -} -.icon-electronics-008:before { - content: "\""; -} -.icon-electronics-009:before { - content: "#"; -} -.icon-electronics-022:before { - content: "$"; -} -.icon-electronics-035:before { - content: "%"; -} -.icon-electronics-048:before { - content: "&"; -} -.icon-electronics-049:before { - content: "'"; -} -.icon-electronics-036:before { - content: "("; -} -.icon-electronics-023:before { - content: ")"; -} -.icon-electronics-010:before { - content: "*"; -} -.icon-electronics-011:before { - content: "+"; -} -.icon-electronics-024:before { - content: ","; -} -.icon-electronics-025:before { - content: "-"; -} -.icon-electronics-012:before { - content: "."; -} -.icon-electronics-013:before { - content: "/"; -} -.icon-electronics-026:before { - content: ":"; -} -.icon-electronics-039:before { - content: ";"; -} -.icon-electronics-052:before { - content: "<"; -} -.icon-electronics-065:before { - content: "="; -} -.icon-electronics-078:before { - content: ">"; -} -.icon-electronics-091:before { - content: "?"; -} -.icon-electronics-104:before { - content: "@"; -} -.icon-electronics-103:before { - content: "["; -} -.icon-electronics-090:before { - content: "]"; -} -.icon-electronics-064:before { - content: "^"; -} -.icon-electronics-051:before { - content: "_"; -} -.icon-electronics-038:before { - content: "`"; -} -.icon-electronics-037:before { - content: "{"; -} -.icon-electronics-050:before { - content: "|"; -} -.icon-electronics-063:before { - content: "}"; -} -.icon-electronics-076:before { - content: "~"; -} -.icon-electronics-077:before { - content: "\\"; -} -.icon-electronics-062:before { - content: "\e000"; -} -.icon-electronics-061:before { - content: "\e001"; -} -.icon-electronics-074:before { - content: "\e002"; -} -.icon-electronics-075:before { - content: "\e003"; -} -.icon-electronics-088:before { - content: "\e004"; -} -.icon-electronics-087:before { - content: "\e005"; -} -.icon-electronics-089:before { - content: "\e006"; -} -.icon-electronics-102:before { - content: "\e007"; -} -.icon-electronics-101:before { - content: "\e008"; -} -.icon-electronics-100:before { - content: "\e009"; -} -.icon-electronics-105:before { - content: "\e00a"; -} -.icon-electronics-118:before { - content: "\e00b"; -} -.icon-electronics-131:before { - content: "\e00c"; -} -.icon-electronics-144:before { - content: "\e00d"; -} -.icon-electronics-157:before { - content: "\e00e"; -} -.icon-electronics-158:before { - content: "\e00f"; -} -.icon-electronics-145:before { - content: "\e010"; -} -.icon-electronics-132:before { - content: "\e011"; -} -.icon-electronics-119:before { - content: "\e012"; -} -.icon-electronics-106:before { - content: "\e013"; -} -.icon-electronics-107:before { - content: "\e014"; -} -.icon-electronics-120:before { - content: "\e015"; -} -.icon-electronics-133:before { - content: "\e016"; -} -.icon-electronics-146:before { - content: "\e017"; -} -.icon-electronics-159:before { - content: "\e018"; -} -.icon-electronics-160:before { - content: "\e019"; -} -.icon-electronics-147:before { - content: "\e01a"; -} -.icon-electronics-134:before { - content: "\e01b"; -} -.icon-electronics-121:before { - content: "\e01c"; -} -.icon-electronics-108:before { - content: "\e01d"; -} -.icon-electronics-109:before { - content: "\e01e"; -} -.icon-electronics-122:before { - content: "\e01f"; -} -.icon-electronics-135:before { - content: "\e020"; -} -.icon-electronics-148:before { - content: "\e021"; -} -.icon-electronics-149:before { - content: "\e022"; -} -.icon-electronics-136:before { - content: "\e023"; -} -.icon-electronics-123:before { - content: "\e024"; -} -.icon-electronics-110:before { - content: "\e025"; -} -.icon-electronics-111:before { - content: "\e026"; -} -.icon-electronics-124:before { - content: "\e027"; -} -.icon-electronics-137:before { - content: "\e028"; -} -.icon-electronics-150:before { - content: "\e029"; -} -.icon-electronics-151:before { - content: "\e02a"; -} -.icon-electronics-138:before { - content: "\e02b"; -} -.icon-electronics-125:before { - content: "\e02c"; -} -.icon-electronics-112:before { - content: "\e02d"; -} -.icon-electronics-113:before { - content: "\e02e"; -} -.icon-electronics-126:before { - content: "\e02f"; -} -.icon-electronics-139:before { - content: "\e030"; -} -.icon-electronics-152:before { - content: "\e031"; -} -.icon-electronics-153:before { - content: "\e032"; -} -.icon-electronics-140:before { - content: "\e033"; -} -.icon-electronics-127:before { - content: "\e034"; -} -.icon-electronics-114:before { - content: "\e035"; -} -.icon-electronics-115:before { - content: "\e036"; -} -.icon-electronics-128:before { - content: "\e037"; -} -.icon-electronics-141:before { - content: "\e038"; -} -.icon-electronics-154:before { - content: "\e039"; -} -.icon-electronics-155:before { - content: "\e03a"; -} -.icon-electronics-142:before { - content: "\e03b"; -} -.icon-electronics-129:before { - content: "\e03c"; -} -.icon-electronics-116:before { - content: "\e03d"; -} -.icon-electronics-117:before { - content: "\e03e"; -} -.icon-electronics-130:before { - content: "\e03f"; -} -.icon-electronics-143:before { - content: "\e040"; -} -.icon-electronics-156:before { - content: "\e041"; -} - - -/* Finance */ -@font-face { - font-family: "finance"; - src:url("finance/webfont/finance.eot"); - src:url("finance/webfont/financed41d.eot?#iefix") format("embedded-opentype"), - url("finance/webfont/finance.woff") format("woff"), - url("finance/webfont/finance.ttf") format("truetype"), - url("finance/webfont/finance.svg#finance") format("svg"); - font-weight: normal; - font-style: normal; -} - -[data-icon-finance]:before { - font-family: "finance" !important; - content: attr(data-icon-finance); - font-style: normal !important; - font-weight: normal !important; - font-variant: normal !important; - text-transform: none !important; - speak: none; - line-height: 1; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} - -[class^="icon-finance"]:before, -[class*=" icon-finance"]:before { - font-family: "finance" !important; - font-style: normal !important; - font-weight: normal !important; - font-variant: normal !important; - text-transform: none !important; - speak: none; - line-height: 1; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} - -.icon-finance-260:before { - content: "a"; -} -.icon-finance-259:before { - content: "b"; -} -.icon-finance-246:before { - content: "c"; -} -.icon-finance-247:before { - content: "d"; -} -.icon-finance-234:before { - content: "e"; -} -.icon-finance-233:before { - content: "f"; -} -.icon-finance-232:before { - content: "g"; -} -.icon-finance-245:before { - content: "h"; -} -.icon-finance-258:before { - content: "i"; -} -.icon-finance-257:before { - content: "j"; -} -.icon-finance-256:before { - content: "k"; -} -.icon-finance-243:before { - content: "l"; -} -.icon-finance-244:before { - content: "m"; -} -.icon-finance-231:before { - content: "n"; -} -.icon-finance-230:before { - content: "o"; -} -.icon-finance-229:before { - content: "p"; -} -.icon-finance-242:before { - content: "q"; -} -.icon-finance-255:before { - content: "r"; -} -.icon-finance-254:before { - content: "s"; -} -.icon-finance-241:before { - content: "t"; -} -.icon-finance-228:before { - content: "u"; -} -.icon-finance-227:before { - content: "v"; -} -.icon-finance-240:before { - content: "w"; -} -.icon-finance-253:before { - content: "x"; -} -.icon-finance-252:before { - content: "y"; -} -.icon-finance-239:before { - content: "z"; -} -.icon-finance-226:before { - content: "A"; -} -.icon-finance-225:before { - content: "B"; -} -.icon-finance-238:before { - content: "C"; -} -.icon-finance-251:before { - content: "D"; -} -.icon-finance-250:before { - content: "E"; -} -.icon-finance-237:before { - content: "F"; -} -.icon-finance-224:before { - content: "G"; -} -.icon-finance-223:before { - content: "H"; -} -.icon-finance-236:before { - content: "I"; -} -.icon-finance-249:before { - content: "J"; -} -.icon-finance-235:before { - content: "K"; -} -.icon-finance-222:before { - content: "L"; -} -.icon-finance-248:before { - content: "M"; -} -.icon-finance-209:before { - content: "N"; -} -.icon-finance-196:before { - content: "O"; -} -.icon-finance-183:before { - content: "P"; -} -.icon-finance-184:before { - content: "Q"; -} -.icon-finance-197:before { - content: "R"; -} -.icon-finance-210:before { - content: "S"; -} -.icon-finance-211:before { - content: "T"; -} -.icon-finance-198:before { - content: "U"; -} -.icon-finance-185:before { - content: "V"; -} -.icon-finance-186:before { - content: "W"; -} -.icon-finance-199:before { - content: "X"; -} -.icon-finance-212:before { - content: "Y"; -} -.icon-finance-213:before { - content: "Z"; -} -.icon-finance-200:before { - content: "0"; -} -.icon-finance-187:before { - content: "1"; -} -.icon-finance-188:before { - content: "2"; -} -.icon-finance-189:before { - content: "3"; -} -.icon-finance-201:before { - content: "4"; -} -.icon-finance-214:before { - content: "5"; -} -.icon-finance-215:before { - content: "6"; -} -.icon-finance-202:before { - content: "7"; -} -.icon-finance-216:before { - content: "8"; -} -.icon-finance-203:before { - content: "9"; -} -.icon-finance-204:before { - content: "!"; -} -.icon-finance-217:before { - content: "\""; -} -.icon-finance-191:before { - content: "#"; -} -.icon-finance-190:before { - content: "$"; -} -.icon-finance-192:before { - content: "%"; -} -.icon-finance-205:before { - content: "&"; -} -.icon-finance-218:before { - content: "'"; -} -.icon-finance-219:before { - content: "("; -} -.icon-finance-206:before { - content: ")"; -} -.icon-finance-193:before { - content: "*"; -} -.icon-finance-194:before { - content: "+"; -} -.icon-finance-207:before { - content: ","; -} -.icon-finance-220:before { - content: "-"; -} -.icon-finance-221:before { - content: "."; -} -.icon-finance-208:before { - content: "/"; -} -.icon-finance-195:before { - content: ":"; -} -.icon-finance-182:before { - content: ";"; -} -.icon-finance-181:before { - content: "<"; -} -.icon-finance-180:before { - content: "="; -} -.icon-finance-167:before { - content: ">"; -} -.icon-finance-168:before { - content: "?"; -} -.icon-finance-169:before { - content: "@"; -} -.icon-finance-156:before { - content: "["; -} -.icon-finance-155:before { - content: "]"; -} -.icon-finance-154:before { - content: "^"; -} -.icon-finance-141:before { - content: "_"; -} -.icon-finance-142:before { - content: "`"; -} -.icon-finance-143:before { - content: "{"; -} -.icon-finance-130:before { - content: "|"; -} -.icon-finance-129:before { - content: "}"; -} -.icon-finance-128:before { - content: "~"; -} -.icon-finance-127:before { - content: "\\"; -} -.icon-finance-140:before { - content: "\e000"; -} -.icon-finance-139:before { - content: "\e001"; -} -.icon-finance-126:before { - content: "\e002"; -} -.icon-finance-125:before { - content: "\e003"; -} -.icon-finance-138:before { - content: "\e004"; -} -.icon-finance-151:before { - content: "\e005"; -} -.icon-finance-152:before { - content: "\e006"; -} -.icon-finance-153:before { - content: "\e007"; -} -.icon-finance-166:before { - content: "\e008"; -} -.icon-finance-179:before { - content: "\e009"; -} -.icon-finance-178:before { - content: "\e00a"; -} -.icon-finance-165:before { - content: "\e00b"; -} -.icon-finance-164:before { - content: "\e00c"; -} -.icon-finance-177:before { - content: "\e00d"; -} -.icon-finance-176:before { - content: "\e00e"; -} -.icon-finance-163:before { - content: "\e00f"; -} -.icon-finance-150:before { - content: "\e010"; -} -.icon-finance-137:before { - content: "\e011"; -} -.icon-finance-124:before { - content: "\e012"; -} -.icon-finance-123:before { - content: "\e013"; -} -.icon-finance-136:before { - content: "\e014"; -} -.icon-finance-149:before { - content: "\e015"; -} -.icon-finance-162:before { - content: "\e016"; -} -.icon-finance-175:before { - content: "\e017"; -} -.icon-finance-174:before { - content: "\e018"; -} -.icon-finance-161:before { - content: "\e019"; -} -.icon-finance-148:before { - content: "\e01a"; -} -.icon-finance-135:before { - content: "\e01b"; -} -.icon-finance-122:before { - content: "\e01c"; -} -.icon-finance-121:before { - content: "\e01d"; -} -.icon-finance-134:before { - content: "\e01e"; -} -.icon-finance-147:before { - content: "\e01f"; -} -.icon-finance-160:before { - content: "\e020"; -} -.icon-finance-173:before { - content: "\e021"; -} -.icon-finance-172:before { - content: "\e022"; -} -.icon-finance-146:before { - content: "\e023"; -} -.icon-finance-133:before { - content: "\e024"; -} -.icon-finance-120:before { - content: "\e025"; -} -.icon-finance-159:before { - content: "\e026"; -} -.icon-finance-158:before { - content: "\e027"; -} -.icon-finance-171:before { - content: "\e028"; -} -.icon-finance-170:before { - content: "\e029"; -} -.icon-finance-157:before { - content: "\e02a"; -} -.icon-finance-144:before { - content: "\e02b"; -} -.icon-finance-145:before { - content: "\e02c"; -} -.icon-finance-132:before { - content: "\e02d"; -} -.icon-finance-131:before { - content: "\e02e"; -} -.icon-finance-118:before { - content: "\e02f"; -} -.icon-finance-119:before { - content: "\e030"; -} -.icon-finance-106:before { - content: "\e031"; -} -.icon-finance-105:before { - content: "\e032"; -} -.icon-finance-092:before { - content: "\e033"; -} -.icon-finance-093:before { - content: "\e034"; -} -.icon-finance-107:before { - content: "\e035"; -} -.icon-finance-094:before { - content: "\e036"; -} -.icon-finance-095:before { - content: "\e037"; -} -.icon-finance-108:before { - content: "\e038"; -} -.icon-finance-109:before { - content: "\e039"; -} -.icon-finance-096:before { - content: "\e03a"; -} -.icon-finance-097:before { - content: "\e03b"; -} -.icon-finance-110:before { - content: "\e03c"; -} -.icon-finance-111:before { - content: "\e03d"; -} -.icon-finance-098:before { - content: "\e03e"; -} -.icon-finance-099:before { - content: "\e03f"; -} -.icon-finance-112:before { - content: "\e040"; -} -.icon-finance-113:before { - content: "\e041"; -} -.icon-finance-100:before { - content: "\e042"; -} -.icon-finance-101:before { - content: "\e043"; -} -.icon-finance-114:before { - content: "\e044"; -} -.icon-finance-115:before { - content: "\e045"; -} -.icon-finance-102:before { - content: "\e046"; -} -.icon-finance-116:before { - content: "\e048"; -} -.icon-finance-117:before { - content: "\e049"; -} -.icon-finance-104:before { - content: "\e047"; -} -.icon-finance-103:before { - content: "\e04a"; -} -.icon-finance-014:before { - content: "\e04b"; -} -.icon-finance-027:before { - content: "\e04c"; -} -.icon-finance-040:before { - content: "\e04d"; -} -.icon-finance-053:before { - content: "\e04e"; -} -.icon-finance-066:before { - content: "\e04f"; -} -.icon-finance-079:before { - content: "\e050"; -} -.icon-finance-080:before { - content: "\e051"; -} -.icon-finance-067:before { - content: "\e052"; -} -.icon-finance-068:before { - content: "\e053"; -} -.icon-finance-081:before { - content: "\e054"; -} -.icon-finance-070:before { - content: "\e055"; -} -.icon-finance-083:before { - content: "\e056"; -} -.icon-finance-082:before { - content: "\e057"; -} -.icon-finance-069:before { - content: "\e058"; -} -.icon-finance-071:before { - content: "\e059"; -} -.icon-finance-084:before { - content: "\e05a"; -} -.icon-finance-085:before { - content: "\e05b"; -} -.icon-finance-072:before { - content: "\e05c"; -} -.icon-finance-073:before { - content: "\e05d"; -} -.icon-finance-086:before { - content: "\e05e"; -} -.icon-finance-087:before { - content: "\e05f"; -} -.icon-finance-074:before { - content: "\e060"; -} -.icon-finance-075:before { - content: "\e061"; -} -.icon-finance-088:before { - content: "\e062"; -} -.icon-finance-089:before { - content: "\e063"; -} -.icon-finance-076:before { - content: "\e064"; -} -.icon-finance-077:before { - content: "\e065"; -} -.icon-finance-090:before { - content: "\e066"; -} -.icon-finance-091:before { - content: "\e067"; -} -.icon-finance-078:before { - content: "\e068"; -} -.icon-finance-065:before { - content: "\e069"; -} -.icon-finance-052:before { - content: "\e06a"; -} -.icon-finance-039:before { - content: "\e06b"; -} -.icon-finance-026:before { - content: "\e06c"; -} -.icon-finance-025:before { - content: "\e06d"; -} -.icon-finance-038:before { - content: "\e06e"; -} -.icon-finance-051:before { - content: "\e06f"; -} -.icon-finance-064:before { - content: "\e070"; -} -.icon-finance-063:before { - content: "\e071"; -} -.icon-finance-050:before { - content: "\e072"; -} -.icon-finance-037:before { - content: "\e073"; -} -.icon-finance-024:before { - content: "\e074"; -} -.icon-finance-023:before { - content: "\e075"; -} -.icon-finance-036:before { - content: "\e076"; -} -.icon-finance-049:before { - content: "\e077"; -} -.icon-finance-062:before { - content: "\e078"; -} -.icon-finance-061:before { - content: "\e079"; -} -.icon-finance-048:before { - content: "\e07a"; -} -.icon-finance-035:before { - content: "\e07b"; -} -.icon-finance-022:before { - content: "\e07c"; -} -.icon-finance-021:before { - content: "\e07d"; -} -.icon-finance-034:before { - content: "\e07e"; -} -.icon-finance-047:before { - content: "\e07f"; -} -.icon-finance-060:before { - content: "\e080"; -} -.icon-finance-059:before { - content: "\e081"; -} -.icon-finance-046:before { - content: "\e082"; -} -.icon-finance-033:before { - content: "\e083"; -} -.icon-finance-020:before { - content: "\e084"; -} -.icon-finance-019:before { - content: "\e085"; -} -.icon-finance-032:before { - content: "\e086"; -} -.icon-finance-045:before { - content: "\e087"; -} -.icon-finance-058:before { - content: "\e088"; -} -.icon-finance-057:before { - content: "\e089"; -} -.icon-finance-044:before { - content: "\e08a"; -} -.icon-finance-031:before { - content: "\e08b"; -} -.icon-finance-018:before { - content: "\e08c"; -} -.icon-finance-017:before { - content: "\e08d"; -} -.icon-finance-030:before { - content: "\e08e"; -} -.icon-finance-043:before { - content: "\e08f"; -} -.icon-finance-056:before { - content: "\e090"; -} -.icon-finance-055:before { - content: "\e091"; -} -.icon-finance-042:before { - content: "\e092"; -} -.icon-finance-029:before { - content: "\e093"; -} -.icon-finance-016:before { - content: "\e094"; -} -.icon-finance-015:before { - content: "\e095"; -} -.icon-finance-028:before { - content: "\e096"; -} -.icon-finance-041:before { - content: "\e097"; -} -.icon-finance-054:before { - content: "\e098"; -} -.icon-finance-001:before { - content: "\e099"; -} -.icon-finance-002:before { - content: "\e09a"; -} -.icon-finance-003:before { - content: "\e09b"; -} -.icon-finance-004:before { - content: "\e09c"; -} -.icon-finance-005:before { - content: "\e09d"; -} -.icon-finance-006:before { - content: "\e09e"; -} -.icon-finance-007:before { - content: "\e09f"; -} -.icon-finance-008:before { - content: "\e0a0"; -} -.icon-finance-009:before { - content: "\e0a1"; -} -.icon-finance-010:before { - content: "\e0a2"; -} -.icon-finance-011:before { - content: "\e0a3"; -} -.icon-finance-012:before { - content: "\e0a4"; -} -.icon-finance-013:before { - content: "\e0a5"; -} - -/* Food */ -@font-face { - font-family: "food-48"; - src:url("food/webfont/food-48.eot"); - src:url("food/webfont/food-48d41d.eot?#iefix") format("embedded-opentype"), - url("food/webfont/food-48.woff") format("woff"), - url("food/webfont/food-48.ttf") format("truetype"), - url("food/webfont/food-48.svg#food-48") format("svg"); - font-weight: normal; - font-style: normal; -} - -[data-icon-food]:before { - font-family: "food-48" !important; - content: attr(data-icon-food); - font-style: normal !important; - font-weight: normal !important; - font-variant: normal !important; - text-transform: none !important; - speak: none; - line-height: 1; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} - -[class^="icon-food"]:before, -[class*=" icon-food"]:before { - font-family: "food-48" !important; - font-style: normal !important; - font-weight: normal !important; - font-variant: normal !important; - text-transform: none !important; - speak: none; - line-height: 1; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} - -.icon-food-001:before { - content: "a"; -} -.icon-food-014:before { - content: "b"; -} -.icon-food-027:before { - content: "c"; -} -.icon-food-040:before { - content: "d"; -} -.icon-food-041:before { - content: "e"; -} -.icon-food-028:before { - content: "f"; -} -.icon-food-015:before { - content: "g"; -} -.icon-food-002:before { - content: "h"; -} -.icon-food-003:before { - content: "i"; -} -.icon-food-016:before { - content: "j"; -} -.icon-food-029:before { - content: "k"; -} -.icon-food-042:before { - content: "l"; -} -.icon-food-043:before { - content: "m"; -} -.icon-food-030:before { - content: "n"; -} -.icon-food-017:before { - content: "o"; -} -.icon-food-004:before { - content: "p"; -} -.icon-food-005:before { - content: "q"; -} -.icon-food-018:before { - content: "r"; -} -.icon-food-031:before { - content: "s"; -} -.icon-food-044:before { - content: "t"; -} -.icon-food-045:before { - content: "u"; -} -.icon-food-032:before { - content: "v"; -} -.icon-food-019:before { - content: "w"; -} -.icon-food-006:before { - content: "x"; -} -.icon-food-007:before { - content: "y"; -} -.icon-food-020:before { - content: "z"; -} -.icon-food-033:before { - content: "A"; -} -.icon-food-046:before { - content: "B"; -} -.icon-food-047:before { - content: "C"; -} -.icon-food-034:before { - content: "D"; -} -.icon-food-021:before { - content: "E"; -} -.icon-food-008:before { - content: "F"; -} -.icon-food-009:before { - content: "G"; -} -.icon-food-022:before { - content: "H"; -} -.icon-food-035:before { - content: "I"; -} -.icon-food-048:before { - content: "J"; -} -.icon-food-049:before { - content: "K"; -} -.icon-food-036:before { - content: "L"; -} -.icon-food-023:before { - content: "M"; -} -.icon-food-010:before { - content: "N"; -} -.icon-food-011:before { - content: "O"; -} -.icon-food-024:before { - content: "P"; -} -.icon-food-037:before { - content: "Q"; -} -.icon-food-050:before { - content: "R"; -} -.icon-food-051:before { - content: "S"; -} -.icon-food-038:before { - content: "T"; -} -.icon-food-025:before { - content: "U"; -} -.icon-food-012:before { - content: "V"; -} -.icon-food-013:before { - content: "W"; -} -.icon-food-026:before { - content: "X"; -} -.icon-food-039:before { - content: "Y"; -} -.icon-food-052:before { - content: "Z"; -} -.icon-food-065:before { - content: "0"; -} -.icon-food-078:before { - content: "1"; -} -.icon-food-091:before { - content: "2"; -} -.icon-food-104:before { - content: "3"; -} -.icon-food-103:before { - content: "4"; -} -.icon-food-090:before { - content: "5"; -} -.icon-food-077:before { - content: "6"; -} -.icon-food-064:before { - content: "7"; -} -.icon-food-063:before { - content: "8"; -} -.icon-food-076:before { - content: "9"; -} -.icon-food-089:before { - content: "!"; -} -.icon-food-102:before { - content: "\""; -} -.icon-food-101:before { - content: "#"; -} -.icon-food-088:before { - content: "$"; -} -.icon-food-075:before { - content: "%"; -} -.icon-food-062:before { - content: "&"; -} -.icon-food-061:before { - content: "'"; -} -.icon-food-074:before { - content: "("; -} -.icon-food-087:before { - content: ")"; -} -.icon-food-100:before { - content: "*"; -} -.icon-food-099:before { - content: "+"; -} -.icon-food-086:before { - content: ","; -} -.icon-food-073:before { - content: "-"; -} -.icon-food-060:before { - content: "."; -} -.icon-food-059:before { - content: "/"; -} -.icon-food-072:before { - content: ":"; -} -.icon-food-085:before { - content: ";"; -} -.icon-food-098:before { - content: "<"; -} -.icon-food-097:before { - content: "="; -} -.icon-food-084:before { - content: ">"; -} -.icon-food-071:before { - content: "?"; -} -.icon-food-058:before { - content: "@"; -} -.icon-food-057:before { - content: "["; -} -.icon-food-070:before { - content: "]"; -} -.icon-food-083:before { - content: "^"; -} -.icon-food-096:before { - content: "_"; -} -.icon-food-095:before { - content: "`"; -} -.icon-food-082:before { - content: "{"; -} -.icon-food-069:before { - content: "|"; -} -.icon-food-056:before { - content: "}"; -} -.icon-food-055:before { - content: "~"; -} -.icon-food-068:before { - content: "\\"; -} -.icon-food-081:before { - content: "\e000"; -} -.icon-food-094:before { - content: "\e001"; -} -.icon-food-093:before { - content: "\e002"; -} -.icon-food-080:before { - content: "\e003"; -} -.icon-food-067:before { - content: "\e004"; -} -.icon-food-054:before { - content: "\e005"; -} -.icon-food-053:before { - content: "\e006"; -} -.icon-food-066:before { - content: "\e007"; -} -.icon-food-079:before { - content: "\e008"; -} -.icon-food-092:before { - content: "\e009"; -} -.icon-food-105:before { - content: "\e00a"; -} -.icon-food-118:before { - content: "\e00b"; -} -.icon-food-131:before { - content: "\e00c"; -} -.icon-food-144:before { - content: "\e00d"; -} -.icon-food-157:before { - content: "\e00e"; -} -.icon-food-170:before { - content: "\e00f"; -} -.icon-food-171:before { - content: "\e010"; -} -.icon-food-158:before { - content: "\e011"; -} -.icon-food-145:before { - content: "\e012"; -} -.icon-food-132:before { - content: "\e013"; -} -.icon-food-119:before { - content: "\e014"; -} -.icon-food-106:before { - content: "\e015"; -} -.icon-food-107:before { - content: "\e016"; -} -.icon-food-120:before { - content: "\e017"; -} -.icon-food-133:before { - content: "\e018"; -} -.icon-food-146:before { - content: "\e019"; -} -.icon-food-159:before { - content: "\e01a"; -} -.icon-food-172:before { - content: "\e01b"; -} -.icon-food-173:before { - content: "\e01c"; -} -.icon-food-160:before { - content: "\e01d"; -} -.icon-food-147:before { - content: "\e01e"; -} -.icon-food-134:before { - content: "\e01f"; -} -.icon-food-121:before { - content: "\e020"; -} -.icon-food-108:before { - content: "\e021"; -} -.icon-food-109:before { - content: "\e022"; -} -.icon-food-122:before { - content: "\e023"; -} -.icon-food-135:before { - content: "\e024"; -} -.icon-food-148:before { - content: "\e025"; -} -.icon-food-161:before { - content: "\e026"; -} -.icon-food-174:before { - content: "\e027"; -} -.icon-food-175:before { - content: "\e028"; -} -.icon-food-162:before { - content: "\e029"; -} -.icon-food-149:before { - content: "\e02a"; -} -.icon-food-136:before { - content: "\e02b"; -} -.icon-food-123:before { - content: "\e02c"; -} -.icon-food-110:before { - content: "\e02d"; -} -.icon-food-111:before { - content: "\e02e"; -} -.icon-food-124:before { - content: "\e02f"; -} -.icon-food-137:before { - content: "\e030"; -} -.icon-food-150:before { - content: "\e031"; -} -.icon-food-163:before { - content: "\e032"; -} -.icon-food-176:before { - content: "\e033"; -} -.icon-food-177:before { - content: "\e034"; -} -.icon-food-164:before { - content: "\e035"; -} -.icon-food-151:before { - content: "\e036"; -} -.icon-food-138:before { - content: "\e037"; -} -.icon-food-125:before { - content: "\e038"; -} -.icon-food-112:before { - content: "\e039"; -} -.icon-food-113:before { - content: "\e03a"; -} -.icon-food-126:before { - content: "\e03b"; -} -.icon-food-139:before { - content: "\e03c"; -} -.icon-food-152:before { - content: "\e03d"; -} -.icon-food-165:before { - content: "\e03e"; -} -.icon-food-178:before { - content: "\e03f"; -} -.icon-food-191:before { - content: "\e040"; -} -.icon-food-192:before { - content: "\e041"; -} -.icon-food-166:before { - content: "\e042"; -} -.icon-food-153:before { - content: "\e043"; -} -.icon-food-140:before { - content: "\e044"; -} -.icon-food-127:before { - content: "\e045"; -} -.icon-food-114:before { - content: "\e046"; -} -.icon-food-115:before { - content: "\e047"; -} -.icon-food-128:before { - content: "\e048"; -} -.icon-food-129:before { - content: "\e049"; -} -.icon-food-116:before { - content: "\e04a"; -} -.icon-food-117:before { - content: "\e04b"; -} -.icon-food-130:before { - content: "\e04c"; -} -.icon-food-143:before { - content: "\e04d"; -} -.icon-food-142:before { - content: "\e04e"; -} -.icon-food-141:before { - content: "\e04f"; -} -.icon-food-154:before { - content: "\e050"; -} -.icon-food-155:before { - content: "\e051"; -} -.icon-food-156:before { - content: "\e052"; -} -.icon-food-169:before { - content: "\e053"; -} -.icon-food-168:before { - content: "\e054"; -} -.icon-food-167:before { - content: "\e055"; -} -.icon-food-179:before { - content: "\e056"; -} -.icon-food-180:before { - content: "\e057"; -} -.icon-food-181:before { - content: "\e058"; -} -.icon-food-182:before { - content: "\e059"; -} -.icon-food-195:before { - content: "\e05a"; -} -.icon-food-194:before { - content: "\e05b"; -} -.icon-food-193:before { - content: "\e05c"; -} -.icon-food-190:before { - content: "\e05d"; -} -.icon-food-189:before { - content: "\e05e"; -} -.icon-food-188:before { - content: "\e05f"; -} -.icon-food-187:before { - content: "\e060"; -} -.icon-food-185:before { - content: "\e061"; -} -.icon-food-184:before { - content: "\e062"; -} -.icon-food-183:before { - content: "\e063"; -} -.icon-food-186:before { - content: "\e064"; -} -.icon-food-208:before { - content: "\e065"; -} -.icon-food-221:before { - content: "\e066"; -} -.icon-food-220:before { - content: "\e067"; -} -.icon-food-207:before { - content: "\e068"; -} -.icon-food-206:before { - content: "\e069"; -} -.icon-food-219:before { - content: "\e06a"; -} -.icon-food-205:before { - content: "\e06b"; -} -.icon-food-204:before { - content: "\e06c"; -} -.icon-food-217:before { - content: "\e06d"; -} -.icon-food-216:before { - content: "\e06e"; -} -.icon-food-203:before { - content: "\e06f"; -} -.icon-food-202:before { - content: "\e070"; -} -.icon-food-215:before { - content: "\e071"; -} -.icon-food-214:before { - content: "\e072"; -} -.icon-food-201:before { - content: "\e073"; -} -.icon-food-200:before { - content: "\e074"; -} -.icon-food-213:before { - content: "\e075"; -} -.icon-food-212:before { - content: "\e076"; -} -.icon-food-199:before { - content: "\e077"; -} -.icon-food-198:before { - content: "\e078"; -} -.icon-food-211:before { - content: "\e079"; -} -.icon-food-210:before { - content: "\e07a"; -} -.icon-food-197:before { - content: "\e07b"; -} -.icon-food-196:before { - content: "\e07c"; -} -.icon-food-209:before { - content: "\e07d"; -} -.icon-food-222:before { - content: "\e07e"; -} -.icon-food-235:before { - content: "\e07f"; -} -.icon-food-248:before { - content: "\e080"; -} -.icon-food-249:before { - content: "\e081"; -} -.icon-food-236:before { - content: "\e082"; -} -.icon-food-223:before { - content: "\e083"; -} -.icon-food-224:before { - content: "\e084"; -} -.icon-food-237:before { - content: "\e085"; -} -.icon-food-250:before { - content: "\e086"; -} -.icon-food-251:before { - content: "\e087"; -} -.icon-food-238:before { - content: "\e088"; -} -.icon-food-225:before { - content: "\e089"; -} -.icon-food-226:before { - content: "\e08a"; -} -.icon-food-239:before { - content: "\e08b"; -} -.icon-food-252:before { - content: "\e08c"; -} -.icon-food-253:before { - content: "\e08d"; -} -.icon-food-240:before { - content: "\e08e"; -} -.icon-food-227:before { - content: "\e08f"; -} -.icon-food-228:before { - content: "\e090"; -} -.icon-food-241:before { - content: "\e091"; -} -.icon-food-254:before { - content: "\e092"; -} -.icon-food-255:before { - content: "\e093"; -} -.icon-food-242:before { - content: "\e094"; -} -.icon-food-229:before { - content: "\e095"; -} -.icon-food-230:before { - content: "\e096"; -} -.icon-food-243:before { - content: "\e097"; -} -.icon-food-256:before { - content: "\e098"; -} -.icon-food-257:before { - content: "\e099"; -} -.icon-food-244:before { - content: "\e09a"; -} -.icon-food-231:before { - content: "\e09b"; -} -.icon-food-232:before { - content: "\e09c"; -} -.icon-food-245:before { - content: "\e09d"; -} -.icon-food-258:before { - content: "\e09e"; -} -.icon-food-218:before { - content: "\e09f"; -} -.icon-food-233:before { - content: "\e0a0"; -} -.icon-food-246:before { - content: "\e0a1"; -} -.icon-food-259:before { - content: "\e0a2"; -} -.icon-food-260:before { - content: "\e0a3"; -} -.icon-food-247:before { - content: "\e0a4"; -} -.icon-food-234:before { - content: "\e0a5"; -} -.icon-food-273:before { - content: "\e0a6"; -} -.icon-food-286:before { - content: "\e0a7"; -} -.icon-food-299:before { - content: "\e0a8"; -} -.icon-food-298:before { - content: "\e0a9"; -} -.icon-food-285:before { - content: "\e0aa"; -} -.icon-food-272:before { - content: "\e0ab"; -} -.icon-food-271:before { - content: "\e0ac"; -} -.icon-food-284:before { - content: "\e0ad"; -} -.icon-food-297:before { - content: "\e0ae"; -} -.icon-food-296:before { - content: "\e0af"; -} -.icon-food-283:before { - content: "\e0b0"; -} -.icon-food-270:before { - content: "\e0b1"; -} -.icon-food-269:before { - content: "\e0b2"; -} -.icon-food-282:before { - content: "\e0b3"; -} -.icon-food-295:before { - content: "\e0b4"; -} -.icon-food-294:before { - content: "\e0b5"; -} -.icon-food-281:before { - content: "\e0b6"; -} -.icon-food-268:before { - content: "\e0b7"; -} -.icon-food-267:before { - content: "\e0b8"; -} -.icon-food-280:before { - content: "\e0b9"; -} -.icon-food-293:before { - content: "\e0ba"; -} -.icon-food-292:before { - content: "\e0bb"; -} -.icon-food-279:before { - content: "\e0bc"; -} -.icon-food-266:before { - content: "\e0bd"; -} -.icon-food-265:before { - content: "\e0be"; -} -.icon-food-278:before { - content: "\e0bf"; -} -.icon-food-291:before { - content: "\e0c0"; -} -.icon-food-290:before { - content: "\e0c1"; -} -.icon-food-277:before { - content: "\e0c2"; -} -.icon-food-264:before { - content: "\e0c3"; -} -.icon-food-263:before { - content: "\e0c4"; -} -.icon-food-276:before { - content: "\e0c5"; -} -.icon-food-289:before { - content: "\e0c6"; -} -.icon-food-288:before { - content: "\e0c7"; -} -.icon-food-275:before { - content: "\e0c8"; -} -.icon-food-262:before { - content: "\e0c9"; -} -.icon-food-261:before { - content: "\e0ca"; -} -.icon-food-274:before { - content: "\e0cb"; -} -.icon-food-287:before { - content: "\e0cc"; -} -.icon-food-300:before { - content: "\e0cd"; -} - -/* Furniture */ -@font-face { - font-family: "furniture"; - src:url("furniture/webfont/furniture.eot"); - src:url("furniture/webfont/furnitured41d.eot?#iefix") format("embedded-opentype"), - url("furniture/webfont/furniture.woff") format("woff"), - url("furniture/webfont/furniture.ttf") format("truetype"), - url("furniture/webfont/furniture.svg#furniture") format("svg"); - font-weight: normal; - font-style: normal; -} - -[data-icon-furniture]:before { - font-family: "furniture" !important; - content: attr(data-icon-furniture); - font-style: normal !important; - font-weight: normal !important; - font-variant: normal !important; - text-transform: none !important; - speak: none; - line-height: 1; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} - -[class^="icon-furniture"]:before, -[class*=" icon-furniture"]:before { - font-family: "furniture" !important; - font-style: normal !important; - font-weight: normal !important; - font-variant: normal !important; - text-transform: none !important; - speak: none; - line-height: 1; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} - -.icon-furniture-001:before { - content: "a"; -} -.icon-furniture-014:before { - content: "b"; -} -.icon-furniture-027:before { - content: "c"; -} -.icon-furniture-040:before { - content: "d"; -} -.icon-furniture-041:before { - content: "e"; -} -.icon-furniture-028:before { - content: "f"; -} -.icon-furniture-015:before { - content: "g"; -} -.icon-furniture-002:before { - content: "h"; -} -.icon-furniture-003:before { - content: "i"; -} -.icon-furniture-016:before { - content: "j"; -} -.icon-furniture-029:before { - content: "k"; -} -.icon-furniture-042:before { - content: "l"; -} -.icon-furniture-043:before { - content: "m"; -} -.icon-furniture-030:before { - content: "n"; -} -.icon-furniture-017:before { - content: "o"; -} -.icon-furniture-004:before { - content: "p"; -} -.icon-furniture-005:before { - content: "q"; -} -.icon-furniture-018:before { - content: "r"; -} -.icon-furniture-031:before { - content: "s"; -} -.icon-furniture-044:before { - content: "t"; -} -.icon-furniture-045:before { - content: "u"; -} -.icon-furniture-032:before { - content: "v"; -} -.icon-furniture-019:before { - content: "w"; -} -.icon-furniture-006:before { - content: "x"; -} -.icon-furniture-007:before { - content: "y"; -} -.icon-furniture-020:before { - content: "z"; -} -.icon-furniture-033:before { - content: "A"; -} -.icon-furniture-046:before { - content: "B"; -} -.icon-furniture-047:before { - content: "C"; -} -.icon-furniture-034:before { - content: "D"; -} -.icon-furniture-021:before { - content: "E"; -} -.icon-furniture-008:before { - content: "F"; -} -.icon-furniture-009:before { - content: "G"; -} -.icon-furniture-022:before { - content: "H"; -} -.icon-furniture-035:before { - content: "I"; -} -.icon-furniture-048:before { - content: "J"; -} -.icon-furniture-049:before { - content: "K"; -} -.icon-furniture-036:before { - content: "L"; -} -.icon-furniture-023:before { - content: "M"; -} -.icon-furniture-010:before { - content: "N"; -} -.icon-furniture-011:before { - content: "O"; -} -.icon-furniture-024:before { - content: "P"; -} -.icon-furniture-037:before { - content: "Q"; -} -.icon-furniture-050:before { - content: "R"; -} -.icon-furniture-051:before { - content: "S"; -} -.icon-furniture-038:before { - content: "T"; -} -.icon-furniture-025:before { - content: "U"; -} -.icon-furniture-012:before { - content: "V"; -} -.icon-furniture-013:before { - content: "W"; -} -.icon-furniture-026:before { - content: "X"; -} -.icon-furniture-039:before { - content: "Y"; -} -.icon-furniture-052:before { - content: "Z"; -} -.icon-furniture-065:before { - content: "0"; -} -.icon-furniture-064:before { - content: "1"; -} -.icon-furniture-063:before { - content: "2"; -} -.icon-furniture-062:before { - content: "3"; -} -.icon-furniture-061:before { - content: "4"; -} -.icon-furniture-060:before { - content: "5"; -} -.icon-furniture-059:before { - content: "6"; -} -.icon-furniture-058:before { - content: "7"; -} -.icon-furniture-057:before { - content: "8"; -} -.icon-furniture-056:before { - content: "9"; -} -.icon-furniture-055:before { - content: "!"; -} -.icon-furniture-054:before { - content: "\""; -} -.icon-furniture-053:before { - content: "#"; -} -.icon-furniture-066:before { - content: "$"; -} -.icon-furniture-079:before { - content: "%"; -} -.icon-furniture-092:before { - content: "&"; -} -.icon-furniture-093:before { - content: "'"; -} -.icon-furniture-080:before { - content: "("; -} -.icon-furniture-067:before { - content: ")"; -} -.icon-furniture-068:before { - content: "*"; -} -.icon-furniture-081:before { - content: "+"; -} -.icon-furniture-094:before { - content: ","; -} -.icon-furniture-095:before { - content: "-"; -} -.icon-furniture-082:before { - content: "."; -} -.icon-furniture-069:before { - content: "/"; -} -.icon-furniture-070:before { - content: ":"; -} -.icon-furniture-083:before { - content: ";"; -} -.icon-furniture-096:before { - content: "<"; -} -.icon-furniture-097:before { - content: "="; -} -.icon-furniture-084:before { - content: ">"; -} -.icon-furniture-071:before { - content: "?"; -} -.icon-furniture-073:before { - content: "@"; -} -.icon-furniture-072:before { - content: "["; -} -.icon-furniture-085:before { - content: "]"; -} -.icon-furniture-098:before { - content: "^"; -} -.icon-furniture-099:before { - content: "_"; -} -.icon-furniture-086:before { - content: "`"; -} -.icon-furniture-087:before { - content: "{"; -} -.icon-furniture-100:before { - content: "|"; -} -.icon-furniture-075:before { - content: "}"; -} -.icon-furniture-074:before { - content: "~"; -} -.icon-furniture-076:before { - content: "\\"; -} -.icon-furniture-089:before { - content: "\e000"; -} -.icon-furniture-088:before { - content: "\e001"; -} -.icon-furniture-090:before { - content: "\e002"; -} -.icon-furniture-077:before { - content: "\e003"; -} -.icon-furniture-078:before { - content: "\e004"; -} -.icon-furniture-091:before { - content: "\e005"; -} - - -@charset "UTF-8"; - -@font-face { - font-family: "hotel-restaurant"; - src:url("hotel-restaurant/webfont/hotel-restaurant.eot"); - src:url("hotel-restaurant/webfont/hotel-restaurantd41d.eot?#iefix") format("embedded-opentype"), - url("hotel-restaurant/webfont/hotel-restaurant.woff") format("woff"), - url("hotel-restaurant/webfont/hotel-restaurant.ttf") format("truetype"), - url("hotel-restaurant/webfont/hotel-restaurant.svg#hotel-restaurant") format("svg"); - font-weight: normal; - font-style: normal; -} - -[data-icon-hotel-restaurant]:before { - font-family: "hotel-restaurant" !important; - content: attr(data-icon-hotel-restaurant); - font-style: normal !important; - font-weight: normal !important; - font-variant: normal !important; - text-transform: none !important; - speak: none; - line-height: 1; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} - -[class^="icon-hotel-restaurant"]:before, -[class*=" icon-hotel-restaurant"]:before { - font-family: "hotel-restaurant" !important; - font-style: normal !important; - font-weight: normal !important; - font-variant: normal !important; - text-transform: none !important; - speak: none; - line-height: 1; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} - -.icon-hotel-restaurant-001:before { - content: "a"; -} -.icon-hotel-restaurant-002:before { - content: "b"; -} -.icon-hotel-restaurant-003:before { - content: "c"; -} -.icon-hotel-restaurant-004:before { - content: "d"; -} -.icon-hotel-restaurant-005:before { - content: "e"; -} -.icon-hotel-restaurant-006:before { - content: "f"; -} -.icon-hotel-restaurant-007:before { - content: "g"; -} -.icon-hotel-restaurant-008:before { - content: "h"; -} -.icon-hotel-restaurant-009:before { - content: "i"; -} -.icon-hotel-restaurant-010:before { - content: "j"; -} -.icon-hotel-restaurant-011:before { - content: "k"; -} -.icon-hotel-restaurant-065:before { - content: "l"; -} -.icon-hotel-restaurant-012:before { - content: "m"; -} -.icon-hotel-restaurant-013:before { - content: "n"; -} -.icon-hotel-restaurant-026:before { - content: "o"; -} -.icon-hotel-restaurant-025:before { - content: "p"; -} -.icon-hotel-restaurant-024:before { - content: "q"; -} -.icon-hotel-restaurant-023:before { - content: "r"; -} -.icon-hotel-restaurant-022:before { - content: "s"; -} -.icon-hotel-restaurant-021:before { - content: "t"; -} -.icon-hotel-restaurant-020:before { - content: "u"; -} -.icon-hotel-restaurant-019:before { - content: "v"; -} -.icon-hotel-restaurant-018:before { - content: "w"; -} -.icon-hotel-restaurant-017:before { - content: "x"; -} -.icon-hotel-restaurant-016:before { - content: "y"; -} -.icon-hotel-restaurant-015:before { - content: "z"; -} -.icon-hotel-restaurant-014:before { - content: "A"; -} -.icon-hotel-restaurant-027:before { - content: "B"; -} -.icon-hotel-restaurant-028:before { - content: "C"; -} -.icon-hotel-restaurant-029:before { - content: "D"; -} -.icon-hotel-restaurant-030:before { - content: "E"; -} -.icon-hotel-restaurant-031:before { - content: "F"; -} -.icon-hotel-restaurant-032:before { - content: "G"; -} -.icon-hotel-restaurant-033:before { - content: "H"; -} -.icon-hotel-restaurant-034:before { - content: "I"; -} -.icon-hotel-restaurant-035:before { - content: "J"; -} -.icon-hotel-restaurant-036:before { - content: "K"; -} -.icon-hotel-restaurant-038:before { - content: "L"; -} -.icon-hotel-restaurant-039:before { - content: "M"; -} -.icon-hotel-restaurant-037:before { - content: "N"; -} -.icon-hotel-restaurant-052:before { - content: "O"; -} -.icon-hotel-restaurant-051:before { - content: "P"; -} -.icon-hotel-restaurant-050:before { - content: "Q"; -} -.icon-hotel-restaurant-049:before { - content: "R"; -} -.icon-hotel-restaurant-048:before { - content: "S"; -} -.icon-hotel-restaurant-047:before { - content: "T"; -} -.icon-hotel-restaurant-046:before { - content: "U"; -} -.icon-hotel-restaurant-045:before { - content: "V"; -} -.icon-hotel-restaurant-044:before { - content: "W"; -} -.icon-hotel-restaurant-042:before { - content: "X"; -} -.icon-hotel-restaurant-041:before { - content: "Y"; -} -.icon-hotel-restaurant-040:before { - content: "Z"; -} -.icon-hotel-restaurant-043:before { - content: "0"; -} -.icon-hotel-restaurant-053:before { - content: "1"; -} -.icon-hotel-restaurant-054:before { - content: "2"; -} -.icon-hotel-restaurant-055:before { - content: "3"; -} -.icon-hotel-restaurant-056:before { - content: "4"; -} -.icon-hotel-restaurant-057:before { - content: "5"; -} -.icon-hotel-restaurant-058:before { - content: "6"; -} -.icon-hotel-restaurant-059:before { - content: "7"; -} -.icon-hotel-restaurant-060:before { - content: "8"; -} -.icon-hotel-restaurant-061:before { - content: "9"; -} -.icon-hotel-restaurant-062:before { - content: "!"; -} -.icon-hotel-restaurant-063:before { - content: "\""; -} -.icon-hotel-restaurant-064:before { - content: "#"; -} -.icon-hotel-restaurant-066:before { - content: "$"; -} -.icon-hotel-restaurant-079:before { - content: "%"; -} -.icon-hotel-restaurant-092:before { - content: "&"; -} -.icon-hotel-restaurant-105:before { - content: "'"; -} -.icon-hotel-restaurant-118:before { - content: "("; -} -.icon-hotel-restaurant-131:before { - content: ")"; -} -.icon-hotel-restaurant-144:before { - content: "*"; -} -.icon-hotel-restaurant-157:before { - content: "+"; -} -.icon-hotel-restaurant-067:before { - content: ","; -} -.icon-hotel-restaurant-080:before { - content: "-"; -} -.icon-hotel-restaurant-068:before { - content: "."; -} -.icon-hotel-restaurant-081:before { - content: "/"; -} -.icon-hotel-restaurant-093:before { - content: ":"; -} -.icon-hotel-restaurant-094:before { - content: ";"; -} -.icon-hotel-restaurant-095:before { - content: "<"; -} -.icon-hotel-restaurant-096:before { - content: "="; -} -.icon-hotel-restaurant-097:before { - content: ">"; -} -.icon-hotel-restaurant-098:before { - content: "?"; -} -.icon-hotel-restaurant-099:before { - content: "@"; -} -.icon-hotel-restaurant-100:before { - content: "["; -} -.icon-hotel-restaurant-101:before { - content: "]"; -} -.icon-hotel-restaurant-102:before { - content: "^"; -} -.icon-hotel-restaurant-103:before { - content: "_"; -} -.icon-hotel-restaurant-104:before { - content: "`"; -} -.icon-hotel-restaurant-091:before { - content: "{"; -} -.icon-hotel-restaurant-090:before { - content: "|"; -} -.icon-hotel-restaurant-089:before { - content: "}"; -} -.icon-hotel-restaurant-088:before { - content: "~"; -} -.icon-hotel-restaurant-087:before { - content: "\\"; -} -.icon-hotel-restaurant-086:before { - content: "\e000"; -} -.icon-hotel-restaurant-085:before { - content: "\e001"; -} -.icon-hotel-restaurant-084:before { - content: "\e002"; -} -.icon-hotel-restaurant-083:before { - content: "\e003"; -} -.icon-hotel-restaurant-082:before { - content: "\e004"; -} -.icon-hotel-restaurant-069:before { - content: "\e005"; -} -.icon-hotel-restaurant-070:before { - content: "\e006"; -} -.icon-hotel-restaurant-071:before { - content: "\e007"; -} -.icon-hotel-restaurant-072:before { - content: "\e008"; -} -.icon-hotel-restaurant-073:before { - content: "\e009"; -} -.icon-hotel-restaurant-074:before { - content: "\e00a"; -} -.icon-hotel-restaurant-075:before { - content: "\e00b"; -} -.icon-hotel-restaurant-076:before { - content: "\e00c"; -} -.icon-hotel-restaurant-077:before { - content: "\e00d"; -} -.icon-hotel-restaurant-078:before { - content: "\e00e"; -} -.icon-hotel-restaurant-117:before { - content: "\e00f"; -} -.icon-hotel-restaurant-116:before { - content: "\e010"; -} -.icon-hotel-restaurant-115:before { - content: "\e011"; -} -.icon-hotel-restaurant-114:before { - content: "\e012"; -} -.icon-hotel-restaurant-113:before { - content: "\e013"; -} -.icon-hotel-restaurant-112:before { - content: "\e014"; -} -.icon-hotel-restaurant-111:before { - content: "\e015"; -} -.icon-hotel-restaurant-110:before { - content: "\e016"; -} -.icon-hotel-restaurant-109:before { - content: "\e017"; -} -.icon-hotel-restaurant-108:before { - content: "\e018"; -} -.icon-hotel-restaurant-107:before { - content: "\e019"; -} -.icon-hotel-restaurant-106:before { - content: "\e01a"; -} -.icon-hotel-restaurant-119:before { - content: "\e01b"; -} -.icon-hotel-restaurant-120:before { - content: "\e01c"; -} -.icon-hotel-restaurant-121:before { - content: "\e01d"; -} -.icon-hotel-restaurant-122:before { - content: "\e01e"; -} -.icon-hotel-restaurant-123:before { - content: "\e01f"; -} -.icon-hotel-restaurant-124:before { - content: "\e020"; -} -.icon-hotel-restaurant-125:before { - content: "\e021"; -} -.icon-hotel-restaurant-126:before { - content: "\e022"; -} -.icon-hotel-restaurant-127:before { - content: "\e023"; -} -.icon-hotel-restaurant-128:before { - content: "\e024"; -} -.icon-hotel-restaurant-129:before { - content: "\e025"; -} -.icon-hotel-restaurant-130:before { - content: "\e026"; -} -.icon-hotel-restaurant-143:before { - content: "\e027"; -} -.icon-hotel-restaurant-142:before { - content: "\e028"; -} -.icon-hotel-restaurant-141:before { - content: "\e029"; -} -.icon-hotel-restaurant-140:before { - content: "\e02a"; -} -.icon-hotel-restaurant-139:before { - content: "\e02b"; -} -.icon-hotel-restaurant-138:before { - content: "\e02c"; -} -.icon-hotel-restaurant-137:before { - content: "\e02d"; -} -.icon-hotel-restaurant-136:before { - content: "\e02e"; -} -.icon-hotel-restaurant-135:before { - content: "\e02f"; -} -.icon-hotel-restaurant-134:before { - content: "\e030"; -} -.icon-hotel-restaurant-133:before { - content: "\e031"; -} -.icon-hotel-restaurant-132:before { - content: "\e032"; -} -.icon-hotel-restaurant-145:before { - content: "\e033"; -} -.icon-hotel-restaurant-146:before { - content: "\e034"; -} -.icon-hotel-restaurant-147:before { - content: "\e035"; -} -.icon-hotel-restaurant-148:before { - content: "\e036"; -} -.icon-hotel-restaurant-149:before { - content: "\e037"; -} -.icon-hotel-restaurant-150:before { - content: "\e038"; -} -.icon-hotel-restaurant-151:before { - content: "\e039"; -} -.icon-hotel-restaurant-152:before { - content: "\e03a"; -} -.icon-hotel-restaurant-153:before { - content: "\e03b"; -} -.icon-hotel-restaurant-154:before { - content: "\e03c"; -} -.icon-hotel-restaurant-155:before { - content: "\e03d"; -} -.icon-hotel-restaurant-156:before { - content: "\e03e"; -} -.icon-hotel-restaurant-169:before { - content: "\e03f"; -} -.icon-hotel-restaurant-168:before { - content: "\e040"; -} -.icon-hotel-restaurant-167:before { - content: "\e041"; -} -.icon-hotel-restaurant-166:before { - content: "\e042"; -} -.icon-hotel-restaurant-165:before { - content: "\e043"; -} -.icon-hotel-restaurant-164:before { - content: "\e044"; -} -.icon-hotel-restaurant-163:before { - content: "\e045"; -} -.icon-hotel-restaurant-162:before { - content: "\e046"; -} -.icon-hotel-restaurant-161:before { - content: "\e047"; -} -.icon-hotel-restaurant-160:before { - content: "\e048"; -} -.icon-hotel-restaurant-159:before { - content: "\e049"; -} -.icon-hotel-restaurant-158:before { - content: "\e04a"; -} -.icon-hotel-restaurant-170:before { - content: "\e04b"; -} -.icon-hotel-restaurant-171:before { - content: "\e04c"; -} -.icon-hotel-restaurant-172:before { - content: "\e04d"; -} -.icon-hotel-restaurant-173:before { - content: "\e04e"; -} -.icon-hotel-restaurant-174:before { - content: "\e04f"; -} -.icon-hotel-restaurant-175:before { - content: "\e050"; -} -.icon-hotel-restaurant-176:before { - content: "\e051"; -} -.icon-hotel-restaurant-177:before { - content: "\e052"; -} -.icon-hotel-restaurant-178:before { - content: "\e053"; -} -.icon-hotel-restaurant-179:before { - content: "\e054"; -} -.icon-hotel-restaurant-180:before { - content: "\e055"; -} -.icon-hotel-restaurant-181:before { - content: "\e056"; -} -.icon-hotel-restaurant-182:before { - content: "\e057"; -} -.icon-hotel-restaurant-195:before { - content: "\e058"; -} -.icon-hotel-restaurant-194:before { - content: "\e059"; -} -.icon-hotel-restaurant-193:before { - content: "\e05a"; -} -.icon-hotel-restaurant-192:before { - content: "\e05b"; -} -.icon-hotel-restaurant-191:before { - content: "\e05c"; -} -.icon-hotel-restaurant-190:before { - content: "\e05d"; -} -.icon-hotel-restaurant-189:before { - content: "\e05e"; -} -.icon-hotel-restaurant-188:before { - content: "\e05f"; -} -.icon-hotel-restaurant-187:before { - content: "\e060"; -} -.icon-hotel-restaurant-186:before { - content: "\e061"; -} -.icon-hotel-restaurant-185:before { - content: "\e062"; -} -.icon-hotel-restaurant-184:before { - content: "\e063"; -} -.icon-hotel-restaurant-183:before { - content: "\e064"; -} -.icon-hotel-restaurant-196:before { - content: "\e065"; -} -.icon-hotel-restaurant-197:before { - content: "\e066"; -} -.icon-hotel-restaurant-198:before { - content: "\e067"; -} -.icon-hotel-restaurant-199:before { - content: "\e068"; -} -.icon-hotel-restaurant-200:before { - content: "\e069"; -} -.icon-hotel-restaurant-201:before { - content: "\e06a"; -} -.icon-hotel-restaurant-202:before { - content: "\e06b"; -} -.icon-hotel-restaurant-203:before { - content: "\e06c"; -} -.icon-hotel-restaurant-204:before { - content: "\e06d"; -} -.icon-hotel-restaurant-205:before { - content: "\e06e"; -} -.icon-hotel-restaurant-206:before { - content: "\e06f"; -} -.icon-hotel-restaurant-207:before { - content: "\e070"; -} -.icon-hotel-restaurant-208:before { - content: "\e071"; -} -.icon-hotel-restaurant-221:before { - content: "\e072"; -} -.icon-hotel-restaurant-220:before { - content: "\e073"; -} -.icon-hotel-restaurant-219:before { - content: "\e074"; -} -.icon-hotel-restaurant-218:before { - content: "\e075"; -} -.icon-hotel-restaurant-217:before { - content: "\e076"; -} -.icon-hotel-restaurant-216:before { - content: "\e077"; -} -.icon-hotel-restaurant-215:before { - content: "\e078"; -} -.icon-hotel-restaurant-214:before { - content: "\e079"; -} -.icon-hotel-restaurant-213:before { - content: "\e07a"; -} -.icon-hotel-restaurant-212:before { - content: "\e07b"; -} -.icon-hotel-restaurant-211:before { - content: "\e07c"; -} -.icon-hotel-restaurant-210:before { - content: "\e07d"; -} -.icon-hotel-restaurant-209:before { - content: "\e07e"; -} -.icon-hotel-restaurant-222:before { - content: "\e07f"; -} -.icon-hotel-restaurant-223:before { - content: "\e080"; -} -.icon-hotel-restaurant-224:before { - content: "\e081"; -} -.icon-hotel-restaurant-225:before { - content: "\e082"; -} -.icon-hotel-restaurant-226:before { - content: "\e083"; -} -.icon-hotel-restaurant-227:before { - content: "\e084"; -} -.icon-hotel-restaurant-228:before { - content: "\e085"; -} -.icon-hotel-restaurant-229:before { - content: "\e086"; -} -.icon-hotel-restaurant-230:before { - content: "\e087"; -} -.icon-hotel-restaurant-231:before { - content: "\e088"; -} -.icon-hotel-restaurant-232:before { - content: "\e089"; -} -.icon-hotel-restaurant-233:before { - content: "\e08a"; -} -.icon-hotel-restaurant-234:before { - content: "\e08b"; -} -.icon-hotel-restaurant-247:before { - content: "\e08c"; -} -.icon-hotel-restaurant-246:before { - content: "\e08d"; -} -.icon-hotel-restaurant-245:before { - content: "\e08e"; -} -.icon-hotel-restaurant-244:before { - content: "\e08f"; -} -.icon-hotel-restaurant-243:before { - content: "\e090"; -} -.icon-hotel-restaurant-242:before { - content: "\e091"; -} -.icon-hotel-restaurant-241:before { - content: "\e092"; -} -.icon-hotel-restaurant-240:before { - content: "\e093"; -} -.icon-hotel-restaurant-239:before { - content: "\e094"; -} -.icon-hotel-restaurant-238:before { - content: "\e095"; -} -.icon-hotel-restaurant-237:before { - content: "\e096"; -} -.icon-hotel-restaurant-236:before { - content: "\e097"; -} -.icon-hotel-restaurant-235:before { - content: "\e098"; -} -.icon-hotel-restaurant-248:before { - content: "\e099"; -} -.icon-hotel-restaurant-249:before { - content: "\e09a"; -} -.icon-hotel-restaurant-250:before { - content: "\e09b"; -} - -@charset "UTF-8"; - -@font-face { - font-family: "media"; - src:url("media/webfont/media.eot"); - src:url("media/webfont/mediad41d.eot?#iefix") format("embedded-opentype"), - url("media/webfont/media.woff") format("woff"), - url("media/webfont/media.ttf") format("truetype"), - url("media/webfont/media.svg#media") format("svg"); - font-weight: normal; - font-style: normal; -} - -[data-icon-media]:before { - font-family: "media" !important; - content: attr(data-icon-media); - font-style: normal !important; - font-weight: normal !important; - font-variant: normal !important; - text-transform: none !important; - speak: none; - line-height: 1; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} - -[class^="icon-media"]:before, -[class*=" icon-media"]:before { - font-family: "media" !important; - font-style: normal !important; - font-weight: normal !important; - font-variant: normal !important; - text-transform: none !important; - speak: none; - line-height: 1; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} - -.icon-media-001:before { - content: "a"; -} -.icon-media-014:before { - content: "b"; -} -.icon-media-027:before { - content: "c"; -} -.icon-media-040:before { - content: "d"; -} -.icon-media-041:before { - content: "e"; -} -.icon-media-028:before { - content: "f"; -} -.icon-media-015:before { - content: "g"; -} -.icon-media-002:before { - content: "h"; -} -.icon-media-003:before { - content: "i"; -} -.icon-media-016:before { - content: "j"; -} -.icon-media-029:before { - content: "k"; -} -.icon-media-042:before { - content: "l"; -} -.icon-media-043:before { - content: "m"; -} -.icon-media-030:before { - content: "n"; -} -.icon-media-017:before { - content: "o"; -} -.icon-media-004:before { - content: "p"; -} -.icon-media-005:before { - content: "q"; -} -.icon-media-018:before { - content: "r"; -} -.icon-media-031:before { - content: "s"; -} -.icon-media-044:before { - content: "t"; -} -.icon-media-045:before { - content: "u"; -} -.icon-media-032:before { - content: "v"; -} -.icon-media-019:before { - content: "w"; -} -.icon-media-006:before { - content: "x"; -} -.icon-media-007:before { - content: "y"; -} -.icon-media-020:before { - content: "z"; -} -.icon-media-033:before { - content: "A"; -} -.icon-media-046:before { - content: "B"; -} -.icon-media-047:before { - content: "C"; -} -.icon-media-034:before { - content: "D"; -} -.icon-media-021:before { - content: "E"; -} -.icon-media-008:before { - content: "F"; -} -.icon-media-009:before { - content: "G"; -} -.icon-media-022:before { - content: "H"; -} -.icon-media-035:before { - content: "I"; -} -.icon-media-048:before { - content: "J"; -} -.icon-media-049:before { - content: "K"; -} -.icon-media-036:before { - content: "L"; -} -.icon-media-023:before { - content: "M"; -} -.icon-media-010:before { - content: "N"; -} -.icon-media-011:before { - content: "O"; -} -.icon-media-024:before { - content: "P"; -} -.icon-media-037:before { - content: "Q"; -} -.icon-media-050:before { - content: "R"; -} -.icon-media-063:before { - content: "S"; -} -.icon-media-064:before { - content: "T"; -} -.icon-media-051:before { - content: "U"; -} -.icon-media-038:before { - content: "V"; -} -.icon-media-025:before { - content: "W"; -} -.icon-media-012:before { - content: "X"; -} -.icon-media-013:before { - content: "Y"; -} -.icon-media-026:before { - content: "Z"; -} -.icon-media-039:before { - content: "0"; -} -.icon-media-052:before { - content: "1"; -} -.icon-media-065:before { - content: "2"; -} -.icon-media-062:before { - content: "3"; -} -.icon-media-061:before { - content: "4"; -} -.icon-media-060:before { - content: "5"; -} -.icon-media-059:before { - content: "6"; -} -.icon-media-058:before { - content: "7"; -} -.icon-media-057:before { - content: "8"; -} -.icon-media-056:before { - content: "9"; -} -.icon-media-055:before { - content: "!"; -} -.icon-media-054:before { - content: "\""; -} -.icon-media-053:before { - content: "#"; -} -.icon-media-066:before { - content: "$"; -} -.icon-media-079:before { - content: "%"; -} -.icon-media-092:before { - content: "&"; -} -.icon-media-105:before { - content: "'"; -} -.icon-media-118:before { - content: "("; -} -.icon-media-119:before { - content: ")"; -} -.icon-media-106:before { - content: "*"; -} -.icon-media-093:before { - content: "+"; -} -.icon-media-080:before { - content: ","; -} -.icon-media-067:before { - content: "-"; -} -.icon-media-068:before { - content: "."; -} -.icon-media-081:before { - content: "/"; -} -.icon-media-094:before { - content: ":"; -} -.icon-media-107:before { - content: ";"; -} -.icon-media-120:before { - content: "<"; -} -.icon-media-121:before { - content: "="; -} -.icon-media-108:before { - content: ">"; -} -.icon-media-095:before { - content: "?"; -} -.icon-media-082:before { - content: "@"; -} -.icon-media-069:before { - content: "["; -} -.icon-media-070:before { - content: "]"; -} -.icon-media-083:before { - content: "^"; -} -.icon-media-096:before { - content: "_"; -} -.icon-media-109:before { - content: "`"; -} -.icon-media-122:before { - content: "{"; -} -.icon-media-123:before { - content: "|"; -} -.icon-media-110:before { - content: "}"; -} -.icon-media-097:before { - content: "~"; -} -.icon-media-084:before { - content: "\\"; -} -.icon-media-071:before { - content: "\e000"; -} -.icon-media-072:before { - content: "\e001"; -} -.icon-media-085:before { - content: "\e002"; -} -.icon-media-098:before { - content: "\e003"; -} -.icon-media-111:before { - content: "\e004"; -} -.icon-media-124:before { - content: "\e005"; -} -.icon-media-125:before { - content: "\e006"; -} -.icon-media-112:before { - content: "\e007"; -} -.icon-media-099:before { - content: "\e008"; -} -.icon-media-086:before { - content: "\e009"; -} -.icon-media-073:before { - content: "\e00a"; -} -.icon-media-074:before { - content: "\e00b"; -} -.icon-media-087:before { - content: "\e00c"; -} -.icon-media-100:before { - content: "\e00d"; -} -.icon-media-113:before { - content: "\e00e"; -} -.icon-media-126:before { - content: "\e00f"; -} -.icon-media-127:before { - content: "\e010"; -} -.icon-media-114:before { - content: "\e011"; -} -.icon-media-101:before { - content: "\e012"; -} -.icon-media-088:before { - content: "\e013"; -} -.icon-media-075:before { - content: "\e014"; -} -.icon-media-076:before { - content: "\e015"; -} -.icon-media-089:before { - content: "\e016"; -} -.icon-media-090:before { - content: "\e017"; -} -.icon-media-077:before { - content: "\e018"; -} -.icon-media-078:before { - content: "\e019"; -} -.icon-media-091:before { - content: "\e01a"; -} -.icon-media-104:before { - content: "\e01b"; -} -.icon-media-103:before { - content: "\e01c"; -} -.icon-media-102:before { - content: "\e01d"; -} -.icon-media-115:before { - content: "\e01e"; -} -.icon-media-116:before { - content: "\e01f"; -} -.icon-media-117:before { - content: "\e020"; -} -.icon-media-130:before { - content: "\e021"; -} -.icon-media-129:before { - content: "\e022"; -} -.icon-media-128:before { - content: "\e023"; -} - -/* medical-and-health */ -@font-face { - font-family: "medical-and-health"; - src:url("medical/webfont/medical-and-health.eot"); - src:url("medical/webfont/medical-and-healthd41d.eot?#iefix") format("embedded-opentype"), - url("medical/webfont/medical-and-health.woff") format("woff"), - url("medical/webfont/medical-and-health.ttf") format("truetype"), - url("medical/webfont/medical-and-health.svg#medical-and-health") format("svg"); - font-weight: normal; - font-style: normal; -} - -[data-icon-medical]:before { - font-family: "medical-and-health" !important; - content: attr(data-icon-medical); - font-style: normal !important; - font-weight: normal !important; - font-variant: normal !important; - text-transform: none !important; - speak: none; - line-height: 1; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} - -[class^="icon-medical"]:before, -[class*=" icon-medical"]:before { - font-family: "medical-and-health" !important; - font-style: normal !important; - font-weight: normal !important; - font-variant: normal !important; - text-transform: none !important; - speak: none; - line-height: 1; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} - -.icon-medical-001:before { - content: "a"; -} -.icon-medical-002:before { - content: "b"; -} -.icon-medical-015:before { - content: "c"; -} -.icon-medical-014:before { - content: "d"; -} -.icon-medical-027:before { - content: "e"; -} -.icon-medical-028:before { - content: "f"; -} -.icon-medical-029:before { - content: "g"; -} -.icon-medical-016:before { - content: "h"; -} -.icon-medical-003:before { - content: "i"; -} -.icon-medical-004:before { - content: "j"; -} -.icon-medical-017:before { - content: "k"; -} -.icon-medical-030:before { - content: "l"; -} -.icon-medical-031:before { - content: "m"; -} -.icon-medical-018:before { - content: "n"; -} -.icon-medical-005:before { - content: "o"; -} -.icon-medical-006:before { - content: "p"; -} -.icon-medical-019:before { - content: "q"; -} -.icon-medical-032:before { - content: "r"; -} -.icon-medical-033:before { - content: "s"; -} -.icon-medical-020:before { - content: "t"; -} -.icon-medical-007:before { - content: "u"; -} -.icon-medical-008:before { - content: "v"; -} -.icon-medical-021:before { - content: "w"; -} -.icon-medical-034:before { - content: "x"; -} -.icon-medical-035:before { - content: "y"; -} -.icon-medical-022:before { - content: "z"; -} -.icon-medical-009:before { - content: "A"; -} -.icon-medical-010:before { - content: "B"; -} -.icon-medical-023:before { - content: "C"; -} -.icon-medical-036:before { - content: "D"; -} -.icon-medical-037:before { - content: "E"; -} -.icon-medical-024:before { - content: "F"; -} -.icon-medical-011:before { - content: "G"; -} -.icon-medical-012:before { - content: "H"; -} -.icon-medical-025:before { - content: "I"; -} -.icon-medical-038:before { - content: "J"; -} -.icon-medical-039:before { - content: "K"; -} -.icon-medical-026:before { - content: "L"; -} -.icon-medical-013:before { - content: "M"; -} -.icon-medical-040:before { - content: "N"; -} -.icon-medical-053:before { - content: "O"; -} -.icon-medical-066:before { - content: "P"; -} -.icon-medical-079:before { - content: "Q"; -} -.icon-medical-092:before { - content: "R"; -} -.icon-medical-093:before { - content: "S"; -} -.icon-medical-080:before { - content: "T"; -} -.icon-medical-067:before { - content: "U"; -} -.icon-medical-054:before { - content: "V"; -} -.icon-medical-041:before { - content: "W"; -} -.icon-medical-042:before { - content: "X"; -} -.icon-medical-055:before { - content: "Y"; -} -.icon-medical-068:before { - content: "Z"; -} -.icon-medical-081:before { - content: "0"; -} -.icon-medical-094:before { - content: "1"; -} -.icon-medical-096:before { - content: "2"; -} -.icon-medical-082:before { - content: "3"; -} -.icon-medical-095:before { - content: "4"; -} -.icon-medical-069:before { - content: "5"; -} -.icon-medical-056:before { - content: "6"; -} -.icon-medical-043:before { - content: "7"; -} -.icon-medical-044:before { - content: "8"; -} -.icon-medical-057:before { - content: "9"; -} -.icon-medical-070:before { - content: "!"; -} -.icon-medical-083:before { - content: "\""; -} -.icon-medical-084:before { - content: "#"; -} -.icon-medical-071:before { - content: "$"; -} -.icon-medical-058:before { - content: "%"; -} -.icon-medical-045:before { - content: "&"; -} -.icon-medical-046:before { - content: "'"; -} -.icon-medical-059:before { - content: "("; -} -.icon-medical-098:before { - content: ")"; -} -.icon-medical-097:before { - content: "*"; -} -.icon-medical-085:before { - content: "+"; -} -.icon-medical-072:before { - content: ","; -} -.icon-medical-073:before { - content: "-"; -} -.icon-medical-086:before { - content: "."; -} -.icon-medical-099:before { - content: "/"; -} -.icon-medical-100:before { - content: ":"; -} -.icon-medical-087:before { - content: ";"; -} -.icon-medical-074:before { - content: "<"; -} -.icon-medical-060:before { - content: "="; -} -.icon-medical-061:before { - content: ">"; -} -.icon-medical-047:before { - content: "?"; -} -.icon-medical-048:before { - content: "@"; -} -.icon-medical-049:before { - content: "["; -} -.icon-medical-062:before { - content: "]"; -} -.icon-medical-075:before { - content: "^"; -} -.icon-medical-088:before { - content: "_"; -} -.icon-medical-089:before { - content: "`"; -} -.icon-medical-076:before { - content: "{"; -} -.icon-medical-063:before { - content: "|"; -} -.icon-medical-050:before { - content: "}"; -} -.icon-medical-051:before { - content: "~"; -} -.icon-medical-064:before { - content: "\\"; -} -.icon-medical-077:before { - content: "\e000"; -} -.icon-medical-090:before { - content: "\e001"; -} -.icon-medical-091:before { - content: "\e002"; -} -.icon-medical-078:before { - content: "\e003"; -} -.icon-medical-065:before { - content: "\e004"; -} -.icon-medical-052:before { - content: "\e005"; -} - -/* Music */ -@font-face { - font-family: "music"; - src:url("music/webfont/music.eot"); - src:url("music/webfont/musicd41d.eot?#iefix") format("embedded-opentype"), - url("music/webfont/music.woff") format("woff"), - url("music/webfont/music.ttf") format("truetype"), - url("music/webfont/music.svg#music") format("svg"); - font-weight: normal; - font-style: normal; -} - -[data-icon-music]:before { - font-family: "music" !important; - content: attr(data-icon-music); - font-style: normal !important; - font-weight: normal !important; - font-variant: normal !important; - text-transform: none !important; - speak: none; - line-height: 1; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} - -[class^="icon-music"]:before, -[class*=" icon-music"]:before { - font-family: "music" !important; - font-style: normal !important; - font-weight: normal !important; - font-variant: normal !important; - text-transform: none !important; - speak: none; - line-height: 1; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} - -.icon-music-001:before { - content: "a"; -} -.icon-music-014:before { - content: "b"; -} -.icon-music-027:before { - content: "c"; -} -.icon-music-040:before { - content: "d"; -} -.icon-music-053:before { - content: "e"; -} -.icon-music-054:before { - content: "f"; -} -.icon-music-041:before { - content: "g"; -} -.icon-music-028:before { - content: "h"; -} -.icon-music-015:before { - content: "i"; -} -.icon-music-002:before { - content: "j"; -} -.icon-music-003:before { - content: "k"; -} -.icon-music-016:before { - content: "l"; -} -.icon-music-029:before { - content: "m"; -} -.icon-music-042:before { - content: "n"; -} -.icon-music-055:before { - content: "o"; -} -.icon-music-056:before { - content: "p"; -} -.icon-music-043:before { - content: "q"; -} -.icon-music-030:before { - content: "r"; -} -.icon-music-017:before { - content: "s"; -} -.icon-music-004:before { - content: "t"; -} -.icon-music-005:before { - content: "u"; -} -.icon-music-018:before { - content: "v"; -} -.icon-music-031:before { - content: "w"; -} -.icon-music-044:before { - content: "x"; -} -.icon-music-057:before { - content: "y"; -} -.icon-music-058:before { - content: "z"; -} -.icon-music-045:before { - content: "A"; -} -.icon-music-032:before { - content: "B"; -} -.icon-music-019:before { - content: "C"; -} -.icon-music-006:before { - content: "D"; -} -.icon-music-007:before { - content: "E"; -} -.icon-music-020:before { - content: "F"; -} -.icon-music-033:before { - content: "G"; -} -.icon-music-046:before { - content: "H"; -} -.icon-music-059:before { - content: "I"; -} -.icon-music-060:before { - content: "J"; -} -.icon-music-047:before { - content: "K"; -} -.icon-music-034:before { - content: "L"; -} -.icon-music-021:before { - content: "M"; -} -.icon-music-008:before { - content: "N"; -} -.icon-music-009:before { - content: "O"; -} -.icon-music-022:before { - content: "P"; -} -.icon-music-035:before { - content: "Q"; -} -.icon-music-048:before { - content: "R"; -} -.icon-music-061:before { - content: "S"; -} -.icon-music-062:before { - content: "T"; -} -.icon-music-036:before { - content: "U"; -} -.icon-music-023:before { - content: "V"; -} -.icon-music-010:before { - content: "W"; -} -.icon-music-011:before { - content: "X"; -} -.icon-music-024:before { - content: "Y"; -} -.icon-music-037:before { - content: "Z"; -} -.icon-music-049:before { - content: "0"; -} -.icon-music-050:before { - content: "1"; -} -.icon-music-051:before { - content: "2"; -} -.icon-music-038:before { - content: "3"; -} -.icon-music-025:before { - content: "4"; -} -.icon-music-012:before { - content: "5"; -} -.icon-music-013:before { - content: "6"; -} -.icon-music-026:before { - content: "7"; -} -.icon-music-039:before { - content: "8"; -} -.icon-music-052:before { - content: "9"; -} -.icon-music-065:before { - content: "!"; -} -.icon-music-064:before { - content: "\""; -} -.icon-music-063:before { - content: "#"; -} -.icon-music-078:before { - content: "$"; -} -.icon-music-091:before { - content: "%"; -} -.icon-music-090:before { - content: "&"; -} -.icon-music-077:before { - content: "'"; -} -.icon-music-076:before { - content: "("; -} -.icon-music-089:before { - content: ")"; -} -.icon-music-088:before { - content: "*"; -} -.icon-music-075:before { - content: "+"; -} -.icon-music-074:before { - content: ","; -} -.icon-music-087:before { - content: "-"; -} -.icon-music-086:before { - content: "."; -} -.icon-music-073:before { - content: "/"; -} -.icon-music-072:before { - content: ":"; -} -.icon-music-085:before { - content: ";"; -} -.icon-music-084:before { - content: "<"; -} -.icon-music-071:before { - content: "="; -} -.icon-music-070:before { - content: ">"; -} -.icon-music-083:before { - content: "?"; -} -.icon-music-082:before { - content: "@"; -} -.icon-music-069:before { - content: "["; -} -.icon-music-068:before { - content: "]"; -} -.icon-music-081:before { - content: "^"; -} -.icon-music-080:before { - content: "_"; -} -.icon-music-067:before { - content: "`"; -} -.icon-music-066:before { - content: "{"; -} -.icon-music-079:before { - content: "|"; -} -.icon-music-092:before { - content: "}"; -} -.icon-music-093:before { - content: "~"; -} -.icon-music-094:before { - content: "\\"; -} -.icon-music-095:before { - content: "\e000"; -} -.icon-music-096:before { - content: "\e001"; -} -.icon-music-097:before { - content: "\e002"; -} -.icon-music-098:before { - content: "\e003"; -} -.icon-music-099:before { - content: "\e004"; -} -.icon-music-100:before { - content: "\e005"; -} - -/* Real Estate */ -@font-face { - font-family: "real-estate"; - src:url("real-estate/webfont/real-estate.eot"); - src:url("real-estate/webfont/real-estated41d.eot?#iefix") format("embedded-opentype"), - url("real-estate/webfont/real-estate.woff") format("woff"), - url("real-estate/webfont/real-estate.ttf") format("truetype"), - url("real-estate/webfont/real-estate.svg#real-estate") format("svg"); - font-weight: normal; - font-style: normal; -} - -[data-icon-real-estate]:before { - font-family: "real-estate" !important; - content: attr(data-icon-real-estate); - font-style: normal !important; - font-weight: normal !important; - font-variant: normal !important; - text-transform: none !important; - speak: none; - line-height: 1; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} - -[class^="icon-real-estate"]:before, -[class*=" icon-real-estate"]:before { - font-family: "real-estate" !important; - font-style: normal !important; - font-weight: normal !important; - font-variant: normal !important; - text-transform: none !important; - speak: none; - line-height: 1; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} - -.icon-real-estate-001:before { - content: "a"; -} -.icon-real-estate-014:before { - content: "b"; -} -.icon-real-estate-027:before { - content: "c"; -} -.icon-real-estate-040:before { - content: "d"; -} -.icon-real-estate-053:before { - content: "e"; -} -.icon-real-estate-066:before { - content: "f"; -} -.icon-real-estate-079:before { - content: "g"; -} -.icon-real-estate-080:before { - content: "h"; -} -.icon-real-estate-081:before { - content: "i"; -} -.icon-real-estate-082:before { - content: "j"; -} -.icon-real-estate-083:before { - content: "k"; -} -.icon-real-estate-084:before { - content: "l"; -} -.icon-real-estate-085:before { - content: "m"; -} -.icon-real-estate-086:before { - content: "n"; -} -.icon-real-estate-087:before { - content: "o"; -} -.icon-real-estate-088:before { - content: "p"; -} -.icon-real-estate-089:before { - content: "q"; -} -.icon-real-estate-090:before { - content: "r"; -} -.icon-real-estate-077:before { - content: "s"; -} -.icon-real-estate-078:before { - content: "t"; -} -.icon-real-estate-065:before { - content: "u"; -} -.icon-real-estate-064:before { - content: "v"; -} -.icon-real-estate-063:before { - content: "w"; -} -.icon-real-estate-076:before { - content: "x"; -} -.icon-real-estate-075:before { - content: "y"; -} -.icon-real-estate-062:before { - content: "z"; -} -.icon-real-estate-061:before { - content: "A"; -} -.icon-real-estate-074:before { - content: "B"; -} -.icon-real-estate-073:before { - content: "C"; -} -.icon-real-estate-059:before { - content: "D"; -} -.icon-real-estate-072:before { - content: "E"; -} -.icon-real-estate-060:before { - content: "F"; -} -.icon-real-estate-058:before { - content: "G"; -} -.icon-real-estate-071:before { - content: "H"; -} -.icon-real-estate-070:before { - content: "I"; -} -.icon-real-estate-057:before { - content: "J"; -} -.icon-real-estate-056:before { - content: "K"; -} -.icon-real-estate-069:before { - content: "L"; -} -.icon-real-estate-068:before { - content: "M"; -} -.icon-real-estate-055:before { - content: "N"; -} -.icon-real-estate-054:before { - content: "O"; -} -.icon-real-estate-067:before { - content: "P"; -} -.icon-real-estate-041:before { - content: "Q"; -} -.icon-real-estate-028:before { - content: "R"; -} -.icon-real-estate-015:before { - content: "S"; -} -.icon-real-estate-002:before { - content: "T"; -} -.icon-real-estate-003:before { - content: "U"; -} -.icon-real-estate-016:before { - content: "V"; -} -.icon-real-estate-029:before { - content: "W"; -} -.icon-real-estate-042:before { - content: "X"; -} -.icon-real-estate-043:before { - content: "Y"; -} -.icon-real-estate-030:before { - content: "Z"; -} -.icon-real-estate-017:before { - content: "0"; -} -.icon-real-estate-004:before { - content: "1"; -} -.icon-real-estate-005:before { - content: "2"; -} -.icon-real-estate-018:before { - content: "3"; -} -.icon-real-estate-031:before { - content: "4"; -} -.icon-real-estate-044:before { - content: "5"; -} -.icon-real-estate-045:before { - content: "6"; -} -.icon-real-estate-032:before { - content: "7"; -} -.icon-real-estate-019:before { - content: "8"; -} -.icon-real-estate-006:before { - content: "9"; -} -.icon-real-estate-008:before { - content: "!"; -} -.icon-real-estate-020:before { - content: "\""; -} -.icon-real-estate-007:before { - content: "#"; -} -.icon-real-estate-021:before { - content: "$"; -} -.icon-real-estate-033:before { - content: "%"; -} -.icon-real-estate-034:before { - content: "&"; -} -.icon-real-estate-047:before { - content: "'"; -} -.icon-real-estate-046:before { - content: "("; -} -.icon-real-estate-048:before { - content: ")"; -} -.icon-real-estate-035:before { - content: "*"; -} -.icon-real-estate-022:before { - content: "+"; -} -.icon-real-estate-009:before { - content: ","; -} -.icon-real-estate-011:before { - content: "-"; -} -.icon-real-estate-023:before { - content: "."; -} -.icon-real-estate-010:before { - content: "/"; -} -.icon-real-estate-024:before { - content: ":"; -} -.icon-real-estate-037:before { - content: ";"; -} -.icon-real-estate-036:before { - content: "<"; -} -.icon-real-estate-049:before { - content: "="; -} -.icon-real-estate-050:before { - content: ">"; -} -.icon-real-estate-051:before { - content: "?"; -} -.icon-real-estate-038:before { - content: "@"; -} -.icon-real-estate-039:before { - content: "["; -} -.icon-real-estate-052:before { - content: "]"; -} -.icon-real-estate-026:before { - content: "^"; -} -.icon-real-estate-025:before { - content: "_"; -} -.icon-real-estate-012:before { - content: "`"; -} -.icon-real-estate-013:before { - content: "{"; -} - -/* Science */ -@font-face { - font-family: "science"; - src:url("science/webfont/science.eot"); - src:url("science/webfont/scienced41d.eot?#iefix") format("embedded-opentype"), - url("science/webfont/science.woff") format("woff"), - url("science/webfont/science.ttf") format("truetype"), - url("science/webfont/science.svg#science") format("svg"); - font-weight: normal; - font-style: normal; -} - -[data-icon-science]:before { - font-family: "science" !important; - content: attr(data-icon-science); - font-style: normal !important; - font-weight: normal !important; - font-variant: normal !important; - text-transform: none !important; - speak: none; - line-height: 1; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} - -[class^="icon-science"]:before, -[class*=" icon-science"]:before { - font-family: "science" !important; - font-style: normal !important; - font-weight: normal !important; - font-variant: normal !important; - text-transform: none !important; - speak: none; - line-height: 1; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} - -.icon-science-001:before { - content: "a"; -} -.icon-science-014:before { - content: "b"; -} -.icon-science-002:before { - content: "c"; -} -.icon-science-015:before { - content: "d"; -} -.icon-science-016:before { - content: "e"; -} -.icon-science-003:before { - content: "f"; -} -.icon-science-004:before { - content: "g"; -} -.icon-science-017:before { - content: "h"; -} -.icon-science-019:before { - content: "i"; -} -.icon-science-005:before { - content: "j"; -} -.icon-science-018:before { - content: "k"; -} -.icon-science-006:before { - content: "l"; -} -.icon-science-007:before { - content: "m"; -} -.icon-science-020:before { - content: "n"; -} -.icon-science-021:before { - content: "o"; -} -.icon-science-008:before { - content: "p"; -} -.icon-science-009:before { - content: "q"; -} -.icon-science-022:before { - content: "r"; -} -.icon-science-023:before { - content: "s"; -} -.icon-science-010:before { - content: "t"; -} -.icon-science-011:before { - content: "u"; -} -.icon-science-024:before { - content: "v"; -} -.icon-science-025:before { - content: "w"; -} -.icon-science-012:before { - content: "x"; -} -.icon-science-013:before { - content: "y"; -} -.icon-science-026:before { - content: "z"; -} -.icon-science-039:before { - content: "A"; -} -.icon-science-052:before { - content: "B"; -} -.icon-science-065:before { - content: "C"; -} -.icon-science-078:before { - content: "D"; -} -.icon-science-077:before { - content: "E"; -} -.icon-science-064:before { - content: "F"; -} -.icon-science-051:before { - content: "G"; -} -.icon-science-038:before { - content: "H"; -} -.icon-science-037:before { - content: "I"; -} -.icon-science-050:before { - content: "J"; -} -.icon-science-063:before { - content: "K"; -} -.icon-science-076:before { - content: "L"; -} -.icon-science-075:before { - content: "M"; -} -.icon-science-062:before { - content: "N"; -} -.icon-science-049:before { - content: "O"; -} -.icon-science-036:before { - content: "P"; -} -.icon-science-035:before { - content: "Q"; -} -.icon-science-048:before { - content: "R"; -} -.icon-science-061:before { - content: "S"; -} -.icon-science-074:before { - content: "T"; -} -.icon-science-073:before { - content: "U"; -} -.icon-science-060:before { - content: "V"; -} -.icon-science-047:before { - content: "W"; -} -.icon-science-034:before { - content: "X"; -} -.icon-science-033:before { - content: "Y"; -} -.icon-science-046:before { - content: "Z"; -} -.icon-science-059:before { - content: "0"; -} -.icon-science-072:before { - content: "1"; -} -.icon-science-071:before { - content: "2"; -} -.icon-science-058:before { - content: "3"; -} -.icon-science-045:before { - content: "4"; -} -.icon-science-032:before { - content: "5"; -} -.icon-science-031:before { - content: "6"; -} -.icon-science-044:before { - content: "7"; -} -.icon-science-057:before { - content: "8"; -} -.icon-science-070:before { - content: "9"; -} -.icon-science-069:before { - content: "!"; -} -.icon-science-056:before { - content: "\""; -} -.icon-science-043:before { - content: "#"; -} -.icon-science-030:before { - content: "$"; -} -.icon-science-029:before { - content: "%"; -} -.icon-science-042:before { - content: "&"; -} -.icon-science-055:before { - content: "'"; -} -.icon-science-068:before { - content: "("; -} -.icon-science-067:before { - content: ")"; -} -.icon-science-054:before { - content: "*"; -} -.icon-science-041:before { - content: "+"; -} -.icon-science-028:before { - content: ","; -} -.icon-science-027:before { - content: "-"; -} -.icon-science-040:before { - content: "."; -} -.icon-science-053:before { - content: "/"; -} -.icon-science-066:before { - content: ":"; -} -.icon-science-079:before { - content: ";"; -} -.icon-science-092:before { - content: "<"; -} -.icon-science-105:before { - content: "="; -} -.icon-science-118:before { - content: ">"; -} -.icon-science-131:before { - content: "?"; -} -.icon-science-144:before { - content: "@"; -} -.icon-science-145:before { - content: "["; -} -.icon-science-132:before { - content: "]"; -} -.icon-science-119:before { - content: "^"; -} -.icon-science-106:before { - content: "_"; -} -.icon-science-093:before { - content: "`"; -} -.icon-science-080:before { - content: "{"; -} -.icon-science-081:before { - content: "|"; -} -.icon-science-094:before { - content: "}"; -} -.icon-science-107:before { - content: "~"; -} -.icon-science-120:before { - content: "\\"; -} -.icon-science-133:before { - content: "\e000"; -} -.icon-science-146:before { - content: "\e001"; -} -.icon-science-147:before { - content: "\e002"; -} -.icon-science-134:before { - content: "\e003"; -} -.icon-science-121:before { - content: "\e004"; -} -.icon-science-108:before { - content: "\e005"; -} -.icon-science-095:before { - content: "\e006"; -} -.icon-science-082:before { - content: "\e007"; -} -.icon-science-083:before { - content: "\e008"; -} -.icon-science-096:before { - content: "\e009"; -} -.icon-science-109:before { - content: "\e00a"; -} -.icon-science-122:before { - content: "\e00b"; -} -.icon-science-135:before { - content: "\e00c"; -} -.icon-science-148:before { - content: "\e00d"; -} -.icon-science-149:before { - content: "\e00e"; -} -.icon-science-136:before { - content: "\e00f"; -} -.icon-science-123:before { - content: "\e010"; -} -.icon-science-110:before { - content: "\e011"; -} -.icon-science-097:before { - content: "\e012"; -} -.icon-science-084:before { - content: "\e013"; -} -.icon-science-085:before { - content: "\e014"; -} -.icon-science-098:before { - content: "\e015"; -} -.icon-science-111:before { - content: "\e016"; -} -.icon-science-124:before { - content: "\e017"; -} -.icon-science-137:before { - content: "\e018"; -} -.icon-science-150:before { - content: "\e019"; -} -.icon-science-151:before { - content: "\e01a"; -} -.icon-science-138:before { - content: "\e01b"; -} -.icon-science-125:before { - content: "\e01c"; -} -.icon-science-112:before { - content: "\e01d"; -} -.icon-science-099:before { - content: "\e01e"; -} -.icon-science-086:before { - content: "\e01f"; -} -.icon-science-087:before { - content: "\e020"; -} -.icon-science-100:before { - content: "\e021"; -} -.icon-science-113:before { - content: "\e022"; -} -.icon-science-126:before { - content: "\e023"; -} -.icon-science-139:before { - content: "\e024"; -} -.icon-science-152:before { - content: "\e025"; -} -.icon-science-153:before { - content: "\e026"; -} -.icon-science-140:before { - content: "\e027"; -} -.icon-science-127:before { - content: "\e028"; -} -.icon-science-114:before { - content: "\e029"; -} -.icon-science-101:before { - content: "\e02a"; -} -.icon-science-088:before { - content: "\e02b"; -} -.icon-science-089:before { - content: "\e02c"; -} -.icon-science-102:before { - content: "\e02d"; -} -.icon-science-115:before { - content: "\e02e"; -} -.icon-science-128:before { - content: "\e02f"; -} -.icon-science-141:before { - content: "\e030"; -} -.icon-science-154:before { - content: "\e031"; -} -.icon-science-155:before { - content: "\e032"; -} -.icon-science-142:before { - content: "\e033"; -} -.icon-science-129:before { - content: "\e034"; -} -.icon-science-116:before { - content: "\e035"; -} -.icon-science-103:before { - content: "\e036"; -} -.icon-science-090:before { - content: "\e037"; -} -.icon-science-091:before { - content: "\e038"; -} -.icon-science-104:before { - content: "\e039"; -} -.icon-science-117:before { - content: "\e03a"; -} -.icon-science-130:before { - content: "\e03b"; -} -.icon-science-143:before { - content: "\e03c"; -} -.icon-science-156:before { - content: "\e03d"; -} -.icon-science-157:before { - content: "\e03e"; -} -.icon-science-158:before { - content: "\e03f"; -} -.icon-science-159:before { - content: "\e040"; -} -.icon-science-160:before { - content: "\e041"; -} - -/* Sport */ -@font-face { - font-family: "sports-48-x-48"; - src:url("sports/webfont/sports-48-x-48.eot"); - src:url("sports/webfont/sports-48-x-48d41d.eot?#iefix") format("embedded-opentype"), - url("sports/webfont/sports-48-x-48.woff") format("woff"), - url("sports/webfont/sports-48-x-48.ttf") format("truetype"), - url("sports/webfont/sports-48-x-48.svg#sports-48-x-48") format("svg"); - font-weight: normal; - font-style: normal; -} - -[data-icon-sport]:before { - font-family: "sports-48-x-48" !important; - content: attr(data-icon-sport); - font-style: normal !important; - font-weight: normal !important; - font-variant: normal !important; - text-transform: none !important; - speak: none; - line-height: 1; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} - -[class^="icon-sport"]:before, -[class*="icon-sport"]:before { - font-family: "sports-48-x-48" !important; - font-style: normal !important; - font-weight: normal !important; - font-variant: normal !important; - text-transform: none !important; - speak: none; - line-height: 1; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} - -[class^="icon-christmas"]:before, -[class*=" icon-christmas"]:before { - font-family: "cristmas" !important; - font-style: normal !important; - font-weight: normal !important; - font-variant: normal !important; - text-transform: none !important; - speak: none; - line-height: 1; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} - -.icon-sport-001:before { - content: "a"; -} -.icon-sport-014:before { - content: "b"; -} -.icon-sport-027:before { - content: "c"; -} -.icon-sport-028:before { - content: "d"; -} -.icon-sport-015:before { - content: "e"; -} -.icon-sport-002:before { - content: "f"; -} -.icon-sport-003:before { - content: "g"; -} -.icon-sport-016:before { - content: "h"; -} -.icon-sport-029:before { - content: "i"; -} -.icon-sport-030:before { - content: "j"; -} -.icon-sport-017:before { - content: "k"; -} -.icon-sport-004:before { - content: "l"; -} -.icon-sport-005:before { - content: "m"; -} -.icon-sport-018:before { - content: "n"; -} -.icon-sport-031:before { - content: "o"; -} -.icon-sport-032:before { - content: "p"; -} -.icon-sport-019:before { - content: "q"; -} -.icon-sport-006:before { - content: "r"; -} -.icon-sport-007:before { - content: "s"; -} -.icon-sport-020:before { - content: "t"; -} -.icon-sport-033:before { - content: "u"; -} -.icon-sport-034:before { - content: "v"; -} -.icon-sport-021:before { - content: "w"; -} -.icon-sport-008:before { - content: "x"; -} -.icon-sport-009:before { - content: "y"; -} -.icon-sport-022:before { - content: "z"; -} -.icon-sport-035:before { - content: "A"; -} -.icon-sport-036:before { - content: "B"; -} -.icon-sport-023:before { - content: "C"; -} -.icon-sport-010:before { - content: "D"; -} -.icon-sport-011:before { - content: "E"; -} -.icon-sport-024:before { - content: "F"; -} -.icon-sport-037:before { - content: "G"; -} -.icon-sport-038:before { - content: "H"; -} -.icon-sport-025:before { - content: "I"; -} -.icon-sport-012:before { - content: "J"; -} -.icon-sport-013:before { - content: "K"; -} -.icon-sport-026:before { - content: "L"; -} -.icon-sport-039:before { - content: "M"; -} -.icon-sport-040:before { - content: "N"; -} -.icon-sport-053:before { - content: "O"; -} -.icon-sport-066:before { - content: "P"; -} -.icon-sport-079:before { - content: "Q"; -} -.icon-sport-080:before { - content: "R"; -} -.icon-sport-067:before { - content: "S"; -} -.icon-sport-054:before { - content: "T"; -} -.icon-sport-041:before { - content: "U"; -} -.icon-sport-042:before { - content: "V"; -} -.icon-sport-055:before { - content: "W"; -} -.icon-sport-068:before { - content: "X"; -} -.icon-sport-081:before { - content: "Y"; -} -.icon-sport-082:before { - content: "Z"; -} -.icon-sport-069:before { - content: "0"; -} -.icon-sport-056:before { - content: "1"; -} -.icon-sport-043:before { - content: "2"; -} -.icon-sport-044:before { - content: "3"; -} -.icon-sport-057:before { - content: "4"; -} -.icon-sport-070:before { - content: "5"; -} -.icon-sport-083:before { - content: "6"; -} -.icon-sport-084:before { - content: "7"; -} -.icon-sport-071:before { - content: "8"; -} -.icon-sport-058:before { - content: "9"; -} -.icon-sport-045:before { - content: "!"; -} -.icon-sport-046:before { - content: "\""; -} -.icon-sport-059:before { - content: "#"; -} -.icon-sport-072:before { - content: "$"; -} -.icon-sport-085:before { - content: "%"; -} -.icon-sport-086:before { - content: "&"; -} -.icon-sport-073:before { - content: "'"; -} -.icon-sport-060:before { - content: "("; -} -.icon-sport-047:before { - content: ")"; -} -.icon-sport-048:before { - content: "*"; -} -.icon-sport-061:before { - content: "+"; -} -.icon-sport-074:before { - content: ","; -} -.icon-sport-087:before { - content: "-"; -} -.icon-sport-075:before { - content: "."; -} -.icon-sport-062:before { - content: "/"; -} -.icon-sport-049:before { - content: ":"; -} -.icon-sport-050:before { - content: ";"; -} -.icon-sport-063:before { - content: "<"; -} -.icon-sport-064:before { - content: "="; -} -.icon-sport-051:before { - content: ">"; -} -.icon-sport-052:before { - content: "?"; -} -.icon-sport-065:before { - content: "@"; -} -.icon-sport-078:before { - content: "["; -} -.icon-sport-091:before { - content: "]"; -} -.icon-sport-090:before { - content: "^"; -} -.icon-sport-077:before { - content: "_"; -} -.icon-sport-076:before { - content: "`"; -} -.icon-sport-089:before { - content: "{"; -} -.icon-sport-088:before { - content: "|"; -} -.icon-sport-092:before { - content: "}"; -} -.icon-sport-105:before { - content: "~"; -} -.icon-sport-118:before { - content: "\\"; -} -.icon-sport-131:before { - content: "\e000"; -} -.icon-sport-144:before { - content: "\e001"; -} -.icon-sport-145:before { - content: "\e002"; -} -.icon-sport-132:before { - content: "\e003"; -} -.icon-sport-119:before { - content: "\e004"; -} -.icon-sport-106:before { - content: "\e005"; -} -.icon-sport-093:before { - content: "\e006"; -} -.icon-sport-094:before { - content: "\e007"; -} -.icon-sport-107:before { - content: "\e008"; -} -.icon-sport-120:before { - content: "\e009"; -} -.icon-sport-133:before { - content: "\e00a"; -} -.icon-sport-146:before { - content: "\e00b"; -} -.icon-sport-147:before { - content: "\e00c"; -} -.icon-sport-134:before { - content: "\e00d"; -} -.icon-sport-121:before { - content: "\e00e"; -} -.icon-sport-108:before { - content: "\e00f"; -} -.icon-sport-095:before { - content: "\e010"; -} -.icon-sport-096:before { - content: "\e011"; -} -.icon-sport-109:before { - content: "\e012"; -} -.icon-sport-122:before { - content: "\e013"; -} -.icon-sport-135:before { - content: "\e014"; -} -.icon-sport-148:before { - content: "\e015"; -} -.icon-sport-149:before { - content: "\e016"; -} -.icon-sport-136:before { - content: "\e017"; -} -.icon-sport-123:before { - content: "\e018"; -} -.icon-sport-110:before { - content: "\e019"; -} -.icon-sport-097:before { - content: "\e01a"; -} -.icon-sport-098:before { - content: "\e01b"; -} -.icon-sport-111:before { - content: "\e01c"; -} -.icon-sport-124:before { - content: "\e01d"; -} -.icon-sport-137:before { - content: "\e01e"; -} -.icon-sport-150:before { - content: "\e01f"; -} -.icon-sport-151:before { - content: "\e020"; -} -.icon-sport-138:before { - content: "\e021"; -} -.icon-sport-125:before { - content: "\e022"; -} -.icon-sport-112:before { - content: "\e023"; -} -.icon-sport-099:before { - content: "\e024"; -} -.icon-sport-100:before { - content: "\e025"; -} -.icon-sport-113:before { - content: "\e026"; -} -.icon-sport-126:before { - content: "\e027"; -} -.icon-sport-139:before { - content: "\e028"; -} -.icon-sport-152:before { - content: "\e029"; -} -.icon-sport-153:before { - content: "\e02a"; -} -.icon-sport-140:before { - content: "\e02b"; -} -.icon-sport-127:before { - content: "\e02c"; -} -.icon-sport-114:before { - content: "\e02d"; -} -.icon-sport-101:before { - content: "\e02e"; -} -.icon-sport-102:before { - content: "\e02f"; -} -.icon-sport-115:before { - content: "\e030"; -} -.icon-sport-128:before { - content: "\e031"; -} -.icon-sport-141:before { - content: "\e032"; -} -.icon-sport-154:before { - content: "\e033"; -} -.icon-sport-155:before { - content: "\e034"; -} -.icon-sport-142:before { - content: "\e035"; -} -.icon-sport-129:before { - content: "\e036"; -} -.icon-sport-116:before { - content: "\e037"; -} -.icon-sport-103:before { - content: "\e038"; -} -.icon-sport-104:before { - content: "\e039"; -} -.icon-sport-117:before { - content: "\e03a"; -} -.icon-sport-130:before { - content: "\e03b"; -} -.icon-sport-143:before { - content: "\e03c"; -} -.icon-sport-156:before { - content: "\e03d"; -} -.icon-sport-157:before { - content: "\e03e"; -} -.icon-sport-170:before { - content: "\e03f"; -} -.icon-sport-183:before { - content: "\e040"; -} -.icon-sport-196:before { - content: "\e041"; -} -.icon-sport-197:before { - content: "\e042"; -} -.icon-sport-184:before { - content: "\e043"; -} -.icon-sport-171:before { - content: "\e044"; -} -.icon-sport-158:before { - content: "\e045"; -} -.icon-sport-159:before { - content: "\e046"; -} -.icon-sport-172:before { - content: "\e047"; -} -.icon-sport-185:before { - content: "\e048"; -} -.icon-sport-198:before { - content: "\e049"; -} -.icon-sport-199:before { - content: "\e04a"; -} -.icon-sport-186:before { - content: "\e04b"; -} -.icon-sport-173:before { - content: "\e04c"; -} -.icon-sport-160:before { - content: "\e04d"; -} -.icon-sport-174:before { - content: "\e04e"; -} -.icon-sport-187:before { - content: "\e04f"; -} -.icon-sport-200:before { - content: "\e050"; -} -.icon-sport-188:before { - content: "\e051"; -} -.icon-sport-175:before { - content: "\e052"; -} -.icon-sport-162:before { - content: "\e053"; -} -.icon-sport-163:before { - content: "\e054"; -} -.icon-sport-176:before { - content: "\e055"; -} -.icon-sport-189:before { - content: "\e056"; -} -.icon-sport-190:before { - content: "\e057"; -} -.icon-sport-177:before { - content: "\e058"; -} -.icon-sport-164:before { - content: "\e059"; -} -.icon-sport-165:before { - content: "\e05a"; -} -.icon-sport-178:before { - content: "\e05b"; -} -.icon-sport-191:before { - content: "\e05c"; -} -.icon-sport-192:before { - content: "\e05d"; -} -.icon-sport-179:before { - content: "\e05e"; -} -.icon-sport-166:before { - content: "\e05f"; -} -.icon-sport-167:before { - content: "\e060"; -} -.icon-sport-180:before { - content: "\e061"; -} -.icon-sport-193:before { - content: "\e062"; -} -.icon-sport-194:before { - content: "\e063"; -} -.icon-sport-181:before { - content: "\e064"; -} -.icon-sport-168:before { - content: "\e065"; -} -.icon-sport-169:before { - content: "\e066"; -} -.icon-sport-182:before { - content: "\e067"; -} -.icon-sport-195:before { - content: "\e068"; -} -.icon-sport-161:before { - content: "\e069"; -} - -/* Travel */ -@font-face { - font-family: "travel"; - src:url("travel/webfont/travel.eot"); - src:url("travel/webfont/traveld41d.eot?#iefix") format("embedded-opentype"), - url("travel/webfont/travel.woff") format("woff"), - url("travel/webfont/travel.ttf") format("truetype"), - url("travel/webfont/travel.svg#travel") format("svg"); - font-weight: normal; - font-style: normal; -} - -[data-icon-travel]:before { - font-family: "travel" !important; - content: attr(data-icon-travel); - font-style: normal !important; - font-weight: normal !important; - font-variant: normal !important; - text-transform: none !important; - speak: none; - line-height: 1; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} - -[class^="icon-travel"]:before, -[class*=" icon-travel"]:before { - font-family: "travel" !important; - font-style: normal !important; - font-weight: normal !important; - font-variant: normal !important; - text-transform: none !important; - speak: none; - line-height: 1; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} - -.icon-travel-001:before { - content: "a"; -} -.icon-travel-014:before { - content: "b"; -} -.icon-travel-015:before { - content: "c"; -} -.icon-travel-002:before { - content: "d"; -} -.icon-travel-003:before { - content: "e"; -} -.icon-travel-016:before { - content: "f"; -} -.icon-travel-017:before { - content: "g"; -} -.icon-travel-004:before { - content: "h"; -} -.icon-travel-005:before { - content: "i"; -} -.icon-travel-018:before { - content: "j"; -} -.icon-travel-019:before { - content: "k"; -} -.icon-travel-006:before { - content: "l"; -} -.icon-travel-007:before { - content: "m"; -} -.icon-travel-020:before { - content: "n"; -} -.icon-travel-021:before { - content: "o"; -} -.icon-travel-008:before { - content: "p"; -} -.icon-travel-009:before { - content: "q"; -} -.icon-travel-022:before { - content: "r"; -} -.icon-travel-023:before { - content: "s"; -} -.icon-travel-010:before { - content: "t"; -} -.icon-travel-011:before { - content: "u"; -} -.icon-travel-024:before { - content: "v"; -} -.icon-travel-025:before { - content: "w"; -} -.icon-travel-012:before { - content: "x"; -} -.icon-travel-013:before { - content: "y"; -} -.icon-travel-026:before { - content: "z"; -} -.icon-travel-039:before { - content: "A"; -} -.icon-travel-052:before { - content: "B"; -} -.icon-travel-065:before { - content: "C"; -} -.icon-travel-064:before { - content: "D"; -} -.icon-travel-051:before { - content: "E"; -} -.icon-travel-038:before { - content: "F"; -} -.icon-travel-037:before { - content: "G"; -} -.icon-travel-050:before { - content: "H"; -} -.icon-travel-063:before { - content: "I"; -} -.icon-travel-062:before { - content: "J"; -} -.icon-travel-049:before { - content: "K"; -} -.icon-travel-036:before { - content: "L"; -} -.icon-travel-035:before { - content: "M"; -} -.icon-travel-048:before { - content: "N"; -} -.icon-travel-061:before { - content: "O"; -} -.icon-travel-060:before { - content: "P"; -} -.icon-travel-047:before { - content: "Q"; -} -.icon-travel-034:before { - content: "R"; -} -.icon-travel-033:before { - content: "S"; -} -.icon-travel-046:before { - content: "T"; -} -.icon-travel-059:before { - content: "U"; -} -.icon-travel-058:before { - content: "V"; -} -.icon-travel-045:before { - content: "W"; -} -.icon-travel-032:before { - content: "X"; -} -.icon-travel-031:before { - content: "Y"; -} -.icon-travel-044:before { - content: "Z"; -} -.icon-travel-057:before { - content: "0"; -} -.icon-travel-056:before { - content: "1"; -} -.icon-travel-043:before { - content: "2"; -} -.icon-travel-030:before { - content: "3"; -} -.icon-travel-029:before { - content: "4"; -} -.icon-travel-042:before { - content: "5"; -} -.icon-travel-055:before { - content: "6"; -} -.icon-travel-054:before { - content: "7"; -} -.icon-travel-041:before { - content: "8"; -} -.icon-travel-028:before { - content: "9"; -} -.icon-travel-027:before { - content: "!"; -} -.icon-travel-040:before { - content: "\""; -} -.icon-travel-053:before { - content: "#"; -} -.icon-travel-066:before { - content: "$"; -} -.icon-travel-079:before { - content: "%"; -} -.icon-travel-092:before { - content: "&"; -} -.icon-travel-105:before { - content: "'"; -} -.icon-travel-106:before { - content: "("; -} -.icon-travel-093:before { - content: ")"; -} -.icon-travel-080:before { - content: "*"; -} -.icon-travel-067:before { - content: "+"; -} -.icon-travel-068:before { - content: ","; -} -.icon-travel-081:before { - content: "-"; -} -.icon-travel-094:before { - content: "."; -} -.icon-travel-107:before { - content: "/"; -} -.icon-travel-108:before { - content: ":"; -} -.icon-travel-095:before { - content: ";"; -} -.icon-travel-082:before { - content: "<"; -} -.icon-travel-069:before { - content: "="; -} -.icon-travel-070:before { - content: ">"; -} -.icon-travel-083:before { - content: "?"; -} -.icon-travel-096:before { - content: "@"; -} -.icon-travel-109:before { - content: "["; -} -.icon-travel-110:before { - content: "]"; -} -.icon-travel-097:before { - content: "^"; -} -.icon-travel-084:before { - content: "_"; -} -.icon-travel-071:before { - content: "`"; -} -.icon-travel-072:before { - content: "{"; -} -.icon-travel-085:before { - content: "|"; -} -.icon-travel-098:before { - content: "}"; -} -.icon-travel-111:before { - content: "~"; -} -.icon-travel-112:before { - content: "\\"; -} -.icon-travel-099:before { - content: "\e000"; -} -.icon-travel-086:before { - content: "\e001"; -} -.icon-travel-073:before { - content: "\e002"; -} -.icon-travel-074:before { - content: "\e003"; -} -.icon-travel-087:before { - content: "\e004"; -} -.icon-travel-100:before { - content: "\e005"; -} -.icon-travel-113:before { - content: "\e006"; -} -.icon-travel-114:before { - content: "\e007"; -} -.icon-travel-101:before { - content: "\e008"; -} -.icon-travel-088:before { - content: "\e009"; -} -.icon-travel-075:before { - content: "\e00a"; -} -.icon-travel-076:before { - content: "\e00b"; -} -.icon-travel-089:before { - content: "\e00c"; -} -.icon-travel-102:before { - content: "\e00d"; -} -.icon-travel-115:before { - content: "\e00e"; -} -.icon-travel-116:before { - content: "\e00f"; -} -.icon-travel-103:before { - content: "\e010"; -} -.icon-travel-090:before { - content: "\e011"; -} -.icon-travel-077:before { - content: "\e012"; -} -.icon-travel-091:before { - content: "\e013"; -} -.icon-travel-104:before { - content: "\e014"; -} -.icon-travel-117:before { - content: "\e015"; -} -.icon-travel-078:before { - content: "\e016"; -} -.icon-travel-130:before { - content: "\e017"; -} -.icon-travel-143:before { - content: "\e018"; -} -.icon-travel-142:before { - content: "\e019"; -} -.icon-travel-129:before { - content: "\e01a"; -} -.icon-travel-128:before { - content: "\e01b"; -} -.icon-travel-141:before { - content: "\e01c"; -} -.icon-travel-140:before { - content: "\e01d"; -} -.icon-travel-127:before { - content: "\e01e"; -} -.icon-travel-126:before { - content: "\e01f"; -} -.icon-travel-139:before { - content: "\e020"; -} -.icon-travel-138:before { - content: "\e021"; -} -.icon-travel-125:before { - content: "\e022"; -} -.icon-travel-124:before { - content: "\e023"; -} -.icon-travel-137:before { - content: "\e024"; -} -.icon-travel-150:before { - content: "\e025"; -} -.icon-travel-149:before { - content: "\e026"; -} -.icon-travel-136:before { - content: "\e027"; -} -.icon-travel-123:before { - content: "\e028"; -} -.icon-travel-122:before { - content: "\e029"; -} -.icon-travel-135:before { - content: "\e02a"; -} -.icon-travel-148:before { - content: "\e02b"; -} -.icon-travel-147:before { - content: "\e02c"; -} -.icon-travel-134:before { - content: "\e02d"; -} -.icon-travel-121:before { - content: "\e02e"; -} -.icon-travel-120:before { - content: "\e02f"; -} -.icon-travel-133:before { - content: "\e030"; -} -.icon-travel-146:before { - content: "\e031"; -} -.icon-travel-145:before { - content: "\e032"; -} -.icon-travel-132:before { - content: "\e033"; -} -.icon-travel-119:before { - content: "\e034"; -} -.icon-travel-118:before { - content: "\e035"; -} -.icon-travel-131:before { - content: "\e036"; -} -.icon-travel-144:before { - content: "\e037"; -} - -/* Weather */ -@font-face { - font-family: "weather"; - src:url("weather/webfont/weather.eot"); - src:url("weather/webfont/weatherd41d.eot?#iefix") format("embedded-opentype"), - url("weather/webfont/weather.woff") format("woff"), - url("weather/webfont/weather.ttf") format("truetype"), - url("weather/webfont/weather.svg#weather") format("svg"); - font-weight: normal; - font-style: normal; -} - -[data-icon-weather]:before { - font-family: "weather" !important; - content: attr(data-icon-weather); - font-style: normal !important; - font-weight: normal !important; - font-variant: normal !important; - text-transform: none !important; - speak: none; - line-height: 1; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} - -[class^="icon-weather"]:before, -[class*=" icon-weather"]:before { - font-family: "weather" !important; - font-style: normal !important; - font-weight: normal !important; - font-variant: normal !important; - text-transform: none !important; - speak: none; - line-height: 1; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} - -.icon-weather-001:before { - content: "a"; -} -.icon-weather-014:before { - content: "b"; -} -.icon-weather-027:before { - content: "c"; -} -.icon-weather-040:before { - content: "d"; -} -.icon-weather-053:before { - content: "e"; -} -.icon-weather-054:before { - content: "f"; -} -.icon-weather-041:before { - content: "g"; -} -.icon-weather-028:before { - content: "h"; -} -.icon-weather-015:before { - content: "i"; -} -.icon-weather-002:before { - content: "j"; -} -.icon-weather-003:before { - content: "k"; -} -.icon-weather-016:before { - content: "l"; -} -.icon-weather-029:before { - content: "m"; -} -.icon-weather-042:before { - content: "n"; -} -.icon-weather-055:before { - content: "o"; -} -.icon-weather-056:before { - content: "p"; -} -.icon-weather-043:before { - content: "q"; -} -.icon-weather-030:before { - content: "r"; -} -.icon-weather-017:before { - content: "s"; -} -.icon-weather-004:before { - content: "t"; -} -.icon-weather-005:before { - content: "u"; -} -.icon-weather-018:before { - content: "v"; -} -.icon-weather-031:before { - content: "w"; -} -.icon-weather-044:before { - content: "x"; -} -.icon-weather-057:before { - content: "y"; -} -.icon-weather-058:before { - content: "z"; -} -.icon-weather-045:before { - content: "A"; -} -.icon-weather-032:before { - content: "B"; -} -.icon-weather-019:before { - content: "C"; -} -.icon-weather-006:before { - content: "D"; -} -.icon-weather-007:before { - content: "E"; -} -.icon-weather-020:before { - content: "F"; -} -.icon-weather-033:before { - content: "G"; -} -.icon-weather-046:before { - content: "H"; -} -.icon-weather-059:before { - content: "I"; -} -.icon-weather-060:before { - content: "J"; -} -.icon-weather-047:before { - content: "K"; -} -.icon-weather-034:before { - content: "L"; -} -.icon-weather-021:before { - content: "M"; -} -.icon-weather-008:before { - content: "N"; -} -.icon-weather-009:before { - content: "O"; -} -.icon-weather-022:before { - content: "P"; -} -.icon-weather-035:before { - content: "Q"; -} -.icon-weather-048:before { - content: "R"; -} -.icon-weather-049:before { - content: "S"; -} -.icon-weather-036:before { - content: "T"; -} -.icon-weather-023:before { - content: "U"; -} -.icon-weather-010:before { - content: "V"; -} -.icon-weather-011:before { - content: "W"; -} -.icon-weather-024:before { - content: "X"; -} -.icon-weather-037:before { - content: "Y"; -} -.icon-weather-050:before { - content: "Z"; -} -.icon-weather-051:before { - content: "0"; -} -.icon-weather-038:before { - content: "1"; -} -.icon-weather-025:before { - content: "2"; -} -.icon-weather-012:before { - content: "3"; -} -.icon-weather-013:before { - content: "4"; -} -.icon-weather-026:before { - content: "5"; -} -.icon-weather-039:before { - content: "6"; -} -.icon-weather-052:before { - content: "7"; -} - -/* Transport */ -@font-face { - font-family: "transport"; - src:url("transport/webfont/transport.eot"); - src:url("transport/webfont/transportd41d.eot?#iefix") format("embedded-opentype"), - url("transport/webfont/transport.woff") format("woff"), - url("transport/webfont/transport.ttf") format("truetype"), - url("transport/webfont/transport.svg#transport") format("svg"); - font-weight: normal; - font-style: normal; -} - -[data-icon-transport]:before { - font-family: "transport" !important; - content: attr(data-icon-transport); - font-style: normal !important; - font-weight: normal !important; - font-variant: normal !important; - text-transform: none !important; - speak: none; - line-height: 1; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} - -[class^="icon-transport"]:before, -[class*=" icon-transport"]:before { - font-family: "transport" !important; - font-style: normal !important; - font-weight: normal !important; - font-variant: normal !important; - text-transform: none !important; - speak: none; - line-height: 1; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} - -.icon-transport-001:before { - content: "a"; -} -.icon-transport-014:before { - content: "b"; -} -.icon-transport-015:before { - content: "c"; -} -.icon-transport-002:before { - content: "d"; -} -.icon-transport-003:before { - content: "e"; -} -.icon-transport-016:before { - content: "f"; -} -.icon-transport-017:before { - content: "g"; -} -.icon-transport-004:before { - content: "h"; -} -.icon-transport-005:before { - content: "i"; -} -.icon-transport-018:before { - content: "j"; -} -.icon-transport-019:before { - content: "k"; -} -.icon-transport-006:before { - content: "l"; -} -.icon-transport-007:before { - content: "m"; -} -.icon-transport-020:before { - content: "n"; -} -.icon-transport-021:before { - content: "o"; -} -.icon-transport-008:before { - content: "p"; -} -.icon-transport-009:before { - content: "q"; -} -.icon-transport-022:before { - content: "r"; -} -.icon-transport-023:before { - content: "s"; -} -.icon-transport-010:before { - content: "t"; -} -.icon-transport-024:before { - content: "u"; -} -.icon-transport-025:before { - content: "v"; -} -.icon-transport-012:before { - content: "w"; -} -.icon-transport-011:before { - content: "x"; -} -.icon-transport-013:before { - content: "y"; -} -.icon-transport-026:before { - content: "z"; -} -.icon-transport-039:before { - content: "A"; -} -.icon-transport-052:before { - content: "B"; -} -.icon-transport-051:before { - content: "C"; -} -.icon-transport-038:before { - content: "D"; -} -.icon-transport-037:before { - content: "E"; -} -.icon-transport-050:before { - content: "F"; -} -.icon-transport-049:before { - content: "G"; -} -.icon-transport-036:before { - content: "H"; -} -.icon-transport-035:before { - content: "I"; -} -.icon-transport-048:before { - content: "J"; -} -.icon-transport-047:before { - content: "K"; -} -.icon-transport-034:before { - content: "L"; -} -.icon-transport-033:before { - content: "M"; -} -.icon-transport-046:before { - content: "N"; -} -.icon-transport-045:before { - content: "O"; -} -.icon-transport-032:before { - content: "P"; -} -.icon-transport-031:before { - content: "Q"; -} -.icon-transport-044:before { - content: "R"; -} -.icon-transport-043:before { - content: "S"; -} -.icon-transport-030:before { - content: "T"; -} -.icon-transport-029:before { - content: "U"; -} -.icon-transport-042:before { - content: "V"; -} -.icon-transport-041:before { - content: "W"; -} -.icon-transport-028:before { - content: "X"; -} -.icon-transport-027:before { - content: "Y"; -} -.icon-transport-040:before { - content: "Z"; -} -.icon-transport-053:before { - content: "0"; -} -.icon-transport-066:before { - content: "1"; -} -.icon-transport-079:before { - content: "2"; -} -.icon-transport-092:before { - content: "3"; -} -.icon-transport-093:before { - content: "4"; -} -.icon-transport-080:before { - content: "5"; -} -.icon-transport-067:before { - content: "6"; -} -.icon-transport-054:before { - content: "7"; -} -.icon-transport-055:before { - content: "8"; -} -.icon-transport-068:before { - content: "9"; -} -.icon-transport-081:before { - content: "!"; -} -.icon-transport-094:before { - content: "\""; -} -.icon-transport-095:before { - content: "#"; -} -.icon-transport-082:before { - content: "$"; -} -.icon-transport-069:before { - content: "%"; -} -.icon-transport-056:before { - content: "&"; -} -.icon-transport-057:before { - content: "'"; -} -.icon-transport-070:before { - content: "("; -} -.icon-transport-083:before { - content: ")"; -} -.icon-transport-096:before { - content: "*"; -} -.icon-transport-097:before { - content: "+"; -} -.icon-transport-084:before { - content: ","; -} -.icon-transport-071:before { - content: "-"; -} -.icon-transport-058:before { - content: "."; -} -.icon-transport-059:before { - content: "/"; -} -.icon-transport-072:before { - content: ":"; -} -.icon-transport-085:before { - content: ";"; -} -.icon-transport-098:before { - content: "<"; -} -.icon-transport-099:before { - content: "="; -} -.icon-transport-086:before { - content: ">"; -} -.icon-transport-073:before { - content: "?"; -} -.icon-transport-060:before { - content: "@"; -} -.icon-transport-061:before { - content: "["; -} -.icon-transport-074:before { - content: "]"; -} -.icon-transport-087:before { - content: "^"; -} -.icon-transport-100:before { - content: "_"; -} -.icon-transport-088:before { - content: "`"; -} -.icon-transport-075:before { - content: "{"; -} -.icon-transport-076:before { - content: "|"; -} -.icon-transport-089:before { - content: "}"; -} -.icon-transport-090:before { - content: "~"; -} -.icon-transport-077:before { - content: "\\"; -} -.icon-transport-078:before { - content: "\e000"; -} -.icon-transport-091:before { - content: "\e001"; -} -.icon-transport-065:before { - content: "\e002"; -} -.icon-transport-064:before { - content: "\e003"; -} -.icon-transport-063:before { - content: "\e004"; -} -.icon-transport-062:before { - content: "\e005"; -} diff --git a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/media/webfont/media.eot b/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/media/webfont/media.eot deleted file mode 100755 index 21bb5228..00000000 Binary files a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/media/webfont/media.eot and /dev/null differ diff --git a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/media/webfont/media.svg b/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/media/webfont/media.svg deleted file mode 100755 index f2efb90e..00000000 --- a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/media/webfont/media.svg +++ /dev/null @@ -1,140 +0,0 @@ - - - -Generated by Fontastic.me - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/media/webfont/media.ttf b/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/media/webfont/media.ttf deleted file mode 100755 index 28f3daca..00000000 Binary files a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/media/webfont/media.ttf and /dev/null differ diff --git a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/media/webfont/media.woff b/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/media/webfont/media.woff deleted file mode 100755 index 6cade2e5..00000000 Binary files a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/media/webfont/media.woff and /dev/null differ diff --git a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/media/webfont/mediad41d.eot b/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/media/webfont/mediad41d.eot deleted file mode 100755 index 21bb5228..00000000 Binary files a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/media/webfont/mediad41d.eot and /dev/null differ diff --git a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/medical/webfont/medical-and-health.eot b/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/medical/webfont/medical-and-health.eot deleted file mode 100755 index cb4f2248..00000000 Binary files a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/medical/webfont/medical-and-health.eot and /dev/null differ diff --git a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/medical/webfont/medical-and-health.svg b/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/medical/webfont/medical-and-health.svg deleted file mode 100755 index 9c8bef3c..00000000 --- a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/medical/webfont/medical-and-health.svg +++ /dev/null @@ -1,110 +0,0 @@ - - - -Generated by Fontastic.me - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/medical/webfont/medical-and-health.ttf b/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/medical/webfont/medical-and-health.ttf deleted file mode 100755 index 907f8c0e..00000000 Binary files a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/medical/webfont/medical-and-health.ttf and /dev/null differ diff --git a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/medical/webfont/medical-and-health.woff b/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/medical/webfont/medical-and-health.woff deleted file mode 100755 index ac5d984a..00000000 Binary files a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/medical/webfont/medical-and-health.woff and /dev/null differ diff --git a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/medical/webfont/medical-and-healthd41d.eot b/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/medical/webfont/medical-and-healthd41d.eot deleted file mode 100755 index cb4f2248..00000000 Binary files a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/medical/webfont/medical-and-healthd41d.eot and /dev/null differ diff --git a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/music/webfont/music.eot b/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/music/webfont/music.eot deleted file mode 100755 index 475e1e64..00000000 Binary files a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/music/webfont/music.eot and /dev/null differ diff --git a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/music/webfont/music.svg b/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/music/webfont/music.svg deleted file mode 100755 index b1bdfd8b..00000000 --- a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/music/webfont/music.svg +++ /dev/null @@ -1,110 +0,0 @@ - - - -Generated by Fontastic.me - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/music/webfont/music.ttf b/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/music/webfont/music.ttf deleted file mode 100755 index b9bba5d5..00000000 Binary files a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/music/webfont/music.ttf and /dev/null differ diff --git a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/music/webfont/music.woff b/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/music/webfont/music.woff deleted file mode 100755 index d4a5e638..00000000 Binary files a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/music/webfont/music.woff and /dev/null differ diff --git a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/music/webfont/musicd41d.eot b/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/music/webfont/musicd41d.eot deleted file mode 100755 index 475e1e64..00000000 Binary files a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/music/webfont/musicd41d.eot and /dev/null differ diff --git a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/real-estate/webfont/real-estate.eot b/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/real-estate/webfont/real-estate.eot deleted file mode 100755 index b097ed70..00000000 Binary files a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/real-estate/webfont/real-estate.eot and /dev/null differ diff --git a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/real-estate/webfont/real-estate.svg b/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/real-estate/webfont/real-estate.svg deleted file mode 100755 index c0ba6507..00000000 --- a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/real-estate/webfont/real-estate.svg +++ /dev/null @@ -1,100 +0,0 @@ - - - -Generated by Fontastic.me - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/real-estate/webfont/real-estate.ttf b/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/real-estate/webfont/real-estate.ttf deleted file mode 100755 index d6200030..00000000 Binary files a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/real-estate/webfont/real-estate.ttf and /dev/null differ diff --git a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/real-estate/webfont/real-estate.woff b/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/real-estate/webfont/real-estate.woff deleted file mode 100755 index 2c519037..00000000 Binary files a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/real-estate/webfont/real-estate.woff and /dev/null differ diff --git a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/real-estate/webfont/real-estated41d.eot b/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/real-estate/webfont/real-estated41d.eot deleted file mode 100755 index b097ed70..00000000 Binary files a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/real-estate/webfont/real-estated41d.eot and /dev/null differ diff --git a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/science/webfont/science.eot b/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/science/webfont/science.eot deleted file mode 100755 index 7c532547..00000000 Binary files a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/science/webfont/science.eot and /dev/null differ diff --git a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/science/webfont/science.svg b/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/science/webfont/science.svg deleted file mode 100755 index 40e7be1a..00000000 --- a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/science/webfont/science.svg +++ /dev/null @@ -1,170 +0,0 @@ - - - -Generated by Fontastic.me - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/science/webfont/science.ttf b/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/science/webfont/science.ttf deleted file mode 100755 index 2d050142..00000000 Binary files a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/science/webfont/science.ttf and /dev/null differ diff --git a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/science/webfont/science.woff b/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/science/webfont/science.woff deleted file mode 100755 index 930c51af..00000000 Binary files a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/science/webfont/science.woff and /dev/null differ diff --git a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/science/webfont/scienced41d.eot b/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/science/webfont/scienced41d.eot deleted file mode 100755 index 7c532547..00000000 Binary files a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/science/webfont/scienced41d.eot and /dev/null differ diff --git a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/sports/webfont/sports-48-x-48.eot b/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/sports/webfont/sports-48-x-48.eot deleted file mode 100755 index 14605959..00000000 Binary files a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/sports/webfont/sports-48-x-48.eot and /dev/null differ diff --git a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/sports/webfont/sports-48-x-48.svg b/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/sports/webfont/sports-48-x-48.svg deleted file mode 100755 index 049bd2a6..00000000 --- a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/sports/webfont/sports-48-x-48.svg +++ /dev/null @@ -1,210 +0,0 @@ - - - -Generated by Fontastic.me - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/sports/webfont/sports-48-x-48.ttf b/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/sports/webfont/sports-48-x-48.ttf deleted file mode 100755 index d09434fe..00000000 Binary files a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/sports/webfont/sports-48-x-48.ttf and /dev/null differ diff --git a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/sports/webfont/sports-48-x-48.woff b/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/sports/webfont/sports-48-x-48.woff deleted file mode 100755 index d3cfdf74..00000000 Binary files a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/sports/webfont/sports-48-x-48.woff and /dev/null differ diff --git a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/sports/webfont/sports-48-x-48d41d.eot b/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/sports/webfont/sports-48-x-48d41d.eot deleted file mode 100755 index 14605959..00000000 Binary files a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/sports/webfont/sports-48-x-48d41d.eot and /dev/null differ diff --git a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/transport/webfont/transport.eot b/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/transport/webfont/transport.eot deleted file mode 100755 index f7019f3f..00000000 Binary files a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/transport/webfont/transport.eot and /dev/null differ diff --git a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/transport/webfont/transport.svg b/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/transport/webfont/transport.svg deleted file mode 100755 index 0babc775..00000000 --- a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/transport/webfont/transport.svg +++ /dev/null @@ -1,110 +0,0 @@ - - - -Generated by Fontastic.me - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/transport/webfont/transport.ttf b/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/transport/webfont/transport.ttf deleted file mode 100755 index 8a329f01..00000000 Binary files a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/transport/webfont/transport.ttf and /dev/null differ diff --git a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/transport/webfont/transport.woff b/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/transport/webfont/transport.woff deleted file mode 100755 index 65f95f87..00000000 Binary files a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/transport/webfont/transport.woff and /dev/null differ diff --git a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/transport/webfont/transportd41d.eot b/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/transport/webfont/transportd41d.eot deleted file mode 100755 index f7019f3f..00000000 Binary files a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/transport/webfont/transportd41d.eot and /dev/null differ diff --git a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/travel/webfont/travel.eot b/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/travel/webfont/travel.eot deleted file mode 100755 index 7bbb5f56..00000000 Binary files a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/travel/webfont/travel.eot and /dev/null differ diff --git a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/travel/webfont/travel.svg b/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/travel/webfont/travel.svg deleted file mode 100755 index dd9dc279..00000000 --- a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/travel/webfont/travel.svg +++ /dev/null @@ -1,160 +0,0 @@ - - - -Generated by Fontastic.me - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/travel/webfont/travel.ttf b/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/travel/webfont/travel.ttf deleted file mode 100755 index daea0bf9..00000000 Binary files a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/travel/webfont/travel.ttf and /dev/null differ diff --git a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/travel/webfont/travel.woff b/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/travel/webfont/travel.woff deleted file mode 100755 index c3fa0283..00000000 Binary files a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/travel/webfont/travel.woff and /dev/null differ diff --git a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/travel/webfont/traveld41d.eot b/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/travel/webfont/traveld41d.eot deleted file mode 100755 index 7bbb5f56..00000000 Binary files a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/travel/webfont/traveld41d.eot and /dev/null differ diff --git a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/weather/webfont/weather.eot b/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/weather/webfont/weather.eot deleted file mode 100755 index 303bb13f..00000000 Binary files a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/weather/webfont/weather.eot and /dev/null differ diff --git a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/weather/webfont/weather.svg b/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/weather/webfont/weather.svg deleted file mode 100755 index de8abe44..00000000 --- a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/weather/webfont/weather.svg +++ /dev/null @@ -1,70 +0,0 @@ - - - -Generated by Fontastic.me - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/weather/webfont/weather.ttf b/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/weather/webfont/weather.ttf deleted file mode 100755 index ff6051b6..00000000 Binary files a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/weather/webfont/weather.ttf and /dev/null differ diff --git a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/weather/webfont/weather.woff b/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/weather/webfont/weather.woff deleted file mode 100755 index 049a9634..00000000 Binary files a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/weather/webfont/weather.woff and /dev/null differ diff --git a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/weather/webfont/weatherd41d.eot b/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/weather/webfont/weatherd41d.eot deleted file mode 100755 index 303bb13f..00000000 Binary files a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons-pro/weather/webfont/weatherd41d.eot and /dev/null differ diff --git a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons/fonts/Simple-Line-Icons.eot b/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons/fonts/Simple-Line-Icons.eot deleted file mode 100755 index d258f623..00000000 Binary files a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons/fonts/Simple-Line-Icons.eot and /dev/null differ diff --git a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons/fonts/Simple-Line-Icons.svg b/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons/fonts/Simple-Line-Icons.svg deleted file mode 100755 index fe5927e1..00000000 --- a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons/fonts/Simple-Line-Icons.svg +++ /dev/null @@ -1,1369 +0,0 @@ - - - - -This is a custom SVG font generated by IcoMoon. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons/fonts/Simple-Line-Icons.ttf b/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons/fonts/Simple-Line-Icons.ttf deleted file mode 100755 index 2194f1f8..00000000 Binary files a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons/fonts/Simple-Line-Icons.ttf and /dev/null differ diff --git a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons/fonts/Simple-Line-Icons.woff b/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons/fonts/Simple-Line-Icons.woff deleted file mode 100755 index 50df1e47..00000000 Binary files a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons/fonts/Simple-Line-Icons.woff and /dev/null differ diff --git a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons/fonts/Simple-Line-Iconsd41d.eot b/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons/fonts/Simple-Line-Iconsd41d.eot deleted file mode 100755 index d258f623..00000000 Binary files a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons/fonts/Simple-Line-Iconsd41d.eot and /dev/null differ diff --git a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons/line-icons.css b/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons/line-icons.css deleted file mode 100755 index 20c55895..00000000 --- a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/line-icons/line-icons.css +++ /dev/null @@ -1,526 +0,0 @@ -@font-face { - font-family: 'Simple-Line-Icons'; - src:url('fonts/Simple-Line-Icons.eot'); - src:url('fonts/Simple-Line-Iconsd41d.eot?#iefix') format('embedded-opentype'), - url('fonts/Simple-Line-Icons.woff') format('woff'), - url('fonts/Simple-Line-Icons.ttf') format('truetype'), - url('fonts/Simple-Line-Icons.svg#Simple-Line-Icons') format('svg'); - font-weight: normal; - font-style: normal; -} - -/* Use the following CSS code if you want to use data attributes for inserting your icons */ -[data-icon]:before { - font-family: 'Simple-Line-Icons'; - content: attr(data-icon); - speak: none; - font-weight: normal; - font-variant: normal; - text-transform: none; - line-height: 1; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} - -/* Use the following CSS code if you want to have a class per icon */ -/* -Instead of a list of all class selectors, -you can use the generic selector below, but it's slower: -[class*="icon-"] { -*/ -.icon-user-female, .icon-user-follow, .icon-user-following, .icon-user-unfollow, .icon-trophy, .icon-screen-smartphone, .icon-screen-desktop, .icon-plane, .icon-notebook, .icon-moustache, .icon-mouse, .icon-magnet, .icon-energy, .icon-emoticon-smile, .icon-disc, .icon-cursor-move, .icon-crop, .icon-credit-card, .icon-chemistry, .icon-user, .icon-speedometer, .icon-social-youtube, .icon-social-twitter, .icon-social-tumblr, .icon-social-facebook, .icon-social-dropbox, .icon-social-dribbble, .icon-shield, .icon-screen-tablet, .icon-magic-wand, .icon-hourglass, .icon-graduation, .icon-ghost, .icon-game-controller, .icon-fire, .icon-eyeglasses, .icon-envelope-open, .icon-envelope-letter, .icon-bell, .icon-badge, .icon-anchor, .icon-wallet, .icon-vector, .icon-speech, .icon-puzzle, .icon-printer, .icon-present, .icon-playlist, .icon-pin, .icon-picture, .icon-map, .icon-layers, .icon-handbag, .icon-globe-alt, .icon-globe, .icon-frame, .icon-folder-alt, .icon-film, .icon-feed, .icon-earphones-alt, .icon-earphones, .icon-drop, .icon-drawer, .icon-docs, .icon-directions, .icon-direction, .icon-diamond, .icon-cup, .icon-compass, .icon-call-out, .icon-call-in, .icon-call-end, .icon-calculator, .icon-bubbles, .icon-briefcase, .icon-book-open, .icon-basket-loaded, .icon-basket, .icon-bag, .icon-action-undo, .icon-action-redo, .icon-wrench, .icon-umbrella, .icon-trash, .icon-tag, .icon-support, .icon-size-fullscreen, .icon-size-actual, .icon-shuffle, .icon-share-alt, .icon-share, .icon-rocket, .icon-question, .icon-pie-chart, .icon-pencil, .icon-note, .icon-music-tone-alt, .icon-music-tone, .icon-microphone, .icon-loop, .icon-logout, .icon-login, .icon-list, .icon-like, .icon-home, .icon-grid, .icon-graph, .icon-equalizer, .icon-dislike, .icon-cursor, .icon-control-start, .icon-control-rewind, .icon-control-play, .icon-control-pause, .icon-control-forward, .icon-control-end, .icon-calendar, .icon-bulb, .icon-bar-chart, .icon-arrow-up, .icon-arrow-right, .icon-arrow-left, .icon-arrow-down, .icon-ban, .icon-bubble, .icon-camcorder, .icon-camera, .icon-check, .icon-clock, .icon-close, .icon-cloud-download, .icon-cloud-upload, .icon-doc, .icon-envelope, .icon-eye, .icon-flag, .icon-folder, .icon-heart, .icon-info, .icon-key, .icon-link, .icon-lock, .icon-lock-open, .icon-magnifier, .icon-magnifier-add, .icon-magnifier-remove, .icon-paper-clip, .icon-paper-plane, .icon-plus, .icon-pointer, .icon-power, .icon-refresh, .icon-reload, .icon-settings, .icon-star, .icon-symbol-female, .icon-symbol-male, .icon-target, .icon-volume-1, .icon-volume-2, .icon-volume-off, .icon-users { - font-family: 'Simple-Line-Icons'; - speak: none; - font-style: normal; - font-weight: normal; - font-variant: normal; - text-transform: none; - line-height: 1; - -webkit-font-smoothing: antialiased; -} -.icon-user-female:before { - content: "\e000"; -} -.icon-user-follow:before { - content: "\e002"; -} -.icon-user-following:before { - content: "\e003"; -} -.icon-user-unfollow:before { - content: "\e004"; -} -.icon-trophy:before { - content: "\e006"; -} -.icon-screen-smartphone:before { - content: "\e010"; -} -.icon-screen-desktop:before { - content: "\e011"; -} -.icon-plane:before { - content: "\e012"; -} -.icon-notebook:before { - content: "\e013"; -} -.icon-moustache:before { - content: "\e014"; -} -.icon-mouse:before { - content: "\e015"; -} -.icon-magnet:before { - content: "\e016"; -} -.icon-energy:before { - content: "\e020"; -} -.icon-emoticon-smile:before { - content: "\e021"; -} -.icon-disc:before { - content: "\e022"; -} -.icon-cursor-move:before { - content: "\e023"; -} -.icon-crop:before { - content: "\e024"; -} -.icon-credit-card:before { - content: "\e025"; -} -.icon-chemistry:before { - content: "\e026"; -} -.icon-user:before { - content: "\e005"; -} -.icon-speedometer:before { - content: "\e007"; -} -.icon-social-youtube:before { - content: "\e008"; -} -.icon-social-twitter:before { - content: "\e009"; -} -.icon-social-tumblr:before { - content: "\e00a"; -} -.icon-social-facebook:before { - content: "\e00b"; -} -.icon-social-dropbox:before { - content: "\e00c"; -} -.icon-social-dribbble:before { - content: "\e00d"; -} -.icon-shield:before { - content: "\e00e"; -} -.icon-screen-tablet:before { - content: "\e00f"; -} -.icon-magic-wand:before { - content: "\e017"; -} -.icon-hourglass:before { - content: "\e018"; -} -.icon-graduation:before { - content: "\e019"; -} -.icon-ghost:before { - content: "\e01a"; -} -.icon-game-controller:before { - content: "\e01b"; -} -.icon-fire:before { - content: "\e01c"; -} -.icon-eyeglasses:before { - content: "\e01d"; -} -.icon-envelope-open:before { - content: "\e01e"; -} -.icon-envelope-letter:before { - content: "\e01f"; -} -.icon-bell:before { - content: "\e027"; -} -.icon-badge:before { - content: "\e028"; -} -.icon-anchor:before { - content: "\e029"; -} -.icon-wallet:before { - content: "\e02a"; -} -.icon-vector:before { - content: "\e02b"; -} -.icon-speech:before { - content: "\e02c"; -} -.icon-puzzle:before { - content: "\e02d"; -} -.icon-printer:before { - content: "\e02e"; -} -.icon-present:before { - content: "\e02f"; -} -.icon-playlist:before { - content: "\e030"; -} -.icon-pin:before { - content: "\e031"; -} -.icon-picture:before { - content: "\e032"; -} -.icon-map:before { - content: "\e033"; -} -.icon-layers:before { - content: "\e034"; -} -.icon-handbag:before { - content: "\e035"; -} -.icon-globe-alt:before { - content: "\e036"; -} -.icon-globe:before { - content: "\e037"; -} -.icon-frame:before { - content: "\e038"; -} -.icon-folder-alt:before { - content: "\e039"; -} -.icon-film:before { - content: "\e03a"; -} -.icon-feed:before { - content: "\e03b"; -} -.icon-earphones-alt:before { - content: "\e03c"; -} -.icon-earphones:before { - content: "\e03d"; -} -.icon-drop:before { - content: "\e03e"; -} -.icon-drawer:before { - content: "\e03f"; -} -.icon-docs:before { - content: "\e040"; -} -.icon-directions:before { - content: "\e041"; -} -.icon-direction:before { - content: "\e042"; -} -.icon-diamond:before { - content: "\e043"; -} -.icon-cup:before { - content: "\e044"; -} -.icon-compass:before { - content: "\e045"; -} -.icon-call-out:before { - content: "\e046"; -} -.icon-call-in:before { - content: "\e047"; -} -.icon-call-end:before { - content: "\e048"; -} -.icon-calculator:before { - content: "\e049"; -} -.icon-bubbles:before { - content: "\e04a"; -} -.icon-briefcase:before { - content: "\e04b"; -} -.icon-book-open:before { - content: "\e04c"; -} -.icon-basket-loaded:before { - content: "\e04d"; -} -.icon-basket:before { - content: "\e04e"; -} -.icon-bag:before { - content: "\e04f"; -} -.icon-action-undo:before { - content: "\e050"; -} -.icon-action-redo:before { - content: "\e051"; -} -.icon-wrench:before { - content: "\e052"; -} -.icon-umbrella:before { - content: "\e053"; -} -.icon-trash:before { - content: "\e054"; -} -.icon-tag:before { - content: "\e055"; -} -.icon-support:before { - content: "\e056"; -} -.icon-size-fullscreen:before { - content: "\e057"; -} -.icon-size-actual:before { - content: "\e058"; -} -.icon-shuffle:before { - content: "\e059"; -} -.icon-share-alt:before { - content: "\e05a"; -} -.icon-share:before { - content: "\e05b"; -} -.icon-rocket:before { - content: "\e05c"; -} -.icon-question:before { - content: "\e05d"; -} -.icon-pie-chart:before { - content: "\e05e"; -} -.icon-pencil:before { - content: "\e05f"; -} -.icon-note:before { - content: "\e060"; -} -.icon-music-tone-alt:before { - content: "\e061"; -} -.icon-music-tone:before { - content: "\e062"; -} -.icon-microphone:before { - content: "\e063"; -} -.icon-loop:before { - content: "\e064"; -} -.icon-logout:before { - content: "\e065"; -} -.icon-login:before { - content: "\e066"; -} -.icon-list:before { - content: "\e067"; -} -.icon-like:before { - content: "\e068"; -} -.icon-home:before { - content: "\e069"; -} -.icon-grid:before { - content: "\e06a"; -} -.icon-graph:before { - content: "\e06b"; -} -.icon-equalizer:before { - content: "\e06c"; -} -.icon-dislike:before { - content: "\e06d"; -} -.icon-cursor:before { - content: "\e06e"; -} -.icon-control-start:before { - content: "\e06f"; -} -.icon-control-rewind:before { - content: "\e070"; -} -.icon-control-play:before { - content: "\e071"; -} -.icon-control-pause:before { - content: "\e072"; -} -.icon-control-forward:before { - content: "\e073"; -} -.icon-control-end:before { - content: "\e074"; -} -.icon-calendar:before { - content: "\e075"; -} -.icon-bulb:before { - content: "\e076"; -} -.icon-bar-chart:before { - content: "\e077"; -} -.icon-arrow-up:before { - content: "\e078"; -} -.icon-arrow-right:before { - content: "\e079"; -} -.icon-arrow-left:before { - content: "\e07a"; -} -.icon-arrow-down:before { - content: "\e07b"; -} -.icon-ban:before { - content: "\e07c"; -} -.icon-bubble:before { - content: "\e07d"; -} -.icon-camcorder:before { - content: "\e07e"; -} -.icon-camera:before { - content: "\e07f"; -} -.icon-check:before { - content: "\e080"; -} -.icon-clock:before { - content: "\e081"; -} -.icon-close:before { - content: "\e082"; -} -.icon-cloud-download:before { - content: "\e083"; -} -.icon-cloud-upload:before { - content: "\e084"; -} -.icon-doc:before { - content: "\e085"; -} -.icon-envelope:before { - content: "\e086"; -} -.icon-eye:before { - content: "\e087"; -} -.icon-flag:before { - content: "\e088"; -} -.icon-folder:before { - content: "\e089"; -} -.icon-heart:before { - content: "\e08a"; -} -.icon-info:before { - content: "\e08b"; -} -.icon-key:before { - content: "\e08c"; -} -.icon-link:before { - content: "\e08d"; -} -.icon-lock:before { - content: "\e08e"; -} -.icon-lock-open:before { - content: "\e08f"; -} -.icon-magnifier:before { - content: "\e090"; -} -.icon-magnifier-add:before { - content: "\e091"; -} -.icon-magnifier-remove:before { - content: "\e092"; -} -.icon-paper-clip:before { - content: "\e093"; -} -.icon-paper-plane:before { - content: "\e094"; -} -.icon-plus:before { - content: "\e095"; -} -.icon-pointer:before { - content: "\e096"; -} -.icon-power:before { - content: "\e097"; -} -.icon-refresh:before { - content: "\e098"; -} -.icon-reload:before { - content: "\e099"; -} -.icon-settings:before { - content: "\e09a"; -} -.icon-star:before { - content: "\e09b"; -} -.icon-symbol-female:before { - content: "\e09c"; -} -.icon-symbol-male:before { - content: "\e09d"; -} -.icon-target:before { - content: "\e09e"; -} -.icon-volume-1:before { - content: "\e09f"; -} -.icon-volume-2:before { - content: "\e0a0"; -} -.icon-volume-off:before { - content: "\e0a1"; -} -.icon-users:before { - content: "\e001"; -} \ No newline at end of file diff --git a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/linea/arrows/fonts/linea-arrows-10.eot b/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/linea/arrows/fonts/linea-arrows-10.eot deleted file mode 100755 index 2a7a31d6..00000000 Binary files a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/linea/arrows/fonts/linea-arrows-10.eot and /dev/null differ diff --git a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/linea/arrows/fonts/linea-arrows-10.svg b/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/linea/arrows/fonts/linea-arrows-10.svg deleted file mode 100755 index 4de07a51..00000000 --- a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/linea/arrows/fonts/linea-arrows-10.svg +++ /dev/null @@ -1,146 +0,0 @@ - - - -Generated by Fontastic.me - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/linea/arrows/fonts/linea-arrows-10.ttf b/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/linea/arrows/fonts/linea-arrows-10.ttf deleted file mode 100755 index dd017c56..00000000 Binary files a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/linea/arrows/fonts/linea-arrows-10.ttf and /dev/null differ diff --git a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/linea/arrows/fonts/linea-arrows-10.woff b/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/linea/arrows/fonts/linea-arrows-10.woff deleted file mode 100755 index 71778ac7..00000000 Binary files a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/linea/arrows/fonts/linea-arrows-10.woff and /dev/null differ diff --git a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/linea/arrows/fonts/linea-arrows-10d41d.eot b/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/linea/arrows/fonts/linea-arrows-10d41d.eot deleted file mode 100755 index 2a7a31d6..00000000 Binary files a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/linea/arrows/fonts/linea-arrows-10d41d.eot and /dev/null differ diff --git a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/linea/arrows/linea-icons.css b/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/linea/arrows/linea-icons.css deleted file mode 100755 index 4f314abc..00000000 --- a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/linea/arrows/linea-icons.css +++ /dev/null @@ -1,448 +0,0 @@ -@charset "UTF-8"; - -@font-face { - font-family: "linea-arrows-10"; - src:url("fonts/linea-arrows-10.eot"); - src:url("fonts/linea-arrows-10d41d.eot?#iefix") format("embedded-opentype"), - url("fonts/linea-arrows-10.woff") format("woff"), - url("fonts/linea-arrows-10.ttf") format("truetype"), - url("fonts/linea-arrows-10.svg#linea-arrows-10") format("svg"); - font-weight: normal; - font-style: normal; - -} - -[data-icon]:before { - font-family: "linea-arrows-10" !important; - content: attr(data-icon); - font-style: normal !important; - font-weight: normal !important; - font-variant: normal !important; - text-transform: none !important; - speak: none; - line-height: 1; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} - -[class^="icon-arrows-"]:before, -[class*=" icon-arrows-"]:before { - font-family: "linea-arrows-10" !important; - font-style: normal !important; - font-weight: normal !important; - font-variant: normal !important; - text-transform: none !important; - speak: none; - line-height: 1; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} - -.icon-arrows-anticlockwise:before { - content: "\e000"; -} -.icon-arrows-anticlockwise-dashed:before { - content: "\e001"; -} -.icon-arrows-button-down:before { - content: "\e002"; -} -.icon-arrows-button-off:before { - content: "\e003"; -} -.icon-arrows-button-on:before { - content: "\e004"; -} -.icon-arrows-button-up:before { - content: "\e005"; -} -.icon-arrows-check:before { - content: "\e006"; -} -.icon-arrows-circle-check:before { - content: "\e007"; -} -.icon-arrows-circle-down:before { - content: "\e008"; -} -.icon-arrows-circle-downleft:before { - content: "\e009"; -} -.icon-arrows-circle-downright:before { - content: "\e00a"; -} -.icon-arrows-circle-left:before { - content: "\e00b"; -} -.icon-arrows-circle-minus:before { - content: "\e00c"; -} -.icon-arrows-circle-plus:before { - content: "\e00d"; -} -.icon-arrows-circle-remove:before { - content: "\e00e"; -} -.icon-arrows-circle-right:before { - content: "\e00f"; -} -.icon-arrows-circle-up:before { - content: "\e010"; -} -.icon-arrows-circle-upleft:before { - content: "\e011"; -} -.icon-arrows-circle-upright:before { - content: "\e012"; -} -.icon-arrows-clockwise:before { - content: "\e013"; -} -.icon-arrows-clockwise-dashed:before { - content: "\e014"; -} -.icon-arrows-compress:before { - content: "\e015"; -} -.icon-arrows-deny:before { - content: "\e016"; -} -.icon-arrows-diagonal:before { - content: "\e017"; -} -.icon-arrows-diagonal2:before { - content: "\e018"; -} -.icon-arrows-down:before { - content: "\e019"; -} -.icon-arrows-down-double:before { - content: "\e01a"; -} -.icon-arrows-downleft:before { - content: "\e01b"; -} -.icon-arrows-downright:before { - content: "\e01c"; -} -.icon-arrows-drag-down:before { - content: "\e01d"; -} -.icon-arrows-drag-down-dashed:before { - content: "\e01e"; -} -.icon-arrows-drag-horiz:before { - content: "\e01f"; -} -.icon-arrows-drag-left:before { - content: "\e020"; -} -.icon-arrows-drag-left-dashed:before { - content: "\e021"; -} -.icon-arrows-drag-right:before { - content: "\e022"; -} -.icon-arrows-drag-right-dashed:before { - content: "\e023"; -} -.icon-arrows-drag-up:before { - content: "\e024"; -} -.icon-arrows-drag-up-dashed:before { - content: "\e025"; -} -.icon-arrows-drag-vert:before { - content: "\e026"; -} -.icon-arrows-exclamation:before { - content: "\e027"; -} -.icon-arrows-expand:before { - content: "\e028"; -} -.icon-arrows-expand-diagonal1:before { - content: "\e029"; -} -.icon-arrows-expand-horizontal1:before { - content: "\e02a"; -} -.icon-arrows-expand-vertical1:before { - content: "\e02b"; -} -.icon-arrows-fit-horizontal:before { - content: "\e02c"; -} -.icon-arrows-fit-vertical:before { - content: "\e02d"; -} -.icon-arrows-glide:before { - content: "\e02e"; -} -.icon-arrows-glide-horizontal:before { - content: "\e02f"; -} -.icon-arrows-glide-vertical:before { - content: "\e030"; -} -.icon-arrows-hamburger1:before { - content: "\e031"; -} -.icon-arrows-hamburger-2:before { - content: "\e032"; -} -.icon-arrows-horizontal:before { - content: "\e033"; -} -.icon-arrows-info:before { - content: "\e034"; -} -.icon-arrows-keyboard-alt:before { - content: "\e035"; -} -.icon-arrows-keyboard-cmd:before { - content: "\e036"; -} -.icon-arrows-keyboard-delete:before { - content: "\e037"; -} -.icon-arrows-keyboard-down:before { - content: "\e038"; -} -.icon-arrows-keyboard-left:before { - content: "\e039"; -} -.icon-arrows-keyboard-return:before { - content: "\e03a"; -} -.icon-arrows-keyboard-right:before { - content: "\e03b"; -} -.icon-arrows-keyboard-shift:before { - content: "\e03c"; -} -.icon-arrows-keyboard-tab:before { - content: "\e03d"; -} -.icon-arrows-keyboard-up:before { - content: "\e03e"; -} -.icon-arrows-left:before { - content: "\e03f"; -} -.icon-arrows-left-double-32:before { - content: "\e040"; -} -.icon-arrows-minus:before { - content: "\e041"; -} -.icon-arrows-move:before { - content: "\e042"; -} -.icon-arrows-move2:before { - content: "\e043"; -} -.icon-arrows-move-bottom:before { - content: "\e044"; -} -.icon-arrows-move-left:before { - content: "\e045"; -} -.icon-arrows-move-right:before { - content: "\e046"; -} -.icon-arrows-move-top:before { - content: "\e047"; -} -.icon-arrows-plus:before { - content: "\e048"; -} -.icon-arrows-question:before { - content: "\e049"; -} -.icon-arrows-remove:before { - content: "\e04a"; -} -.icon-arrows-right:before { - content: "\e04b"; -} -.icon-arrows-right-double:before { - content: "\e04c"; -} -.icon-arrows-rotate:before { - content: "\e04d"; -} -.icon-arrows-rotate-anti:before { - content: "\e04e"; -} -.icon-arrows-rotate-anti-dashed:before { - content: "\e04f"; -} -.icon-arrows-rotate-dashed:before { - content: "\e050"; -} -.icon-arrows-shrink:before { - content: "\e051"; -} -.icon-arrows-shrink-diagonal1:before { - content: "\e052"; -} -.icon-arrows-shrink-diagonal2:before { - content: "\e053"; -} -.icon-arrows-shrink-horizonal2:before { - content: "\e054"; -} -.icon-arrows-shrink-horizontal1:before { - content: "\e055"; -} -.icon-arrows-shrink-vertical1:before { - content: "\e056"; -} -.icon-arrows-shrink-vertical2:before { - content: "\e057"; -} -.icon-arrows-sign-down:before { - content: "\e058"; -} -.icon-arrows-sign-left:before { - content: "\e059"; -} -.icon-arrows-sign-right:before { - content: "\e05a"; -} -.icon-arrows-sign-up:before { - content: "\e05b"; -} -.icon-arrows-slide-down1:before { - content: "\e05c"; -} -.icon-arrows-slide-down2:before { - content: "\e05d"; -} -.icon-arrows-slide-left1:before { - content: "\e05e"; -} -.icon-arrows-slide-left2:before { - content: "\e05f"; -} -.icon-arrows-slide-right1:before { - content: "\e060"; -} -.icon-arrows-slide-right2:before { - content: "\e061"; -} -.icon-arrows-slide-up1:before { - content: "\e062"; -} -.icon-arrows-slide-up2:before { - content: "\e063"; -} -.icon-arrows-slim-down:before { - content: "\e064"; -} -.icon-arrows-slim-down-dashed:before { - content: "\e065"; -} -.icon-arrows-slim-left:before { - content: "\e066"; -} -.icon-arrows-slim-left-dashed:before { - content: "\e067"; -} -.icon-arrows-slim-right:before { - content: "\e068"; -} -.icon-arrows-slim-right-dashed:before { - content: "\e069"; -} -.icon-arrows-slim-up:before { - content: "\e06a"; -} -.icon-arrows-slim-up-dashed:before { - content: "\e06b"; -} -.icon-arrows-square-check:before { - content: "\e06c"; -} -.icon-arrows-square-down:before { - content: "\e06d"; -} -.icon-arrows-square-downleft:before { - content: "\e06e"; -} -.icon-arrows-square-downright:before { - content: "\e06f"; -} -.icon-arrows-square-left:before { - content: "\e070"; -} -.icon-arrows-square-minus:before { - content: "\e071"; -} -.icon-arrows-square-plus:before { - content: "\e072"; -} -.icon-arrows-square-remove:before { - content: "\e073"; -} -.icon-arrows-square-right:before { - content: "\e074"; -} -.icon-arrows-square-up:before { - content: "\e075"; -} -.icon-arrows-square-upleft:before { - content: "\e076"; -} -.icon-arrows-square-upright:before { - content: "\e077"; -} -.icon-arrows-squares:before { - content: "\e078"; -} -.icon-arrows-stretch-diagonal1:before { - content: "\e079"; -} -.icon-arrows-stretch-diagonal2:before { - content: "\e07a"; -} -.icon-arrows-stretch-diagonal3:before { - content: "\e07b"; -} -.icon-arrows-stretch-diagonal4:before { - content: "\e07c"; -} -.icon-arrows-stretch-horizontal1:before { - content: "\e07d"; -} -.icon-arrows-stretch-horizontal2:before { - content: "\e07e"; -} -.icon-arrows-stretch-vertical1:before { - content: "\e07f"; -} -.icon-arrows-stretch-vertical2:before { - content: "\e080"; -} -.icon-arrows-switch-horizontal:before { - content: "\e081"; -} -.icon-arrows-switch-vertical:before { - content: "\e082"; -} -.icon-arrows-up:before { - content: "\e083"; -} -.icon-arrows-up-double-33:before { - content: "\e084"; -} -.icon-arrows-upleft:before { - content: "\e085"; -} -.icon-arrows-upright:before { - content: "\e086"; -} -.icon-arrows-vertical:before { - content: "\e087"; -} diff --git a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/linea/basic/fonts/linea-basic-10.eot b/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/linea/basic/fonts/linea-basic-10.eot deleted file mode 100755 index 6534fd28..00000000 Binary files a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/linea/basic/fonts/linea-basic-10.eot and /dev/null differ diff --git a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/linea/basic/fonts/linea-basic-10.svg b/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/linea/basic/fonts/linea-basic-10.svg deleted file mode 100755 index a98ffce1..00000000 --- a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/linea/basic/fonts/linea-basic-10.svg +++ /dev/null @@ -1,145 +0,0 @@ - - - -Generated by Fontastic.me - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/linea/basic/fonts/linea-basic-10.ttf b/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/linea/basic/fonts/linea-basic-10.ttf deleted file mode 100755 index 0747f277..00000000 Binary files a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/linea/basic/fonts/linea-basic-10.ttf and /dev/null differ diff --git a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/linea/basic/fonts/linea-basic-10.woff b/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/linea/basic/fonts/linea-basic-10.woff deleted file mode 100755 index 36e31857..00000000 Binary files a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/linea/basic/fonts/linea-basic-10.woff and /dev/null differ diff --git a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/linea/basic/fonts/linea-basic-10d41d.eot b/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/linea/basic/fonts/linea-basic-10d41d.eot deleted file mode 100755 index 6534fd28..00000000 Binary files a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/linea/basic/fonts/linea-basic-10d41d.eot and /dev/null differ diff --git a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/linea/basic/linea-icons.css b/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/linea/basic/linea-icons.css deleted file mode 100755 index e1a8dc88..00000000 --- a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/linea/basic/linea-icons.css +++ /dev/null @@ -1,445 +0,0 @@ -@charset "UTF-8"; - -@font-face { - font-family: "linea-basic-10"; - src:url("fonts/linea-basic-10.eot"); - src:url("fonts/linea-basic-10d41d.eot?#iefix") format("embedded-opentype"), - url("fonts/linea-basic-10.woff") format("woff"), - url("fonts/linea-basic-10.ttf") format("truetype"), - url("fonts/linea-basic-10.svg#linea-basic-10") format("svg"); - font-weight: normal; - font-style: normal; - -} - -[data-icon]:before { - font-family: "linea-basic-10" !important; - content: attr(data-icon); - font-style: normal !important; - font-weight: normal !important; - font-variant: normal !important; - text-transform: none !important; - speak: none; - /*line-height: 1;*/ - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} - -[class^="icon-basic-"]:before, -[class*=" icon-basic-"]:before { - font-family: "linea-basic-10" !important; - font-style: normal !important; - font-weight: normal !important; - font-variant: normal !important; - text-transform: none !important; - speak: none; - /*line-height: 1;*/ - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} - -.icon-basic-accelerator:before { - content: "a"; -} -.icon-basic-alarm:before { - content: "b"; -} -.icon-basic-anchor:before { - content: "c"; -} -.icon-basic-anticlockwise:before { - content: "d"; -} -.icon-basic-archive:before { - content: "e"; -} -.icon-basic-archive-full:before { - content: "f"; -} -.icon-basic-ban:before { - content: "g"; -} -.icon-basic-battery-charge:before { - content: "h"; -} -.icon-basic-battery-empty:before { - content: "i"; -} -.icon-basic-battery-full:before { - content: "j"; -} -.icon-basic-battery-half:before { - content: "k"; -} -.icon-basic-bolt:before { - content: "l"; -} -.icon-basic-book:before { - content: "m"; -} -.icon-basic-book-pen:before { - content: "n"; -} -.icon-basic-book-pencil:before { - content: "o"; -} -.icon-basic-bookmark:before { - content: "p"; -} -.icon-basic-calculator:before { - content: "q"; -} -.icon-basic-calendar:before { - content: "r"; -} -.icon-basic-cards-diamonds:before { - content: "s"; -} -.icon-basic-cards-hearts:before { - content: "t"; -} -.icon-basic-case:before { - content: "u"; -} -.icon-basic-chronometer:before { - content: "v"; -} -.icon-basic-clessidre:before { - content: "w"; -} -.icon-basic-clock:before { - content: "x"; -} -.icon-basic-clockwise:before { - content: "y"; -} -.icon-basic-cloud:before { - content: "z"; -} -.icon-basic-clubs:before { - content: "A"; -} -.icon-basic-compass:before { - content: "B"; -} -.icon-basic-cup:before { - content: "C"; -} -.icon-basic-diamonds:before { - content: "D"; -} -.icon-basic-display:before { - content: "E"; -} -.icon-basic-download:before { - content: "F"; -} -.icon-basic-exclamation:before { - content: "G"; -} -.icon-basic-eye:before { - content: "H"; -} -.icon-basic-eye-closed:before { - content: "I"; -} -.icon-basic-female:before { - content: "J"; -} -.icon-basic-flag1:before { - content: "K"; -} -.icon-basic-flag2:before { - content: "L"; -} -.icon-basic-floppydisk:before { - content: "M"; -} -.icon-basic-folder:before { - content: "N"; -} -.icon-basic-folder-multiple:before { - content: "O"; -} -.icon-basic-gear:before { - content: "P"; -} -.icon-basic-geolocalize-01:before { - content: "Q"; -} -.icon-basic-geolocalize-05:before { - content: "R"; -} -.icon-basic-globe:before { - content: "S"; -} -.icon-basic-gunsight:before { - content: "T"; -} -.icon-basic-hammer:before { - content: "U"; -} -.icon-basic-headset:before { - content: "V"; -} -.icon-basic-heart:before { - content: "W"; -} -.icon-basic-heart-broken:before { - content: "X"; -} -.icon-basic-helm:before { - content: "Y"; -} -.icon-basic-home:before { - content: "Z"; -} -.icon-basic-info:before { - content: "0"; -} -.icon-basic-ipod:before { - content: "1"; -} -.icon-basic-joypad:before { - content: "2"; -} -.icon-basic-key:before { - content: "3"; -} -.icon-basic-keyboard:before { - content: "4"; -} -.icon-basic-laptop:before { - content: "5"; -} -.icon-basic-life-buoy:before { - content: "6"; -} -.icon-basic-lightbulb:before { - content: "7"; -} -.icon-basic-link:before { - content: "8"; -} -.icon-basic-lock:before { - content: "9"; -} -.icon-basic-lock-open:before { - content: "!"; -} -.icon-basic-magic-mouse:before { - content: "\""; -} -.icon-basic-magnifier:before { - content: "#"; -} -.icon-basic-magnifier-minus:before { - content: "$"; -} -.icon-basic-magnifier-plus:before { - content: "%"; -} -.icon-basic-mail:before { - content: "&"; -} -.icon-basic-mail-multiple:before { - content: "'"; -} -.icon-basic-mail-open:before { - content: "("; -} -.icon-basic-mail-open-text:before { - content: ")"; -} -.icon-basic-male:before { - content: "*"; -} -.icon-basic-map:before { - content: "+"; -} -.icon-basic-message:before { - content: ","; -} -.icon-basic-message-multiple:before { - content: "-"; -} -.icon-basic-message-txt:before { - content: "."; -} -.icon-basic-mixer2:before { - content: "/"; -} -.icon-basic-mouse:before { - content: ":"; -} -.icon-basic-notebook:before { - content: ";"; -} -.icon-basic-notebook-pen:before { - content: "<"; -} -.icon-basic-notebook-pencil:before { - content: "="; -} -.icon-basic-paperplane:before { - content: ">"; -} -.icon-basic-pencil-ruler:before { - content: "?"; -} -.icon-basic-pencil-ruler-pen:before { - content: "@"; -} -.icon-basic-photo:before { - content: "["; -} -.icon-basic-picture:before { - content: "]"; -} -.icon-basic-picture-multiple:before { - content: "^"; -} -.icon-basic-pin1:before { - content: "_"; -} -.icon-basic-pin2:before { - content: "`"; -} -.icon-basic-postcard:before { - content: "{"; -} -.icon-basic-postcard-multiple:before { - content: "|"; -} -.icon-basic-printer:before { - content: "}"; -} -.icon-basic-question:before { - content: "~"; -} -.icon-basic-rss:before { - content: "\\"; -} -.icon-basic-server:before { - content: "\e000"; -} -.icon-basic-server2:before { - content: "\e001"; -} -.icon-basic-server-cloud:before { - content: "\e002"; -} -.icon-basic-server-download:before { - content: "\e003"; -} -.icon-basic-server-upload:before { - content: "\e004"; -} -.icon-basic-settings:before { - content: "\e005"; -} -.icon-basic-share:before { - content: "\e006"; -} -.icon-basic-sheet:before { - content: "\e007"; -} -.icon-basic-sheet-multiple:before { - content: "\e008"; -} -.icon-basic-sheet-pen:before { - content: "\e009"; -} -.icon-basic-sheet-pencil:before { - content: "\e00a"; -} -.icon-basic-sheet-txt:before { - content: "\e00b"; -} -.icon-basic-signs:before { - content: "\e00c"; -} -.icon-basic-smartphone:before { - content: "\e00d"; -} -.icon-basic-spades:before { - content: "\e00e"; -} -.icon-basic-spread:before { - content: "\e00f"; -} -.icon-basic-spread-bookmark:before { - content: "\e010"; -} -.icon-basic-spread-text:before { - content: "\e011"; -} -.icon-basic-spread-text-bookmark:before { - content: "\e012"; -} -.icon-basic-star:before { - content: "\e013"; -} -.icon-basic-tablet:before { - content: "\e014"; -} -.icon-basic-target:before { - content: "\e015"; -} -.icon-basic-todo:before { - content: "\e016"; -} -.icon-basic-todo-pen:before { - content: "\e017"; -} -.icon-basic-todo-pencil:before { - content: "\e018"; -} -.icon-basic-todo-txt:before { - content: "\e019"; -} -.icon-basic-todolist-pen:before { - content: "\e01a"; -} -.icon-basic-todolist-pencil:before { - content: "\e01b"; -} -.icon-basic-trashcan:before { - content: "\e01c"; -} -.icon-basic-trashcan-full:before { - content: "\e01d"; -} -.icon-basic-trashcan-refresh:before { - content: "\e01e"; -} -.icon-basic-trashcan-remove:before { - content: "\e01f"; -} -.icon-basic-upload:before { - content: "\e020"; -} -.icon-basic-usb:before { - content: "\e021"; -} -.icon-basic-video:before { - content: "\e022"; -} -.icon-basic-watch:before { - content: "\e023"; -} -.icon-basic-webpage:before { - content: "\e024"; -} -.icon-basic-webpage-img-txt:before { - content: "\e025"; -} -.icon-basic-webpage-multiple:before { - content: "\e026"; -} -.icon-basic-webpage-txt:before { - content: "\e027"; -} -.icon-basic-world:before { - content: "\e028"; -} diff --git a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/linea/ecommerce/fonts/linea-ecommerce-10.eot b/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/linea/ecommerce/fonts/linea-ecommerce-10.eot deleted file mode 100755 index c08508bc..00000000 Binary files a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/linea/ecommerce/fonts/linea-ecommerce-10.eot and /dev/null differ diff --git a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/linea/ecommerce/fonts/linea-ecommerce-10.svg b/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/linea/ecommerce/fonts/linea-ecommerce-10.svg deleted file mode 100755 index 19ec5dbc..00000000 --- a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/linea/ecommerce/fonts/linea-ecommerce-10.svg +++ /dev/null @@ -1,95 +0,0 @@ - - - -Generated by Fontastic.me - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/linea/ecommerce/fonts/linea-ecommerce-10.ttf b/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/linea/ecommerce/fonts/linea-ecommerce-10.ttf deleted file mode 100755 index f6300b8e..00000000 Binary files a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/linea/ecommerce/fonts/linea-ecommerce-10.ttf and /dev/null differ diff --git a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/linea/ecommerce/fonts/linea-ecommerce-10.woff b/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/linea/ecommerce/fonts/linea-ecommerce-10.woff deleted file mode 100755 index 0be769b0..00000000 Binary files a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/linea/ecommerce/fonts/linea-ecommerce-10.woff and /dev/null differ diff --git a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/linea/ecommerce/fonts/linea-ecommerce-10d41d.eot b/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/linea/ecommerce/fonts/linea-ecommerce-10d41d.eot deleted file mode 100755 index c08508bc..00000000 Binary files a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/linea/ecommerce/fonts/linea-ecommerce-10d41d.eot and /dev/null differ diff --git a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/linea/ecommerce/linea-icons.css b/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/linea/ecommerce/linea-icons.css deleted file mode 100755 index e7f405e6..00000000 --- a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/linea/ecommerce/linea-icons.css +++ /dev/null @@ -1,295 +0,0 @@ -@charset "UTF-8"; - -@font-face { - font-family: "linea-ecommerce-10"; - src:url("fonts/linea-ecommerce-10.eot"); - src:url("fonts/linea-ecommerce-10d41d.eot?#iefix") format("embedded-opentype"), - url("fonts/linea-ecommerce-10.woff") format("woff"), - url("fonts/linea-ecommerce-10.ttf") format("truetype"), - url("fonts/linea-ecommerce-10.svg#linea-ecommerce-10") format("svg"); - font-weight: normal; - font-style: normal; - -} - -[data-icon]:before { - font-family: "linea-ecommerce-10" !important; - content: attr(data-icon); - font-style: normal !important; - font-weight: normal !important; - font-variant: normal !important; - text-transform: none !important; - speak: none; - line-height: 1; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} - -[class^="icon-ecommerce-"]:before, -[class*=" icon-ecommerce-"]:before { - font-family: "linea-ecommerce-10" !important; - font-style: normal !important; - font-weight: normal !important; - font-variant: normal !important; - text-transform: none !important; - speak: none; - line-height: 1; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} - -.icon-ecommerce-bag:before { - content: "a"; -} -.icon-ecommerce-bag-check:before { - content: "b"; -} -.icon-ecommerce-bag-cloud:before { - content: "c"; -} -.icon-ecommerce-bag-download:before { - content: "d"; -} -.icon-ecommerce-bag-minus:before { - content: "e"; -} -.icon-ecommerce-bag-plus:before { - content: "f"; -} -.icon-ecommerce-bag-refresh:before { - content: "g"; -} -.icon-ecommerce-bag-remove:before { - content: "h"; -} -.icon-ecommerce-bag-search:before { - content: "i"; -} -.icon-ecommerce-bag-upload:before { - content: "j"; -} -.icon-ecommerce-banknote:before { - content: "k"; -} -.icon-ecommerce-banknotes:before { - content: "l"; -} -.icon-ecommerce-basket:before { - content: "m"; -} -.icon-ecommerce-basket-check:before { - content: "n"; -} -.icon-ecommerce-basket-cloud:before { - content: "o"; -} -.icon-ecommerce-basket-download:before { - content: "p"; -} -.icon-ecommerce-basket-minus:before { - content: "q"; -} -.icon-ecommerce-basket-plus:before { - content: "r"; -} -.icon-ecommerce-basket-refresh:before { - content: "s"; -} -.icon-ecommerce-basket-remove:before { - content: "t"; -} -.icon-ecommerce-basket-search:before { - content: "u"; -} -.icon-ecommerce-basket-upload:before { - content: "v"; -} -.icon-ecommerce-bath:before { - content: "w"; -} -.icon-ecommerce-cart:before { - content: "x"; -} -.icon-ecommerce-cart-check:before { - content: "y"; -} -.icon-ecommerce-cart-cloud:before { - content: "z"; -} -.icon-ecommerce-cart-content:before { - content: "A"; -} -.icon-ecommerce-cart-download:before { - content: "B"; -} -.icon-ecommerce-cart-minus:before { - content: "C"; -} -.icon-ecommerce-cart-plus:before { - content: "D"; -} -.icon-ecommerce-cart-refresh:before { - content: "E"; -} -.icon-ecommerce-cart-remove:before { - content: "F"; -} -.icon-ecommerce-cart-search:before { - content: "G"; -} -.icon-ecommerce-cart-upload:before { - content: "H"; -} -.icon-ecommerce-cent:before { - content: "I"; -} -.icon-ecommerce-colon:before { - content: "J"; -} -.icon-ecommerce-creditcard:before { - content: "K"; -} -.icon-ecommerce-diamond:before { - content: "L"; -} -.icon-ecommerce-dollar:before { - content: "M"; -} -.icon-ecommerce-euro:before { - content: "N"; -} -.icon-ecommerce-franc:before { - content: "O"; -} -.icon-ecommerce-gift:before { - content: "P"; -} -.icon-ecommerce-graph1:before { - content: "Q"; -} -.icon-ecommerce-graph2:before { - content: "R"; -} -.icon-ecommerce-graph3:before { - content: "S"; -} -.icon-ecommerce-graph-decrease:before { - content: "T"; -} -.icon-ecommerce-graph-increase:before { - content: "U"; -} -.icon-ecommerce-guarani:before { - content: "V"; -} -.icon-ecommerce-kips:before { - content: "W"; -} -.icon-ecommerce-lira:before { - content: "X"; -} -.icon-ecommerce-megaphone:before { - content: "Y"; -} -.icon-ecommerce-money:before { - content: "Z"; -} -.icon-ecommerce-naira:before { - content: "0"; -} -.icon-ecommerce-pesos:before { - content: "1"; -} -.icon-ecommerce-pound:before { - content: "2"; -} -.icon-ecommerce-receipt:before { - content: "3"; -} -.icon-ecommerce-receipt-bath:before { - content: "4"; -} -.icon-ecommerce-receipt-cent:before { - content: "5"; -} -.icon-ecommerce-receipt-dollar:before { - content: "6"; -} -.icon-ecommerce-receipt-euro:before { - content: "7"; -} -.icon-ecommerce-receipt-franc:before { - content: "8"; -} -.icon-ecommerce-receipt-guarani:before { - content: "9"; -} -.icon-ecommerce-receipt-kips:before { - content: "!"; -} -.icon-ecommerce-receipt-lira:before { - content: "\""; -} -.icon-ecommerce-receipt-naira:before { - content: "#"; -} -.icon-ecommerce-receipt-pesos:before { - content: "$"; -} -.icon-ecommerce-receipt-pound:before { - content: "%"; -} -.icon-ecommerce-receipt-rublo:before { - content: "&"; -} -.icon-ecommerce-receipt-rupee:before { - content: "'"; -} -.icon-ecommerce-receipt-tugrik:before { - content: "("; -} -.icon-ecommerce-receipt-won:before { - content: ")"; -} -.icon-ecommerce-receipt-yen:before { - content: "*"; -} -.icon-ecommerce-receipt-yen2:before { - content: "+"; -} -.icon-ecommerce-recept-colon:before { - content: ","; -} -.icon-ecommerce-rublo:before { - content: "-"; -} -.icon-ecommerce-rupee:before { - content: "."; -} -.icon-ecommerce-safe:before { - content: "/"; -} -.icon-ecommerce-sale:before { - content: ":"; -} -.icon-ecommerce-sales:before { - content: ";"; -} -.icon-ecommerce-ticket:before { - content: "<"; -} -.icon-ecommerce-tugriks:before { - content: "="; -} -.icon-ecommerce-wallet:before { - content: ">"; -} -.icon-ecommerce-won:before { - content: "?"; -} -.icon-ecommerce-yen:before { - content: "@"; -} -.icon-ecommerce-yen2:before { - content: "["; -} diff --git a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/linea/software/fonts/linea-software-10.eot b/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/linea/software/fonts/linea-software-10.eot deleted file mode 100755 index 9ddf3220..00000000 Binary files a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/linea/software/fonts/linea-software-10.eot and /dev/null differ diff --git a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/linea/software/fonts/linea-software-10.svg b/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/linea/software/fonts/linea-software-10.svg deleted file mode 100755 index e41689f7..00000000 --- a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/linea/software/fonts/linea-software-10.svg +++ /dev/null @@ -1,110 +0,0 @@ - - - -Generated by Fontastic.me - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/linea/software/fonts/linea-software-10.ttf b/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/linea/software/fonts/linea-software-10.ttf deleted file mode 100755 index d10e2cda..00000000 Binary files a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/linea/software/fonts/linea-software-10.ttf and /dev/null differ diff --git a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/linea/software/fonts/linea-software-10.woff b/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/linea/software/fonts/linea-software-10.woff deleted file mode 100755 index 7c750b7f..00000000 Binary files a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/linea/software/fonts/linea-software-10.woff and /dev/null differ diff --git a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/linea/software/fonts/linea-software-10d41d.eot b/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/linea/software/fonts/linea-software-10d41d.eot deleted file mode 100755 index 9ddf3220..00000000 Binary files a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/linea/software/fonts/linea-software-10d41d.eot and /dev/null differ diff --git a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/linea/software/linea-icons.css b/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/linea/software/linea-icons.css deleted file mode 100755 index c291cca3..00000000 --- a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/linea/software/linea-icons.css +++ /dev/null @@ -1,340 +0,0 @@ -@charset "UTF-8"; - -@font-face { - font-family: "linea-software-10"; - src:url("fonts/linea-software-10.eot"); - src:url("fonts/linea-software-10d41d.eot?#iefix") format("embedded-opentype"), - url("fonts/linea-software-10.woff") format("woff"), - url("fonts/linea-software-10.ttf") format("truetype"), - url("fonts/linea-software-10.svg#linea-software-10") format("svg"); - font-weight: normal; - font-style: normal; - -} - -[data-icon]:before { - font-family: "linea-software-10" !important; - content: attr(data-icon); - font-style: normal !important; - font-weight: normal !important; - font-variant: normal !important; - text-transform: none !important; - speak: none; - line-height: 1; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} - -[class^="icon-software-"]:before, -[class*=" icon-software-"]:before { - font-family: "linea-software-10" !important; - font-style: normal !important; - font-weight: normal !important; - font-variant: normal !important; - text-transform: none !important; - speak: none; - line-height: 1; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} - -.icon-software-add-vectorpoint:before { - content: "a"; -} -.icon-software-box-oval:before { - content: "b"; -} -.icon-software-box-polygon:before { - content: "c"; -} -.icon-software-box-rectangle:before { - content: "d"; -} -.icon-software-box-roundedrectangle:before { - content: "e"; -} -.icon-software-character:before { - content: "f"; -} -.icon-software-crop:before { - content: "g"; -} -.icon-software-eyedropper:before { - content: "h"; -} -.icon-software-font-allcaps:before { - content: "i"; -} -.icon-software-font-baseline-shift:before { - content: "j"; -} -.icon-software-font-horizontal-scale:before { - content: "k"; -} -.icon-software-font-kerning:before { - content: "l"; -} -.icon-software-font-leading:before { - content: "m"; -} -.icon-software-font-size:before { - content: "n"; -} -.icon-software-font-smallcapital:before { - content: "o"; -} -.icon-software-font-smallcaps:before { - content: "p"; -} -.icon-software-font-strikethrough:before { - content: "q"; -} -.icon-software-font-tracking:before { - content: "r"; -} -.icon-software-font-underline:before { - content: "s"; -} -.icon-software-font-vertical-scale:before { - content: "t"; -} -.icon-software-horizontal-align-center:before { - content: "u"; -} -.icon-software-horizontal-align-left:before { - content: "v"; -} -.icon-software-horizontal-align-right:before { - content: "w"; -} -.icon-software-horizontal-distribute-center:before { - content: "x"; -} -.icon-software-horizontal-distribute-left:before { - content: "y"; -} -.icon-software-horizontal-distribute-right:before { - content: "z"; -} -.icon-software-indent-firstline:before { - content: "A"; -} -.icon-software-indent-left:before { - content: "B"; -} -.icon-software-indent-right:before { - content: "C"; -} -.icon-software-lasso:before { - content: "D"; -} -.icon-software-layers1:before { - content: "E"; -} -.icon-software-layers2:before { - content: "F"; -} -.icon-software-layout:before { - content: "G"; -} -.icon-software-layout-2columns:before { - content: "H"; -} -.icon-software-layout-3columns:before { - content: "I"; -} -.icon-software-layout-4boxes:before { - content: "J"; -} -.icon-software-layout-4columns:before { - content: "K"; -} -.icon-software-layout-4lines:before { - content: "L"; -} -.icon-software-layout-8boxes:before { - content: "M"; -} -.icon-software-layout-header:before { - content: "N"; -} -.icon-software-layout-header-2columns:before { - content: "O"; -} -.icon-software-layout-header-3columns:before { - content: "P"; -} -.icon-software-layout-header-4boxes:before { - content: "Q"; -} -.icon-software-layout-header-4columns:before { - content: "R"; -} -.icon-software-layout-header-complex:before { - content: "S"; -} -.icon-software-layout-header-complex2:before { - content: "T"; -} -.icon-software-layout-header-complex3:before { - content: "U"; -} -.icon-software-layout-header-complex4:before { - content: "V"; -} -.icon-software-layout-header-sideleft:before { - content: "W"; -} -.icon-software-layout-header-sideright:before { - content: "X"; -} -.icon-software-layout-sidebar-left:before { - content: "Y"; -} -.icon-software-layout-sidebar-right:before { - content: "Z"; -} -.icon-software-magnete:before { - content: "0"; -} -.icon-software-pages:before { - content: "1"; -} -.icon-software-paintbrush:before { - content: "2"; -} -.icon-software-paintbucket:before { - content: "3"; -} -.icon-software-paintroller:before { - content: "4"; -} -.icon-software-paragraph:before { - content: "5"; -} -.icon-software-paragraph-align-left:before { - content: "6"; -} -.icon-software-paragraph-align-right:before { - content: "7"; -} -.icon-software-paragraph-center:before { - content: "8"; -} -.icon-software-paragraph-justify-all:before { - content: "9"; -} -.icon-software-paragraph-justify-center:before { - content: "!"; -} -.icon-software-paragraph-justify-left:before { - content: "\""; -} -.icon-software-paragraph-justify-right:before { - content: "#"; -} -.icon-software-paragraph-space-after:before { - content: "$"; -} -.icon-software-paragraph-space-before:before { - content: "%"; -} -.icon-software-pathfinder-exclude:before { - content: "&"; -} -.icon-software-pathfinder-intersect:before { - content: "'"; -} -.icon-software-pathfinder-subtract:before { - content: "("; -} -.icon-software-pathfinder-unite:before { - content: ")"; -} -.icon-software-pen:before { - content: "*"; -} -.icon-software-pen-add:before { - content: "+"; -} -.icon-software-pen-remove:before { - content: ","; -} -.icon-software-pencil:before { - content: "-"; -} -.icon-software-polygonallasso:before { - content: "."; -} -.icon-software-reflect-horizontal:before { - content: "/"; -} -.icon-software-reflect-vertical:before { - content: ":"; -} -.icon-software-remove-vectorpoint:before { - content: ";"; -} -.icon-software-scale-expand:before { - content: "<"; -} -.icon-software-scale-reduce:before { - content: "="; -} -.icon-software-selection-oval:before { - content: ">"; -} -.icon-software-selection-polygon:before { - content: "?"; -} -.icon-software-selection-rectangle:before { - content: "@"; -} -.icon-software-selection-roundedrectangle:before { - content: "["; -} -.icon-software-shape-oval:before { - content: "]"; -} -.icon-software-shape-polygon:before { - content: "^"; -} -.icon-software-shape-rectangle:before { - content: "_"; -} -.icon-software-shape-roundedrectangle:before { - content: "`"; -} -.icon-software-slice:before { - content: "{"; -} -.icon-software-transform-bezier:before { - content: "|"; -} -.icon-software-vector-box:before { - content: "}"; -} -.icon-software-vector-composite:before { - content: "~"; -} -.icon-software-vector-line:before { - content: "\\"; -} -.icon-software-vertical-align-bottom:before { - content: "\e000"; -} -.icon-software-vertical-align-center:before { - content: "\e001"; -} -.icon-software-vertical-align-top:before { - content: "\e002"; -} -.icon-software-vertical-distribute-bottom:before { - content: "\e003"; -} -.icon-software-vertical-distribute-center:before { - content: "\e004"; -} -.icon-software-vertical-distribute-top:before { - content: "\e005"; -} diff --git a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/material_icon/MaterialIcons-Regular.eot b/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/material_icon/MaterialIcons-Regular.eot deleted file mode 100755 index 70508eba..00000000 Binary files a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/material_icon/MaterialIcons-Regular.eot and /dev/null differ diff --git a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/material_icon/MaterialIcons-Regular.ttf b/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/material_icon/MaterialIcons-Regular.ttf deleted file mode 100755 index 7015564a..00000000 Binary files a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/material_icon/MaterialIcons-Regular.ttf and /dev/null differ diff --git a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/material_icon/MaterialIcons-Regular.woff b/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/material_icon/MaterialIcons-Regular.woff deleted file mode 100755 index b648a3ee..00000000 Binary files a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/material_icon/MaterialIcons-Regular.woff and /dev/null differ diff --git a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/material_icon/MaterialIcons-Regular.woff2 b/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/material_icon/MaterialIcons-Regular.woff2 deleted file mode 100755 index 9fa21125..00000000 Binary files a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/material_icon/MaterialIcons-Regular.woff2 and /dev/null differ diff --git a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/material_icon/icon.css b/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/material_icon/icon.css deleted file mode 100755 index 1afa72d7..00000000 --- a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/material_icon/icon.css +++ /dev/null @@ -1,28 +0,0 @@ -/* fallback */ -@font-face { - font-family: 'Material Icons'; - font-style: normal; - font-weight: 400; - src: url(MaterialIcons-Regular.eot); /* For IE6-8 */ - src: local('Material Icons'), - local('MaterialIcons-Regular'), - url(MaterialIcons-Regular.woff2) format('woff2'), - url(MaterialIcons-Regular.woff) format('woff'), - url(MaterialIcons-Regular.ttf) format('truetype'); -} - -.material-icons { - font-family: 'Material Icons'; - font-weight: normal; - font-style: normal; - font-size: 24px; - line-height: 1; - letter-spacing: normal; - text-transform: none; - display: inline-block; - white-space: nowrap; - word-wrap: normal; - direction: ltr; - -webkit-font-feature-settings: 'liga'; - -webkit-font-smoothing: antialiased; -} diff --git a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/simple-line-icons/css/simple-line-icons.css b/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/simple-line-icons/css/simple-line-icons.css deleted file mode 100755 index 6bca0ecc..00000000 --- a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/simple-line-icons/css/simple-line-icons.css +++ /dev/null @@ -1,766 +0,0 @@ -@font-face { - font-family: 'simple-line-icons'; - src: url('../fonts/Simple-Line-Icons06c8.eot?v=2.3.2'); - src: url('../fonts/Simple-Line-Icons06c8.eot?v=2.3.2#iefix') format('embedded-opentype'), url('../fonts/Simple-Line-Icons06c8.html?v=2.3.2') format('woff2'), url('../fonts/Simple-Line-Icons06c8.ttf?v=2.3.2') format('truetype'), url('../fonts/Simple-Line-Icons06c8.woff?v=2.3.2') format('woff'), url('../fonts/Simple-Line-Icons06c8.svg?v=2.3.2#simple-line-icons') format('svg'); - font-weight: normal; - font-style: normal; -} -/* - Use the following CSS code if you want to have a class per icon. - Instead of a list of all class selectors, you can use the generic [class*="icon-"] selector, but it's slower: -*/ -.icon-user, -.icon-people, -.icon-user-female, -.icon-user-follow, -.icon-user-following, -.icon-user-unfollow, -.icon-login, -.icon-logout, -.icon-emotsmile, -.icon-phone, -.icon-call-end, -.icon-call-in, -.icon-call-out, -.icon-map, -.icon-location-pin, -.icon-direction, -.icon-directions, -.icon-compass, -.icon-layers, -.icon-menu, -.icon-list, -.icon-options-vertical, -.icon-options, -.icon-arrow-down, -.icon-arrow-left, -.icon-arrow-right, -.icon-arrow-up, -.icon-arrow-up-circle, -.icon-arrow-left-circle, -.icon-arrow-right-circle, -.icon-arrow-down-circle, -.icon-check, -.icon-clock, -.icon-plus, -.icon-minus, -.icon-close, -.icon-exclamation, -.icon-organization, -.icon-trophy, -.icon-screen-smartphone, -.icon-screen-desktop, -.icon-plane, -.icon-notebook, -.icon-mustache, -.icon-mouse, -.icon-magnet, -.icon-energy, -.icon-disc, -.icon-cursor, -.icon-cursor-move, -.icon-crop, -.icon-chemistry, -.icon-speedometer, -.icon-shield, -.icon-screen-tablet, -.icon-magic-wand, -.icon-hourglass, -.icon-graduation, -.icon-ghost, -.icon-game-controller, -.icon-fire, -.icon-eyeglass, -.icon-envelope-open, -.icon-envelope-letter, -.icon-bell, -.icon-badge, -.icon-anchor, -.icon-wallet, -.icon-vector, -.icon-speech, -.icon-puzzle, -.icon-printer, -.icon-present, -.icon-playlist, -.icon-pin, -.icon-picture, -.icon-handbag, -.icon-globe-alt, -.icon-globe, -.icon-folder-alt, -.icon-folder, -.icon-film, -.icon-feed, -.icon-drop, -.icon-drawer, -.icon-docs, -.icon-doc, -.icon-diamond, -.icon-cup, -.icon-calculator, -.icon-bubbles, -.icon-briefcase, -.icon-book-open, -.icon-basket-loaded, -.icon-basket, -.icon-bag, -.icon-action-undo, -.icon-action-redo, -.icon-wrench, -.icon-umbrella, -.icon-trash, -.icon-tag, -.icon-support, -.icon-frame, -.icon-size-fullscreen, -.icon-size-actual, -.icon-shuffle, -.icon-share-alt, -.icon-share, -.icon-rocket, -.icon-question, -.icon-pie-chart, -.icon-pencil, -.icon-note, -.icon-loop, -.icon-home, -.icon-grid, -.icon-graph, -.icon-microphone, -.icon-music-tone-alt, -.icon-music-tone, -.icon-earphones-alt, -.icon-earphones, -.icon-equalizer, -.icon-like, -.icon-dislike, -.icon-control-start, -.icon-control-rewind, -.icon-control-play, -.icon-control-pause, -.icon-control-forward, -.icon-control-end, -.icon-volume-1, -.icon-volume-2, -.icon-volume-off, -.icon-calendar, -.icon-bulb, -.icon-chart, -.icon-ban, -.icon-bubble, -.icon-camrecorder, -.icon-camera, -.icon-cloud-download, -.icon-cloud-upload, -.icon-envelope, -.icon-eye, -.icon-flag, -.icon-heart, -.icon-info, -.icon-key, -.icon-link, -.icon-lock, -.icon-lock-open, -.icon-magnifier, -.icon-magnifier-add, -.icon-magnifier-remove, -.icon-paper-clip, -.icon-paper-plane, -.icon-power, -.icon-refresh, -.icon-reload, -.icon-settings, -.icon-star, -.icon-symbol-female, -.icon-symbol-male, -.icon-target, -.icon-credit-card, -.icon-paypal, -.icon-social-tumblr, -.icon-social-twitter, -.icon-social-facebook, -.icon-social-instagram, -.icon-social-linkedin, -.icon-social-pinterest, -.icon-social-github, -.icon-social-google, -.icon-social-reddit, -.icon-social-skype, -.icon-social-dribbble, -.icon-social-behance, -.icon-social-foursqare, -.icon-social-soundcloud, -.icon-social-spotify, -.icon-social-stumbleupon, -.icon-social-youtube, -.icon-social-dropbox { - font-family: 'simple-line-icons'; - speak: none; - font-style: normal; - font-weight: normal; - font-variant: normal; - text-transform: none; - line-height: 1; - /* Better Font Rendering =========== */ - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} -.icon-user:before { - content: "\e005"; -} -.icon-people:before { - content: "\e001"; -} -.icon-user-female:before { - content: "\e000"; -} -.icon-user-follow:before { - content: "\e002"; -} -.icon-user-following:before { - content: "\e003"; -} -.icon-user-unfollow:before { - content: "\e004"; -} -.icon-login:before { - content: "\e066"; -} -.icon-logout:before { - content: "\e065"; -} -.icon-emotsmile:before { - content: "\e021"; -} -.icon-phone:before { - content: "\e600"; -} -.icon-call-end:before { - content: "\e048"; -} -.icon-call-in:before { - content: "\e047"; -} -.icon-call-out:before { - content: "\e046"; -} -.icon-map:before { - content: "\e033"; -} -.icon-location-pin:before { - content: "\e096"; -} -.icon-direction:before { - content: "\e042"; -} -.icon-directions:before { - content: "\e041"; -} -.icon-compass:before { - content: "\e045"; -} -.icon-layers:before { - content: "\e034"; -} -.icon-menu:before { - content: "\e601"; -} -.icon-list:before { - content: "\e067"; -} -.icon-options-vertical:before { - content: "\e602"; -} -.icon-options:before { - content: "\e603"; -} -.icon-arrow-down:before { - content: "\e604"; -} -.icon-arrow-left:before { - content: "\e605"; -} -.icon-arrow-right:before { - content: "\e606"; -} -.icon-arrow-up:before { - content: "\e607"; -} -.icon-arrow-up-circle:before { - content: "\e078"; -} -.icon-arrow-left-circle:before { - content: "\e07a"; -} -.icon-arrow-right-circle:before { - content: "\e079"; -} -.icon-arrow-down-circle:before { - content: "\e07b"; -} -.icon-check:before { - content: "\e080"; -} -.icon-clock:before { - content: "\e081"; -} -.icon-plus:before { - content: "\e095"; -} -.icon-minus:before { - content: "\e615"; -} -.icon-close:before { - content: "\e082"; -} -.icon-exclamation:before { - content: "\e617"; -} -.icon-organization:before { - content: "\e616"; -} -.icon-trophy:before { - content: "\e006"; -} -.icon-screen-smartphone:before { - content: "\e010"; -} -.icon-screen-desktop:before { - content: "\e011"; -} -.icon-plane:before { - content: "\e012"; -} -.icon-notebook:before { - content: "\e013"; -} -.icon-mustache:before { - content: "\e014"; -} -.icon-mouse:before { - content: "\e015"; -} -.icon-magnet:before { - content: "\e016"; -} -.icon-energy:before { - content: "\e020"; -} -.icon-disc:before { - content: "\e022"; -} -.icon-cursor:before { - content: "\e06e"; -} -.icon-cursor-move:before { - content: "\e023"; -} -.icon-crop:before { - content: "\e024"; -} -.icon-chemistry:before { - content: "\e026"; -} -.icon-speedometer:before { - content: "\e007"; -} -.icon-shield:before { - content: "\e00e"; -} -.icon-screen-tablet:before { - content: "\e00f"; -} -.icon-magic-wand:before { - content: "\e017"; -} -.icon-hourglass:before { - content: "\e018"; -} -.icon-graduation:before { - content: "\e019"; -} -.icon-ghost:before { - content: "\e01a"; -} -.icon-game-controller:before { - content: "\e01b"; -} -.icon-fire:before { - content: "\e01c"; -} -.icon-eyeglass:before { - content: "\e01d"; -} -.icon-envelope-open:before { - content: "\e01e"; -} -.icon-envelope-letter:before { - content: "\e01f"; -} -.icon-bell:before { - content: "\e027"; -} -.icon-badge:before { - content: "\e028"; -} -.icon-anchor:before { - content: "\e029"; -} -.icon-wallet:before { - content: "\e02a"; -} -.icon-vector:before { - content: "\e02b"; -} -.icon-speech:before { - content: "\e02c"; -} -.icon-puzzle:before { - content: "\e02d"; -} -.icon-printer:before { - content: "\e02e"; -} -.icon-present:before { - content: "\e02f"; -} -.icon-playlist:before { - content: "\e030"; -} -.icon-pin:before { - content: "\e031"; -} -.icon-picture:before { - content: "\e032"; -} -.icon-handbag:before { - content: "\e035"; -} -.icon-globe-alt:before { - content: "\e036"; -} -.icon-globe:before { - content: "\e037"; -} -.icon-folder-alt:before { - content: "\e039"; -} -.icon-folder:before { - content: "\e089"; -} -.icon-film:before { - content: "\e03a"; -} -.icon-feed:before { - content: "\e03b"; -} -.icon-drop:before { - content: "\e03e"; -} -.icon-drawer:before { - content: "\e03f"; -} -.icon-docs:before { - content: "\e040"; -} -.icon-doc:before { - content: "\e085"; -} -.icon-diamond:before { - content: "\e043"; -} -.icon-cup:before { - content: "\e044"; -} -.icon-calculator:before { - content: "\e049"; -} -.icon-bubbles:before { - content: "\e04a"; -} -.icon-briefcase:before { - content: "\e04b"; -} -.icon-book-open:before { - content: "\e04c"; -} -.icon-basket-loaded:before { - content: "\e04d"; -} -.icon-basket:before { - content: "\e04e"; -} -.icon-bag:before { - content: "\e04f"; -} -.icon-action-undo:before { - content: "\e050"; -} -.icon-action-redo:before { - content: "\e051"; -} -.icon-wrench:before { - content: "\e052"; -} -.icon-umbrella:before { - content: "\e053"; -} -.icon-trash:before { - content: "\e054"; -} -.icon-tag:before { - content: "\e055"; -} -.icon-support:before { - content: "\e056"; -} -.icon-frame:before { - content: "\e038"; -} -.icon-size-fullscreen:before { - content: "\e057"; -} -.icon-size-actual:before { - content: "\e058"; -} -.icon-shuffle:before { - content: "\e059"; -} -.icon-share-alt:before { - content: "\e05a"; -} -.icon-share:before { - content: "\e05b"; -} -.icon-rocket:before { - content: "\e05c"; -} -.icon-question:before { - content: "\e05d"; -} -.icon-pie-chart:before { - content: "\e05e"; -} -.icon-pencil:before { - content: "\e05f"; -} -.icon-note:before { - content: "\e060"; -} -.icon-loop:before { - content: "\e064"; -} -.icon-home:before { - content: "\e069"; -} -.icon-grid:before { - content: "\e06a"; -} -.icon-graph:before { - content: "\e06b"; -} -.icon-microphone:before { - content: "\e063"; -} -.icon-music-tone-alt:before { - content: "\e061"; -} -.icon-music-tone:before { - content: "\e062"; -} -.icon-earphones-alt:before { - content: "\e03c"; -} -.icon-earphones:before { - content: "\e03d"; -} -.icon-equalizer:before { - content: "\e06c"; -} -.icon-like:before { - content: "\e068"; -} -.icon-dislike:before { - content: "\e06d"; -} -.icon-control-start:before { - content: "\e06f"; -} -.icon-control-rewind:before { - content: "\e070"; -} -.icon-control-play:before { - content: "\e071"; -} -.icon-control-pause:before { - content: "\e072"; -} -.icon-control-forward:before { - content: "\e073"; -} -.icon-control-end:before { - content: "\e074"; -} -.icon-volume-1:before { - content: "\e09f"; -} -.icon-volume-2:before { - content: "\e0a0"; -} -.icon-volume-off:before { - content: "\e0a1"; -} -.icon-calendar:before { - content: "\e075"; -} -.icon-bulb:before { - content: "\e076"; -} -.icon-chart:before { - content: "\e077"; -} -.icon-ban:before { - content: "\e07c"; -} -.icon-bubble:before { - content: "\e07d"; -} -.icon-camrecorder:before { - content: "\e07e"; -} -.icon-camera:before { - content: "\e07f"; -} -.icon-cloud-download:before { - content: "\e083"; -} -.icon-cloud-upload:before { - content: "\e084"; -} -.icon-envelope:before { - content: "\e086"; -} -.icon-eye:before { - content: "\e087"; -} -.icon-flag:before { - content: "\e088"; -} -.icon-heart:before { - content: "\e08a"; -} -.icon-info:before { - content: "\e08b"; -} -.icon-key:before { - content: "\e08c"; -} -.icon-link:before { - content: "\e08d"; -} -.icon-lock:before { - content: "\e08e"; -} -.icon-lock-open:before { - content: "\e08f"; -} -.icon-magnifier:before { - content: "\e090"; -} -.icon-magnifier-add:before { - content: "\e091"; -} -.icon-magnifier-remove:before { - content: "\e092"; -} -.icon-paper-clip:before { - content: "\e093"; -} -.icon-paper-plane:before { - content: "\e094"; -} -.icon-power:before { - content: "\e097"; -} -.icon-refresh:before { - content: "\e098"; -} -.icon-reload:before { - content: "\e099"; -} -.icon-settings:before { - content: "\e09a"; -} -.icon-star:before { - content: "\e09b"; -} -.icon-symbol-female:before { - content: "\e09c"; -} -.icon-symbol-male:before { - content: "\e09d"; -} -.icon-target:before { - content: "\e09e"; -} -.icon-credit-card:before { - content: "\e025"; -} -.icon-paypal:before { - content: "\e608"; -} -.icon-social-tumblr:before { - content: "\e00a"; -} -.icon-social-twitter:before { - content: "\e009"; -} -.icon-social-facebook:before { - content: "\e00b"; -} -.icon-social-instagram:before { - content: "\e609"; -} -.icon-social-linkedin:before { - content: "\e60a"; -} -.icon-social-pinterest:before { - content: "\e60b"; -} -.icon-social-github:before { - content: "\e60c"; -} -.icon-social-google:before { - content: "\e60d"; -} -.icon-social-reddit:before { - content: "\e60e"; -} -.icon-social-skype:before { - content: "\e60f"; -} -.icon-social-dribbble:before { - content: "\e00d"; -} -.icon-social-behance:before { - content: "\e610"; -} -.icon-social-foursqare:before { - content: "\e611"; -} -.icon-social-soundcloud:before { - content: "\e612"; -} -.icon-social-spotify:before { - content: "\e613"; -} -.icon-social-stumbleupon:before { - content: "\e614"; -} -.icon-social-youtube:before { - content: "\e008"; -} -.icon-social-dropbox:before { - content: "\e00c"; -} diff --git a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/simple-line-icons/fonts/Simple-Line-Icons06c8.eot b/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/simple-line-icons/fonts/Simple-Line-Icons06c8.eot deleted file mode 100755 index 886e555f..00000000 Binary files a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/simple-line-icons/fonts/Simple-Line-Icons06c8.eot and /dev/null differ diff --git a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/simple-line-icons/fonts/Simple-Line-Icons06c8.html b/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/simple-line-icons/fonts/Simple-Line-Icons06c8.html deleted file mode 100755 index 92ff5bfb..00000000 Binary files a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/simple-line-icons/fonts/Simple-Line-Icons06c8.html and /dev/null differ diff --git a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/simple-line-icons/fonts/Simple-Line-Icons06c8.svg b/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/simple-line-icons/fonts/Simple-Line-Icons06c8.svg deleted file mode 100755 index d819823c..00000000 --- a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/simple-line-icons/fonts/Simple-Line-Icons06c8.svg +++ /dev/null @@ -1,197 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/simple-line-icons/fonts/Simple-Line-Icons06c8.ttf b/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/simple-line-icons/fonts/Simple-Line-Icons06c8.ttf deleted file mode 100755 index 92c70e2f..00000000 Binary files a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/simple-line-icons/fonts/Simple-Line-Icons06c8.ttf and /dev/null differ diff --git a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/simple-line-icons/fonts/Simple-Line-Icons06c8.woff b/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/simple-line-icons/fonts/Simple-Line-Icons06c8.woff deleted file mode 100755 index a314fdfd..00000000 Binary files a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/simple-line-icons/fonts/Simple-Line-Icons06c8.woff and /dev/null differ diff --git a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/weather-icons/css/weather-icons-wind.css b/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/weather-icons/css/weather-icons-wind.css deleted file mode 100755 index 56c00d7a..00000000 --- a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/weather-icons/css/weather-icons-wind.css +++ /dev/null @@ -1,5331 +0,0 @@ -@font-face { - font-family: 'weathericons'; - src: url('../font/weathericons-regular-webfont.eot'); - src: url('../font/weathericons-regular-webfont.eot?#iefix') format('embedded-opentype'), url('../font/weathericons-regular-webfont.woff2') format('woff2'), url('../font/weathericons-regular-webfont.woff') format('woff'), url('../font/weathericons-regular-webfont.ttf') format('truetype'), url('../font/weathericons-regular-webfont.svg#weather_iconsregular') format('svg'); - font-weight: normal; - font-style: normal; -} -.wi { - display: inline-block; - font-family: 'weathericons'; - font-style: normal; - font-weight: normal; - line-height: 1; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} -.wi-fw { - text-align: center; - width: 1.4em; -} -.wi-rotate-90 { - filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=1); - -webkit-transform: rotate(90deg); - -ms-transform: rotate(90deg); - transform: rotate(90deg); -} -.wi-rotate-180 { - filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2); - -webkit-transform: rotate(180deg); - -ms-transform: rotate(180deg); - transform: rotate(180deg); -} -.wi-rotate-270 { - filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=3); - -webkit-transform: rotate(270deg); - -ms-transform: rotate(270deg); - transform: rotate(270deg); -} -.wi-flip-horizontal { - filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1); - -webkit-transform: scale(-1, 1); - -ms-transform: scale(-1, 1); - transform: scale(-1, 1); -} -.wi-flip-vertical { - filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1); - -webkit-transform: scale(1, -1); - -ms-transform: scale(1, -1); - transform: scale(1, -1); -} -.wi-wind:before { - content: "\f0b1"; -} -.wi-wind.towards-0-deg { - -webkit-transform: rotate(0deg); - -moz-transform: rotate(0deg); - -ms-transform: rotate(0deg); - -o-transform: rotate(0deg); - transform: rotate(0deg); -} -.wi-wind.towards-1-deg { - -webkit-transform: rotate(1deg); - -moz-transform: rotate(1deg); - -ms-transform: rotate(1deg); - -o-transform: rotate(1deg); - transform: rotate(1deg); -} -.wi-wind.towards-2-deg { - -webkit-transform: rotate(2deg); - -moz-transform: rotate(2deg); - -ms-transform: rotate(2deg); - -o-transform: rotate(2deg); - transform: rotate(2deg); -} -.wi-wind.towards-3-deg { - -webkit-transform: rotate(3deg); - -moz-transform: rotate(3deg); - -ms-transform: rotate(3deg); - -o-transform: rotate(3deg); - transform: rotate(3deg); -} -.wi-wind.towards-4-deg { - -webkit-transform: rotate(4deg); - -moz-transform: rotate(4deg); - -ms-transform: rotate(4deg); - -o-transform: rotate(4deg); - transform: rotate(4deg); -} -.wi-wind.towards-5-deg { - -webkit-transform: rotate(5deg); - -moz-transform: rotate(5deg); - -ms-transform: rotate(5deg); - -o-transform: rotate(5deg); - transform: rotate(5deg); -} -.wi-wind.towards-6-deg { - -webkit-transform: rotate(6deg); - -moz-transform: rotate(6deg); - -ms-transform: rotate(6deg); - -o-transform: rotate(6deg); - transform: rotate(6deg); -} -.wi-wind.towards-7-deg { - -webkit-transform: rotate(7deg); - -moz-transform: rotate(7deg); - -ms-transform: rotate(7deg); - -o-transform: rotate(7deg); - transform: rotate(7deg); -} -.wi-wind.towards-8-deg { - -webkit-transform: rotate(8deg); - -moz-transform: rotate(8deg); - -ms-transform: rotate(8deg); - -o-transform: rotate(8deg); - transform: rotate(8deg); -} -.wi-wind.towards-9-deg { - -webkit-transform: rotate(9deg); - -moz-transform: rotate(9deg); - -ms-transform: rotate(9deg); - -o-transform: rotate(9deg); - transform: rotate(9deg); -} -.wi-wind.towards-10-deg { - -webkit-transform: rotate(10deg); - -moz-transform: rotate(10deg); - -ms-transform: rotate(10deg); - -o-transform: rotate(10deg); - transform: rotate(10deg); -} -.wi-wind.towards-11-deg { - -webkit-transform: rotate(11deg); - -moz-transform: rotate(11deg); - -ms-transform: rotate(11deg); - -o-transform: rotate(11deg); - transform: rotate(11deg); -} -.wi-wind.towards-12-deg { - -webkit-transform: rotate(12deg); - -moz-transform: rotate(12deg); - -ms-transform: rotate(12deg); - -o-transform: rotate(12deg); - transform: rotate(12deg); -} -.wi-wind.towards-13-deg { - -webkit-transform: rotate(13deg); - -moz-transform: rotate(13deg); - -ms-transform: rotate(13deg); - -o-transform: rotate(13deg); - transform: rotate(13deg); -} -.wi-wind.towards-14-deg { - -webkit-transform: rotate(14deg); - -moz-transform: rotate(14deg); - -ms-transform: rotate(14deg); - -o-transform: rotate(14deg); - transform: rotate(14deg); -} -.wi-wind.towards-15-deg { - -webkit-transform: rotate(15deg); - -moz-transform: rotate(15deg); - -ms-transform: rotate(15deg); - -o-transform: rotate(15deg); - transform: rotate(15deg); -} -.wi-wind.towards-16-deg { - -webkit-transform: rotate(16deg); - -moz-transform: rotate(16deg); - -ms-transform: rotate(16deg); - -o-transform: rotate(16deg); - transform: rotate(16deg); -} -.wi-wind.towards-17-deg { - -webkit-transform: rotate(17deg); - -moz-transform: rotate(17deg); - -ms-transform: rotate(17deg); - -o-transform: rotate(17deg); - transform: rotate(17deg); -} -.wi-wind.towards-18-deg { - -webkit-transform: rotate(18deg); - -moz-transform: rotate(18deg); - -ms-transform: rotate(18deg); - -o-transform: rotate(18deg); - transform: rotate(18deg); -} -.wi-wind.towards-19-deg { - -webkit-transform: rotate(19deg); - -moz-transform: rotate(19deg); - -ms-transform: rotate(19deg); - -o-transform: rotate(19deg); - transform: rotate(19deg); -} -.wi-wind.towards-20-deg { - -webkit-transform: rotate(20deg); - -moz-transform: rotate(20deg); - -ms-transform: rotate(20deg); - -o-transform: rotate(20deg); - transform: rotate(20deg); -} -.wi-wind.towards-21-deg { - -webkit-transform: rotate(21deg); - -moz-transform: rotate(21deg); - -ms-transform: rotate(21deg); - -o-transform: rotate(21deg); - transform: rotate(21deg); -} -.wi-wind.towards-22-deg { - -webkit-transform: rotate(22deg); - -moz-transform: rotate(22deg); - -ms-transform: rotate(22deg); - -o-transform: rotate(22deg); - transform: rotate(22deg); -} -.wi-wind.towards-23-deg { - -webkit-transform: rotate(23deg); - -moz-transform: rotate(23deg); - -ms-transform: rotate(23deg); - -o-transform: rotate(23deg); - transform: rotate(23deg); -} -.wi-wind.towards-24-deg { - -webkit-transform: rotate(24deg); - -moz-transform: rotate(24deg); - -ms-transform: rotate(24deg); - -o-transform: rotate(24deg); - transform: rotate(24deg); -} -.wi-wind.towards-25-deg { - -webkit-transform: rotate(25deg); - -moz-transform: rotate(25deg); - -ms-transform: rotate(25deg); - -o-transform: rotate(25deg); - transform: rotate(25deg); -} -.wi-wind.towards-26-deg { - -webkit-transform: rotate(26deg); - -moz-transform: rotate(26deg); - -ms-transform: rotate(26deg); - -o-transform: rotate(26deg); - transform: rotate(26deg); -} -.wi-wind.towards-27-deg { - -webkit-transform: rotate(27deg); - -moz-transform: rotate(27deg); - -ms-transform: rotate(27deg); - -o-transform: rotate(27deg); - transform: rotate(27deg); -} -.wi-wind.towards-28-deg { - -webkit-transform: rotate(28deg); - -moz-transform: rotate(28deg); - -ms-transform: rotate(28deg); - -o-transform: rotate(28deg); - transform: rotate(28deg); -} -.wi-wind.towards-29-deg { - -webkit-transform: rotate(29deg); - -moz-transform: rotate(29deg); - -ms-transform: rotate(29deg); - -o-transform: rotate(29deg); - transform: rotate(29deg); -} -.wi-wind.towards-30-deg { - -webkit-transform: rotate(30deg); - -moz-transform: rotate(30deg); - -ms-transform: rotate(30deg); - -o-transform: rotate(30deg); - transform: rotate(30deg); -} -.wi-wind.towards-31-deg { - -webkit-transform: rotate(31deg); - -moz-transform: rotate(31deg); - -ms-transform: rotate(31deg); - -o-transform: rotate(31deg); - transform: rotate(31deg); -} -.wi-wind.towards-32-deg { - -webkit-transform: rotate(32deg); - -moz-transform: rotate(32deg); - -ms-transform: rotate(32deg); - -o-transform: rotate(32deg); - transform: rotate(32deg); -} -.wi-wind.towards-33-deg { - -webkit-transform: rotate(33deg); - -moz-transform: rotate(33deg); - -ms-transform: rotate(33deg); - -o-transform: rotate(33deg); - transform: rotate(33deg); -} -.wi-wind.towards-34-deg { - -webkit-transform: rotate(34deg); - -moz-transform: rotate(34deg); - -ms-transform: rotate(34deg); - -o-transform: rotate(34deg); - transform: rotate(34deg); -} -.wi-wind.towards-35-deg { - -webkit-transform: rotate(35deg); - -moz-transform: rotate(35deg); - -ms-transform: rotate(35deg); - -o-transform: rotate(35deg); - transform: rotate(35deg); -} -.wi-wind.towards-36-deg { - -webkit-transform: rotate(36deg); - -moz-transform: rotate(36deg); - -ms-transform: rotate(36deg); - -o-transform: rotate(36deg); - transform: rotate(36deg); -} -.wi-wind.towards-37-deg { - -webkit-transform: rotate(37deg); - -moz-transform: rotate(37deg); - -ms-transform: rotate(37deg); - -o-transform: rotate(37deg); - transform: rotate(37deg); -} -.wi-wind.towards-38-deg { - -webkit-transform: rotate(38deg); - -moz-transform: rotate(38deg); - -ms-transform: rotate(38deg); - -o-transform: rotate(38deg); - transform: rotate(38deg); -} -.wi-wind.towards-39-deg { - -webkit-transform: rotate(39deg); - -moz-transform: rotate(39deg); - -ms-transform: rotate(39deg); - -o-transform: rotate(39deg); - transform: rotate(39deg); -} -.wi-wind.towards-40-deg { - -webkit-transform: rotate(40deg); - -moz-transform: rotate(40deg); - -ms-transform: rotate(40deg); - -o-transform: rotate(40deg); - transform: rotate(40deg); -} -.wi-wind.towards-41-deg { - -webkit-transform: rotate(41deg); - -moz-transform: rotate(41deg); - -ms-transform: rotate(41deg); - -o-transform: rotate(41deg); - transform: rotate(41deg); -} -.wi-wind.towards-42-deg { - -webkit-transform: rotate(42deg); - -moz-transform: rotate(42deg); - -ms-transform: rotate(42deg); - -o-transform: rotate(42deg); - transform: rotate(42deg); -} -.wi-wind.towards-43-deg { - -webkit-transform: rotate(43deg); - -moz-transform: rotate(43deg); - -ms-transform: rotate(43deg); - -o-transform: rotate(43deg); - transform: rotate(43deg); -} -.wi-wind.towards-44-deg { - -webkit-transform: rotate(44deg); - -moz-transform: rotate(44deg); - -ms-transform: rotate(44deg); - -o-transform: rotate(44deg); - transform: rotate(44deg); -} -.wi-wind.towards-45-deg { - -webkit-transform: rotate(45deg); - -moz-transform: rotate(45deg); - -ms-transform: rotate(45deg); - -o-transform: rotate(45deg); - transform: rotate(45deg); -} -.wi-wind.towards-46-deg { - -webkit-transform: rotate(46deg); - -moz-transform: rotate(46deg); - -ms-transform: rotate(46deg); - -o-transform: rotate(46deg); - transform: rotate(46deg); -} -.wi-wind.towards-47-deg { - -webkit-transform: rotate(47deg); - -moz-transform: rotate(47deg); - -ms-transform: rotate(47deg); - -o-transform: rotate(47deg); - transform: rotate(47deg); -} -.wi-wind.towards-48-deg { - -webkit-transform: rotate(48deg); - -moz-transform: rotate(48deg); - -ms-transform: rotate(48deg); - -o-transform: rotate(48deg); - transform: rotate(48deg); -} -.wi-wind.towards-49-deg { - -webkit-transform: rotate(49deg); - -moz-transform: rotate(49deg); - -ms-transform: rotate(49deg); - -o-transform: rotate(49deg); - transform: rotate(49deg); -} -.wi-wind.towards-50-deg { - -webkit-transform: rotate(50deg); - -moz-transform: rotate(50deg); - -ms-transform: rotate(50deg); - -o-transform: rotate(50deg); - transform: rotate(50deg); -} -.wi-wind.towards-51-deg { - -webkit-transform: rotate(51deg); - -moz-transform: rotate(51deg); - -ms-transform: rotate(51deg); - -o-transform: rotate(51deg); - transform: rotate(51deg); -} -.wi-wind.towards-52-deg { - -webkit-transform: rotate(52deg); - -moz-transform: rotate(52deg); - -ms-transform: rotate(52deg); - -o-transform: rotate(52deg); - transform: rotate(52deg); -} -.wi-wind.towards-53-deg { - -webkit-transform: rotate(53deg); - -moz-transform: rotate(53deg); - -ms-transform: rotate(53deg); - -o-transform: rotate(53deg); - transform: rotate(53deg); -} -.wi-wind.towards-54-deg { - -webkit-transform: rotate(54deg); - -moz-transform: rotate(54deg); - -ms-transform: rotate(54deg); - -o-transform: rotate(54deg); - transform: rotate(54deg); -} -.wi-wind.towards-55-deg { - -webkit-transform: rotate(55deg); - -moz-transform: rotate(55deg); - -ms-transform: rotate(55deg); - -o-transform: rotate(55deg); - transform: rotate(55deg); -} -.wi-wind.towards-56-deg { - -webkit-transform: rotate(56deg); - -moz-transform: rotate(56deg); - -ms-transform: rotate(56deg); - -o-transform: rotate(56deg); - transform: rotate(56deg); -} -.wi-wind.towards-57-deg { - -webkit-transform: rotate(57deg); - -moz-transform: rotate(57deg); - -ms-transform: rotate(57deg); - -o-transform: rotate(57deg); - transform: rotate(57deg); -} -.wi-wind.towards-58-deg { - -webkit-transform: rotate(58deg); - -moz-transform: rotate(58deg); - -ms-transform: rotate(58deg); - -o-transform: rotate(58deg); - transform: rotate(58deg); -} -.wi-wind.towards-59-deg { - -webkit-transform: rotate(59deg); - -moz-transform: rotate(59deg); - -ms-transform: rotate(59deg); - -o-transform: rotate(59deg); - transform: rotate(59deg); -} -.wi-wind.towards-60-deg { - -webkit-transform: rotate(60deg); - -moz-transform: rotate(60deg); - -ms-transform: rotate(60deg); - -o-transform: rotate(60deg); - transform: rotate(60deg); -} -.wi-wind.towards-61-deg { - -webkit-transform: rotate(61deg); - -moz-transform: rotate(61deg); - -ms-transform: rotate(61deg); - -o-transform: rotate(61deg); - transform: rotate(61deg); -} -.wi-wind.towards-62-deg { - -webkit-transform: rotate(62deg); - -moz-transform: rotate(62deg); - -ms-transform: rotate(62deg); - -o-transform: rotate(62deg); - transform: rotate(62deg); -} -.wi-wind.towards-63-deg { - -webkit-transform: rotate(63deg); - -moz-transform: rotate(63deg); - -ms-transform: rotate(63deg); - -o-transform: rotate(63deg); - transform: rotate(63deg); -} -.wi-wind.towards-64-deg { - -webkit-transform: rotate(64deg); - -moz-transform: rotate(64deg); - -ms-transform: rotate(64deg); - -o-transform: rotate(64deg); - transform: rotate(64deg); -} -.wi-wind.towards-65-deg { - -webkit-transform: rotate(65deg); - -moz-transform: rotate(65deg); - -ms-transform: rotate(65deg); - -o-transform: rotate(65deg); - transform: rotate(65deg); -} -.wi-wind.towards-66-deg { - -webkit-transform: rotate(66deg); - -moz-transform: rotate(66deg); - -ms-transform: rotate(66deg); - -o-transform: rotate(66deg); - transform: rotate(66deg); -} -.wi-wind.towards-67-deg { - -webkit-transform: rotate(67deg); - -moz-transform: rotate(67deg); - -ms-transform: rotate(67deg); - -o-transform: rotate(67deg); - transform: rotate(67deg); -} -.wi-wind.towards-68-deg { - -webkit-transform: rotate(68deg); - -moz-transform: rotate(68deg); - -ms-transform: rotate(68deg); - -o-transform: rotate(68deg); - transform: rotate(68deg); -} -.wi-wind.towards-69-deg { - -webkit-transform: rotate(69deg); - -moz-transform: rotate(69deg); - -ms-transform: rotate(69deg); - -o-transform: rotate(69deg); - transform: rotate(69deg); -} -.wi-wind.towards-70-deg { - -webkit-transform: rotate(70deg); - -moz-transform: rotate(70deg); - -ms-transform: rotate(70deg); - -o-transform: rotate(70deg); - transform: rotate(70deg); -} -.wi-wind.towards-71-deg { - -webkit-transform: rotate(71deg); - -moz-transform: rotate(71deg); - -ms-transform: rotate(71deg); - -o-transform: rotate(71deg); - transform: rotate(71deg); -} -.wi-wind.towards-72-deg { - -webkit-transform: rotate(72deg); - -moz-transform: rotate(72deg); - -ms-transform: rotate(72deg); - -o-transform: rotate(72deg); - transform: rotate(72deg); -} -.wi-wind.towards-73-deg { - -webkit-transform: rotate(73deg); - -moz-transform: rotate(73deg); - -ms-transform: rotate(73deg); - -o-transform: rotate(73deg); - transform: rotate(73deg); -} -.wi-wind.towards-74-deg { - -webkit-transform: rotate(74deg); - -moz-transform: rotate(74deg); - -ms-transform: rotate(74deg); - -o-transform: rotate(74deg); - transform: rotate(74deg); -} -.wi-wind.towards-75-deg { - -webkit-transform: rotate(75deg); - -moz-transform: rotate(75deg); - -ms-transform: rotate(75deg); - -o-transform: rotate(75deg); - transform: rotate(75deg); -} -.wi-wind.towards-76-deg { - -webkit-transform: rotate(76deg); - -moz-transform: rotate(76deg); - -ms-transform: rotate(76deg); - -o-transform: rotate(76deg); - transform: rotate(76deg); -} -.wi-wind.towards-77-deg { - -webkit-transform: rotate(77deg); - -moz-transform: rotate(77deg); - -ms-transform: rotate(77deg); - -o-transform: rotate(77deg); - transform: rotate(77deg); -} -.wi-wind.towards-78-deg { - -webkit-transform: rotate(78deg); - -moz-transform: rotate(78deg); - -ms-transform: rotate(78deg); - -o-transform: rotate(78deg); - transform: rotate(78deg); -} -.wi-wind.towards-79-deg { - -webkit-transform: rotate(79deg); - -moz-transform: rotate(79deg); - -ms-transform: rotate(79deg); - -o-transform: rotate(79deg); - transform: rotate(79deg); -} -.wi-wind.towards-80-deg { - -webkit-transform: rotate(80deg); - -moz-transform: rotate(80deg); - -ms-transform: rotate(80deg); - -o-transform: rotate(80deg); - transform: rotate(80deg); -} -.wi-wind.towards-81-deg { - -webkit-transform: rotate(81deg); - -moz-transform: rotate(81deg); - -ms-transform: rotate(81deg); - -o-transform: rotate(81deg); - transform: rotate(81deg); -} -.wi-wind.towards-82-deg { - -webkit-transform: rotate(82deg); - -moz-transform: rotate(82deg); - -ms-transform: rotate(82deg); - -o-transform: rotate(82deg); - transform: rotate(82deg); -} -.wi-wind.towards-83-deg { - -webkit-transform: rotate(83deg); - -moz-transform: rotate(83deg); - -ms-transform: rotate(83deg); - -o-transform: rotate(83deg); - transform: rotate(83deg); -} -.wi-wind.towards-84-deg { - -webkit-transform: rotate(84deg); - -moz-transform: rotate(84deg); - -ms-transform: rotate(84deg); - -o-transform: rotate(84deg); - transform: rotate(84deg); -} -.wi-wind.towards-85-deg { - -webkit-transform: rotate(85deg); - -moz-transform: rotate(85deg); - -ms-transform: rotate(85deg); - -o-transform: rotate(85deg); - transform: rotate(85deg); -} -.wi-wind.towards-86-deg { - -webkit-transform: rotate(86deg); - -moz-transform: rotate(86deg); - -ms-transform: rotate(86deg); - -o-transform: rotate(86deg); - transform: rotate(86deg); -} -.wi-wind.towards-87-deg { - -webkit-transform: rotate(87deg); - -moz-transform: rotate(87deg); - -ms-transform: rotate(87deg); - -o-transform: rotate(87deg); - transform: rotate(87deg); -} -.wi-wind.towards-88-deg { - -webkit-transform: rotate(88deg); - -moz-transform: rotate(88deg); - -ms-transform: rotate(88deg); - -o-transform: rotate(88deg); - transform: rotate(88deg); -} -.wi-wind.towards-89-deg { - -webkit-transform: rotate(89deg); - -moz-transform: rotate(89deg); - -ms-transform: rotate(89deg); - -o-transform: rotate(89deg); - transform: rotate(89deg); -} -.wi-wind.towards-90-deg { - -webkit-transform: rotate(90deg); - -moz-transform: rotate(90deg); - -ms-transform: rotate(90deg); - -o-transform: rotate(90deg); - transform: rotate(90deg); -} -.wi-wind.towards-91-deg { - -webkit-transform: rotate(91deg); - -moz-transform: rotate(91deg); - -ms-transform: rotate(91deg); - -o-transform: rotate(91deg); - transform: rotate(91deg); -} -.wi-wind.towards-92-deg { - -webkit-transform: rotate(92deg); - -moz-transform: rotate(92deg); - -ms-transform: rotate(92deg); - -o-transform: rotate(92deg); - transform: rotate(92deg); -} -.wi-wind.towards-93-deg { - -webkit-transform: rotate(93deg); - -moz-transform: rotate(93deg); - -ms-transform: rotate(93deg); - -o-transform: rotate(93deg); - transform: rotate(93deg); -} -.wi-wind.towards-94-deg { - -webkit-transform: rotate(94deg); - -moz-transform: rotate(94deg); - -ms-transform: rotate(94deg); - -o-transform: rotate(94deg); - transform: rotate(94deg); -} -.wi-wind.towards-95-deg { - -webkit-transform: rotate(95deg); - -moz-transform: rotate(95deg); - -ms-transform: rotate(95deg); - -o-transform: rotate(95deg); - transform: rotate(95deg); -} -.wi-wind.towards-96-deg { - -webkit-transform: rotate(96deg); - -moz-transform: rotate(96deg); - -ms-transform: rotate(96deg); - -o-transform: rotate(96deg); - transform: rotate(96deg); -} -.wi-wind.towards-97-deg { - -webkit-transform: rotate(97deg); - -moz-transform: rotate(97deg); - -ms-transform: rotate(97deg); - -o-transform: rotate(97deg); - transform: rotate(97deg); -} -.wi-wind.towards-98-deg { - -webkit-transform: rotate(98deg); - -moz-transform: rotate(98deg); - -ms-transform: rotate(98deg); - -o-transform: rotate(98deg); - transform: rotate(98deg); -} -.wi-wind.towards-99-deg { - -webkit-transform: rotate(99deg); - -moz-transform: rotate(99deg); - -ms-transform: rotate(99deg); - -o-transform: rotate(99deg); - transform: rotate(99deg); -} -.wi-wind.towards-100-deg { - -webkit-transform: rotate(100deg); - -moz-transform: rotate(100deg); - -ms-transform: rotate(100deg); - -o-transform: rotate(100deg); - transform: rotate(100deg); -} -.wi-wind.towards-101-deg { - -webkit-transform: rotate(101deg); - -moz-transform: rotate(101deg); - -ms-transform: rotate(101deg); - -o-transform: rotate(101deg); - transform: rotate(101deg); -} -.wi-wind.towards-102-deg { - -webkit-transform: rotate(102deg); - -moz-transform: rotate(102deg); - -ms-transform: rotate(102deg); - -o-transform: rotate(102deg); - transform: rotate(102deg); -} -.wi-wind.towards-103-deg { - -webkit-transform: rotate(103deg); - -moz-transform: rotate(103deg); - -ms-transform: rotate(103deg); - -o-transform: rotate(103deg); - transform: rotate(103deg); -} -.wi-wind.towards-104-deg { - -webkit-transform: rotate(104deg); - -moz-transform: rotate(104deg); - -ms-transform: rotate(104deg); - -o-transform: rotate(104deg); - transform: rotate(104deg); -} -.wi-wind.towards-105-deg { - -webkit-transform: rotate(105deg); - -moz-transform: rotate(105deg); - -ms-transform: rotate(105deg); - -o-transform: rotate(105deg); - transform: rotate(105deg); -} -.wi-wind.towards-106-deg { - -webkit-transform: rotate(106deg); - -moz-transform: rotate(106deg); - -ms-transform: rotate(106deg); - -o-transform: rotate(106deg); - transform: rotate(106deg); -} -.wi-wind.towards-107-deg { - -webkit-transform: rotate(107deg); - -moz-transform: rotate(107deg); - -ms-transform: rotate(107deg); - -o-transform: rotate(107deg); - transform: rotate(107deg); -} -.wi-wind.towards-108-deg { - -webkit-transform: rotate(108deg); - -moz-transform: rotate(108deg); - -ms-transform: rotate(108deg); - -o-transform: rotate(108deg); - transform: rotate(108deg); -} -.wi-wind.towards-109-deg { - -webkit-transform: rotate(109deg); - -moz-transform: rotate(109deg); - -ms-transform: rotate(109deg); - -o-transform: rotate(109deg); - transform: rotate(109deg); -} -.wi-wind.towards-110-deg { - -webkit-transform: rotate(110deg); - -moz-transform: rotate(110deg); - -ms-transform: rotate(110deg); - -o-transform: rotate(110deg); - transform: rotate(110deg); -} -.wi-wind.towards-111-deg { - -webkit-transform: rotate(111deg); - -moz-transform: rotate(111deg); - -ms-transform: rotate(111deg); - -o-transform: rotate(111deg); - transform: rotate(111deg); -} -.wi-wind.towards-112-deg { - -webkit-transform: rotate(112deg); - -moz-transform: rotate(112deg); - -ms-transform: rotate(112deg); - -o-transform: rotate(112deg); - transform: rotate(112deg); -} -.wi-wind.towards-113-deg { - -webkit-transform: rotate(113deg); - -moz-transform: rotate(113deg); - -ms-transform: rotate(113deg); - -o-transform: rotate(113deg); - transform: rotate(113deg); -} -.wi-wind.towards-114-deg { - -webkit-transform: rotate(114deg); - -moz-transform: rotate(114deg); - -ms-transform: rotate(114deg); - -o-transform: rotate(114deg); - transform: rotate(114deg); -} -.wi-wind.towards-115-deg { - -webkit-transform: rotate(115deg); - -moz-transform: rotate(115deg); - -ms-transform: rotate(115deg); - -o-transform: rotate(115deg); - transform: rotate(115deg); -} -.wi-wind.towards-116-deg { - -webkit-transform: rotate(116deg); - -moz-transform: rotate(116deg); - -ms-transform: rotate(116deg); - -o-transform: rotate(116deg); - transform: rotate(116deg); -} -.wi-wind.towards-117-deg { - -webkit-transform: rotate(117deg); - -moz-transform: rotate(117deg); - -ms-transform: rotate(117deg); - -o-transform: rotate(117deg); - transform: rotate(117deg); -} -.wi-wind.towards-118-deg { - -webkit-transform: rotate(118deg); - -moz-transform: rotate(118deg); - -ms-transform: rotate(118deg); - -o-transform: rotate(118deg); - transform: rotate(118deg); -} -.wi-wind.towards-119-deg { - -webkit-transform: rotate(119deg); - -moz-transform: rotate(119deg); - -ms-transform: rotate(119deg); - -o-transform: rotate(119deg); - transform: rotate(119deg); -} -.wi-wind.towards-120-deg { - -webkit-transform: rotate(120deg); - -moz-transform: rotate(120deg); - -ms-transform: rotate(120deg); - -o-transform: rotate(120deg); - transform: rotate(120deg); -} -.wi-wind.towards-121-deg { - -webkit-transform: rotate(121deg); - -moz-transform: rotate(121deg); - -ms-transform: rotate(121deg); - -o-transform: rotate(121deg); - transform: rotate(121deg); -} -.wi-wind.towards-122-deg { - -webkit-transform: rotate(122deg); - -moz-transform: rotate(122deg); - -ms-transform: rotate(122deg); - -o-transform: rotate(122deg); - transform: rotate(122deg); -} -.wi-wind.towards-123-deg { - -webkit-transform: rotate(123deg); - -moz-transform: rotate(123deg); - -ms-transform: rotate(123deg); - -o-transform: rotate(123deg); - transform: rotate(123deg); -} -.wi-wind.towards-124-deg { - -webkit-transform: rotate(124deg); - -moz-transform: rotate(124deg); - -ms-transform: rotate(124deg); - -o-transform: rotate(124deg); - transform: rotate(124deg); -} -.wi-wind.towards-125-deg { - -webkit-transform: rotate(125deg); - -moz-transform: rotate(125deg); - -ms-transform: rotate(125deg); - -o-transform: rotate(125deg); - transform: rotate(125deg); -} -.wi-wind.towards-126-deg { - -webkit-transform: rotate(126deg); - -moz-transform: rotate(126deg); - -ms-transform: rotate(126deg); - -o-transform: rotate(126deg); - transform: rotate(126deg); -} -.wi-wind.towards-127-deg { - -webkit-transform: rotate(127deg); - -moz-transform: rotate(127deg); - -ms-transform: rotate(127deg); - -o-transform: rotate(127deg); - transform: rotate(127deg); -} -.wi-wind.towards-128-deg { - -webkit-transform: rotate(128deg); - -moz-transform: rotate(128deg); - -ms-transform: rotate(128deg); - -o-transform: rotate(128deg); - transform: rotate(128deg); -} -.wi-wind.towards-129-deg { - -webkit-transform: rotate(129deg); - -moz-transform: rotate(129deg); - -ms-transform: rotate(129deg); - -o-transform: rotate(129deg); - transform: rotate(129deg); -} -.wi-wind.towards-130-deg { - -webkit-transform: rotate(130deg); - -moz-transform: rotate(130deg); - -ms-transform: rotate(130deg); - -o-transform: rotate(130deg); - transform: rotate(130deg); -} -.wi-wind.towards-131-deg { - -webkit-transform: rotate(131deg); - -moz-transform: rotate(131deg); - -ms-transform: rotate(131deg); - -o-transform: rotate(131deg); - transform: rotate(131deg); -} -.wi-wind.towards-132-deg { - -webkit-transform: rotate(132deg); - -moz-transform: rotate(132deg); - -ms-transform: rotate(132deg); - -o-transform: rotate(132deg); - transform: rotate(132deg); -} -.wi-wind.towards-133-deg { - -webkit-transform: rotate(133deg); - -moz-transform: rotate(133deg); - -ms-transform: rotate(133deg); - -o-transform: rotate(133deg); - transform: rotate(133deg); -} -.wi-wind.towards-134-deg { - -webkit-transform: rotate(134deg); - -moz-transform: rotate(134deg); - -ms-transform: rotate(134deg); - -o-transform: rotate(134deg); - transform: rotate(134deg); -} -.wi-wind.towards-135-deg { - -webkit-transform: rotate(135deg); - -moz-transform: rotate(135deg); - -ms-transform: rotate(135deg); - -o-transform: rotate(135deg); - transform: rotate(135deg); -} -.wi-wind.towards-136-deg { - -webkit-transform: rotate(136deg); - -moz-transform: rotate(136deg); - -ms-transform: rotate(136deg); - -o-transform: rotate(136deg); - transform: rotate(136deg); -} -.wi-wind.towards-137-deg { - -webkit-transform: rotate(137deg); - -moz-transform: rotate(137deg); - -ms-transform: rotate(137deg); - -o-transform: rotate(137deg); - transform: rotate(137deg); -} -.wi-wind.towards-138-deg { - -webkit-transform: rotate(138deg); - -moz-transform: rotate(138deg); - -ms-transform: rotate(138deg); - -o-transform: rotate(138deg); - transform: rotate(138deg); -} -.wi-wind.towards-139-deg { - -webkit-transform: rotate(139deg); - -moz-transform: rotate(139deg); - -ms-transform: rotate(139deg); - -o-transform: rotate(139deg); - transform: rotate(139deg); -} -.wi-wind.towards-140-deg { - -webkit-transform: rotate(140deg); - -moz-transform: rotate(140deg); - -ms-transform: rotate(140deg); - -o-transform: rotate(140deg); - transform: rotate(140deg); -} -.wi-wind.towards-141-deg { - -webkit-transform: rotate(141deg); - -moz-transform: rotate(141deg); - -ms-transform: rotate(141deg); - -o-transform: rotate(141deg); - transform: rotate(141deg); -} -.wi-wind.towards-142-deg { - -webkit-transform: rotate(142deg); - -moz-transform: rotate(142deg); - -ms-transform: rotate(142deg); - -o-transform: rotate(142deg); - transform: rotate(142deg); -} -.wi-wind.towards-143-deg { - -webkit-transform: rotate(143deg); - -moz-transform: rotate(143deg); - -ms-transform: rotate(143deg); - -o-transform: rotate(143deg); - transform: rotate(143deg); -} -.wi-wind.towards-144-deg { - -webkit-transform: rotate(144deg); - -moz-transform: rotate(144deg); - -ms-transform: rotate(144deg); - -o-transform: rotate(144deg); - transform: rotate(144deg); -} -.wi-wind.towards-145-deg { - -webkit-transform: rotate(145deg); - -moz-transform: rotate(145deg); - -ms-transform: rotate(145deg); - -o-transform: rotate(145deg); - transform: rotate(145deg); -} -.wi-wind.towards-146-deg { - -webkit-transform: rotate(146deg); - -moz-transform: rotate(146deg); - -ms-transform: rotate(146deg); - -o-transform: rotate(146deg); - transform: rotate(146deg); -} -.wi-wind.towards-147-deg { - -webkit-transform: rotate(147deg); - -moz-transform: rotate(147deg); - -ms-transform: rotate(147deg); - -o-transform: rotate(147deg); - transform: rotate(147deg); -} -.wi-wind.towards-148-deg { - -webkit-transform: rotate(148deg); - -moz-transform: rotate(148deg); - -ms-transform: rotate(148deg); - -o-transform: rotate(148deg); - transform: rotate(148deg); -} -.wi-wind.towards-149-deg { - -webkit-transform: rotate(149deg); - -moz-transform: rotate(149deg); - -ms-transform: rotate(149deg); - -o-transform: rotate(149deg); - transform: rotate(149deg); -} -.wi-wind.towards-150-deg { - -webkit-transform: rotate(150deg); - -moz-transform: rotate(150deg); - -ms-transform: rotate(150deg); - -o-transform: rotate(150deg); - transform: rotate(150deg); -} -.wi-wind.towards-151-deg { - -webkit-transform: rotate(151deg); - -moz-transform: rotate(151deg); - -ms-transform: rotate(151deg); - -o-transform: rotate(151deg); - transform: rotate(151deg); -} -.wi-wind.towards-152-deg { - -webkit-transform: rotate(152deg); - -moz-transform: rotate(152deg); - -ms-transform: rotate(152deg); - -o-transform: rotate(152deg); - transform: rotate(152deg); -} -.wi-wind.towards-153-deg { - -webkit-transform: rotate(153deg); - -moz-transform: rotate(153deg); - -ms-transform: rotate(153deg); - -o-transform: rotate(153deg); - transform: rotate(153deg); -} -.wi-wind.towards-154-deg { - -webkit-transform: rotate(154deg); - -moz-transform: rotate(154deg); - -ms-transform: rotate(154deg); - -o-transform: rotate(154deg); - transform: rotate(154deg); -} -.wi-wind.towards-155-deg { - -webkit-transform: rotate(155deg); - -moz-transform: rotate(155deg); - -ms-transform: rotate(155deg); - -o-transform: rotate(155deg); - transform: rotate(155deg); -} -.wi-wind.towards-156-deg { - -webkit-transform: rotate(156deg); - -moz-transform: rotate(156deg); - -ms-transform: rotate(156deg); - -o-transform: rotate(156deg); - transform: rotate(156deg); -} -.wi-wind.towards-157-deg { - -webkit-transform: rotate(157deg); - -moz-transform: rotate(157deg); - -ms-transform: rotate(157deg); - -o-transform: rotate(157deg); - transform: rotate(157deg); -} -.wi-wind.towards-158-deg { - -webkit-transform: rotate(158deg); - -moz-transform: rotate(158deg); - -ms-transform: rotate(158deg); - -o-transform: rotate(158deg); - transform: rotate(158deg); -} -.wi-wind.towards-159-deg { - -webkit-transform: rotate(159deg); - -moz-transform: rotate(159deg); - -ms-transform: rotate(159deg); - -o-transform: rotate(159deg); - transform: rotate(159deg); -} -.wi-wind.towards-160-deg { - -webkit-transform: rotate(160deg); - -moz-transform: rotate(160deg); - -ms-transform: rotate(160deg); - -o-transform: rotate(160deg); - transform: rotate(160deg); -} -.wi-wind.towards-161-deg { - -webkit-transform: rotate(161deg); - -moz-transform: rotate(161deg); - -ms-transform: rotate(161deg); - -o-transform: rotate(161deg); - transform: rotate(161deg); -} -.wi-wind.towards-162-deg { - -webkit-transform: rotate(162deg); - -moz-transform: rotate(162deg); - -ms-transform: rotate(162deg); - -o-transform: rotate(162deg); - transform: rotate(162deg); -} -.wi-wind.towards-163-deg { - -webkit-transform: rotate(163deg); - -moz-transform: rotate(163deg); - -ms-transform: rotate(163deg); - -o-transform: rotate(163deg); - transform: rotate(163deg); -} -.wi-wind.towards-164-deg { - -webkit-transform: rotate(164deg); - -moz-transform: rotate(164deg); - -ms-transform: rotate(164deg); - -o-transform: rotate(164deg); - transform: rotate(164deg); -} -.wi-wind.towards-165-deg { - -webkit-transform: rotate(165deg); - -moz-transform: rotate(165deg); - -ms-transform: rotate(165deg); - -o-transform: rotate(165deg); - transform: rotate(165deg); -} -.wi-wind.towards-166-deg { - -webkit-transform: rotate(166deg); - -moz-transform: rotate(166deg); - -ms-transform: rotate(166deg); - -o-transform: rotate(166deg); - transform: rotate(166deg); -} -.wi-wind.towards-167-deg { - -webkit-transform: rotate(167deg); - -moz-transform: rotate(167deg); - -ms-transform: rotate(167deg); - -o-transform: rotate(167deg); - transform: rotate(167deg); -} -.wi-wind.towards-168-deg { - -webkit-transform: rotate(168deg); - -moz-transform: rotate(168deg); - -ms-transform: rotate(168deg); - -o-transform: rotate(168deg); - transform: rotate(168deg); -} -.wi-wind.towards-169-deg { - -webkit-transform: rotate(169deg); - -moz-transform: rotate(169deg); - -ms-transform: rotate(169deg); - -o-transform: rotate(169deg); - transform: rotate(169deg); -} -.wi-wind.towards-170-deg { - -webkit-transform: rotate(170deg); - -moz-transform: rotate(170deg); - -ms-transform: rotate(170deg); - -o-transform: rotate(170deg); - transform: rotate(170deg); -} -.wi-wind.towards-171-deg { - -webkit-transform: rotate(171deg); - -moz-transform: rotate(171deg); - -ms-transform: rotate(171deg); - -o-transform: rotate(171deg); - transform: rotate(171deg); -} -.wi-wind.towards-172-deg { - -webkit-transform: rotate(172deg); - -moz-transform: rotate(172deg); - -ms-transform: rotate(172deg); - -o-transform: rotate(172deg); - transform: rotate(172deg); -} -.wi-wind.towards-173-deg { - -webkit-transform: rotate(173deg); - -moz-transform: rotate(173deg); - -ms-transform: rotate(173deg); - -o-transform: rotate(173deg); - transform: rotate(173deg); -} -.wi-wind.towards-174-deg { - -webkit-transform: rotate(174deg); - -moz-transform: rotate(174deg); - -ms-transform: rotate(174deg); - -o-transform: rotate(174deg); - transform: rotate(174deg); -} -.wi-wind.towards-175-deg { - -webkit-transform: rotate(175deg); - -moz-transform: rotate(175deg); - -ms-transform: rotate(175deg); - -o-transform: rotate(175deg); - transform: rotate(175deg); -} -.wi-wind.towards-176-deg { - -webkit-transform: rotate(176deg); - -moz-transform: rotate(176deg); - -ms-transform: rotate(176deg); - -o-transform: rotate(176deg); - transform: rotate(176deg); -} -.wi-wind.towards-177-deg { - -webkit-transform: rotate(177deg); - -moz-transform: rotate(177deg); - -ms-transform: rotate(177deg); - -o-transform: rotate(177deg); - transform: rotate(177deg); -} -.wi-wind.towards-178-deg { - -webkit-transform: rotate(178deg); - -moz-transform: rotate(178deg); - -ms-transform: rotate(178deg); - -o-transform: rotate(178deg); - transform: rotate(178deg); -} -.wi-wind.towards-179-deg { - -webkit-transform: rotate(179deg); - -moz-transform: rotate(179deg); - -ms-transform: rotate(179deg); - -o-transform: rotate(179deg); - transform: rotate(179deg); -} -.wi-wind.towards-180-deg { - -webkit-transform: rotate(180deg); - -moz-transform: rotate(180deg); - -ms-transform: rotate(180deg); - -o-transform: rotate(180deg); - transform: rotate(180deg); -} -.wi-wind.towards-181-deg { - -webkit-transform: rotate(181deg); - -moz-transform: rotate(181deg); - -ms-transform: rotate(181deg); - -o-transform: rotate(181deg); - transform: rotate(181deg); -} -.wi-wind.towards-182-deg { - -webkit-transform: rotate(182deg); - -moz-transform: rotate(182deg); - -ms-transform: rotate(182deg); - -o-transform: rotate(182deg); - transform: rotate(182deg); -} -.wi-wind.towards-183-deg { - -webkit-transform: rotate(183deg); - -moz-transform: rotate(183deg); - -ms-transform: rotate(183deg); - -o-transform: rotate(183deg); - transform: rotate(183deg); -} -.wi-wind.towards-184-deg { - -webkit-transform: rotate(184deg); - -moz-transform: rotate(184deg); - -ms-transform: rotate(184deg); - -o-transform: rotate(184deg); - transform: rotate(184deg); -} -.wi-wind.towards-185-deg { - -webkit-transform: rotate(185deg); - -moz-transform: rotate(185deg); - -ms-transform: rotate(185deg); - -o-transform: rotate(185deg); - transform: rotate(185deg); -} -.wi-wind.towards-186-deg { - -webkit-transform: rotate(186deg); - -moz-transform: rotate(186deg); - -ms-transform: rotate(186deg); - -o-transform: rotate(186deg); - transform: rotate(186deg); -} -.wi-wind.towards-187-deg { - -webkit-transform: rotate(187deg); - -moz-transform: rotate(187deg); - -ms-transform: rotate(187deg); - -o-transform: rotate(187deg); - transform: rotate(187deg); -} -.wi-wind.towards-188-deg { - -webkit-transform: rotate(188deg); - -moz-transform: rotate(188deg); - -ms-transform: rotate(188deg); - -o-transform: rotate(188deg); - transform: rotate(188deg); -} -.wi-wind.towards-189-deg { - -webkit-transform: rotate(189deg); - -moz-transform: rotate(189deg); - -ms-transform: rotate(189deg); - -o-transform: rotate(189deg); - transform: rotate(189deg); -} -.wi-wind.towards-190-deg { - -webkit-transform: rotate(190deg); - -moz-transform: rotate(190deg); - -ms-transform: rotate(190deg); - -o-transform: rotate(190deg); - transform: rotate(190deg); -} -.wi-wind.towards-191-deg { - -webkit-transform: rotate(191deg); - -moz-transform: rotate(191deg); - -ms-transform: rotate(191deg); - -o-transform: rotate(191deg); - transform: rotate(191deg); -} -.wi-wind.towards-192-deg { - -webkit-transform: rotate(192deg); - -moz-transform: rotate(192deg); - -ms-transform: rotate(192deg); - -o-transform: rotate(192deg); - transform: rotate(192deg); -} -.wi-wind.towards-193-deg { - -webkit-transform: rotate(193deg); - -moz-transform: rotate(193deg); - -ms-transform: rotate(193deg); - -o-transform: rotate(193deg); - transform: rotate(193deg); -} -.wi-wind.towards-194-deg { - -webkit-transform: rotate(194deg); - -moz-transform: rotate(194deg); - -ms-transform: rotate(194deg); - -o-transform: rotate(194deg); - transform: rotate(194deg); -} -.wi-wind.towards-195-deg { - -webkit-transform: rotate(195deg); - -moz-transform: rotate(195deg); - -ms-transform: rotate(195deg); - -o-transform: rotate(195deg); - transform: rotate(195deg); -} -.wi-wind.towards-196-deg { - -webkit-transform: rotate(196deg); - -moz-transform: rotate(196deg); - -ms-transform: rotate(196deg); - -o-transform: rotate(196deg); - transform: rotate(196deg); -} -.wi-wind.towards-197-deg { - -webkit-transform: rotate(197deg); - -moz-transform: rotate(197deg); - -ms-transform: rotate(197deg); - -o-transform: rotate(197deg); - transform: rotate(197deg); -} -.wi-wind.towards-198-deg { - -webkit-transform: rotate(198deg); - -moz-transform: rotate(198deg); - -ms-transform: rotate(198deg); - -o-transform: rotate(198deg); - transform: rotate(198deg); -} -.wi-wind.towards-199-deg { - -webkit-transform: rotate(199deg); - -moz-transform: rotate(199deg); - -ms-transform: rotate(199deg); - -o-transform: rotate(199deg); - transform: rotate(199deg); -} -.wi-wind.towards-200-deg { - -webkit-transform: rotate(200deg); - -moz-transform: rotate(200deg); - -ms-transform: rotate(200deg); - -o-transform: rotate(200deg); - transform: rotate(200deg); -} -.wi-wind.towards-201-deg { - -webkit-transform: rotate(201deg); - -moz-transform: rotate(201deg); - -ms-transform: rotate(201deg); - -o-transform: rotate(201deg); - transform: rotate(201deg); -} -.wi-wind.towards-202-deg { - -webkit-transform: rotate(202deg); - -moz-transform: rotate(202deg); - -ms-transform: rotate(202deg); - -o-transform: rotate(202deg); - transform: rotate(202deg); -} -.wi-wind.towards-203-deg { - -webkit-transform: rotate(203deg); - -moz-transform: rotate(203deg); - -ms-transform: rotate(203deg); - -o-transform: rotate(203deg); - transform: rotate(203deg); -} -.wi-wind.towards-204-deg { - -webkit-transform: rotate(204deg); - -moz-transform: rotate(204deg); - -ms-transform: rotate(204deg); - -o-transform: rotate(204deg); - transform: rotate(204deg); -} -.wi-wind.towards-205-deg { - -webkit-transform: rotate(205deg); - -moz-transform: rotate(205deg); - -ms-transform: rotate(205deg); - -o-transform: rotate(205deg); - transform: rotate(205deg); -} -.wi-wind.towards-206-deg { - -webkit-transform: rotate(206deg); - -moz-transform: rotate(206deg); - -ms-transform: rotate(206deg); - -o-transform: rotate(206deg); - transform: rotate(206deg); -} -.wi-wind.towards-207-deg { - -webkit-transform: rotate(207deg); - -moz-transform: rotate(207deg); - -ms-transform: rotate(207deg); - -o-transform: rotate(207deg); - transform: rotate(207deg); -} -.wi-wind.towards-208-deg { - -webkit-transform: rotate(208deg); - -moz-transform: rotate(208deg); - -ms-transform: rotate(208deg); - -o-transform: rotate(208deg); - transform: rotate(208deg); -} -.wi-wind.towards-209-deg { - -webkit-transform: rotate(209deg); - -moz-transform: rotate(209deg); - -ms-transform: rotate(209deg); - -o-transform: rotate(209deg); - transform: rotate(209deg); -} -.wi-wind.towards-210-deg { - -webkit-transform: rotate(210deg); - -moz-transform: rotate(210deg); - -ms-transform: rotate(210deg); - -o-transform: rotate(210deg); - transform: rotate(210deg); -} -.wi-wind.towards-211-deg { - -webkit-transform: rotate(211deg); - -moz-transform: rotate(211deg); - -ms-transform: rotate(211deg); - -o-transform: rotate(211deg); - transform: rotate(211deg); -} -.wi-wind.towards-212-deg { - -webkit-transform: rotate(212deg); - -moz-transform: rotate(212deg); - -ms-transform: rotate(212deg); - -o-transform: rotate(212deg); - transform: rotate(212deg); -} -.wi-wind.towards-213-deg { - -webkit-transform: rotate(213deg); - -moz-transform: rotate(213deg); - -ms-transform: rotate(213deg); - -o-transform: rotate(213deg); - transform: rotate(213deg); -} -.wi-wind.towards-214-deg { - -webkit-transform: rotate(214deg); - -moz-transform: rotate(214deg); - -ms-transform: rotate(214deg); - -o-transform: rotate(214deg); - transform: rotate(214deg); -} -.wi-wind.towards-215-deg { - -webkit-transform: rotate(215deg); - -moz-transform: rotate(215deg); - -ms-transform: rotate(215deg); - -o-transform: rotate(215deg); - transform: rotate(215deg); -} -.wi-wind.towards-216-deg { - -webkit-transform: rotate(216deg); - -moz-transform: rotate(216deg); - -ms-transform: rotate(216deg); - -o-transform: rotate(216deg); - transform: rotate(216deg); -} -.wi-wind.towards-217-deg { - -webkit-transform: rotate(217deg); - -moz-transform: rotate(217deg); - -ms-transform: rotate(217deg); - -o-transform: rotate(217deg); - transform: rotate(217deg); -} -.wi-wind.towards-218-deg { - -webkit-transform: rotate(218deg); - -moz-transform: rotate(218deg); - -ms-transform: rotate(218deg); - -o-transform: rotate(218deg); - transform: rotate(218deg); -} -.wi-wind.towards-219-deg { - -webkit-transform: rotate(219deg); - -moz-transform: rotate(219deg); - -ms-transform: rotate(219deg); - -o-transform: rotate(219deg); - transform: rotate(219deg); -} -.wi-wind.towards-220-deg { - -webkit-transform: rotate(220deg); - -moz-transform: rotate(220deg); - -ms-transform: rotate(220deg); - -o-transform: rotate(220deg); - transform: rotate(220deg); -} -.wi-wind.towards-221-deg { - -webkit-transform: rotate(221deg); - -moz-transform: rotate(221deg); - -ms-transform: rotate(221deg); - -o-transform: rotate(221deg); - transform: rotate(221deg); -} -.wi-wind.towards-222-deg { - -webkit-transform: rotate(222deg); - -moz-transform: rotate(222deg); - -ms-transform: rotate(222deg); - -o-transform: rotate(222deg); - transform: rotate(222deg); -} -.wi-wind.towards-223-deg { - -webkit-transform: rotate(223deg); - -moz-transform: rotate(223deg); - -ms-transform: rotate(223deg); - -o-transform: rotate(223deg); - transform: rotate(223deg); -} -.wi-wind.towards-224-deg { - -webkit-transform: rotate(224deg); - -moz-transform: rotate(224deg); - -ms-transform: rotate(224deg); - -o-transform: rotate(224deg); - transform: rotate(224deg); -} -.wi-wind.towards-225-deg { - -webkit-transform: rotate(225deg); - -moz-transform: rotate(225deg); - -ms-transform: rotate(225deg); - -o-transform: rotate(225deg); - transform: rotate(225deg); -} -.wi-wind.towards-226-deg { - -webkit-transform: rotate(226deg); - -moz-transform: rotate(226deg); - -ms-transform: rotate(226deg); - -o-transform: rotate(226deg); - transform: rotate(226deg); -} -.wi-wind.towards-227-deg { - -webkit-transform: rotate(227deg); - -moz-transform: rotate(227deg); - -ms-transform: rotate(227deg); - -o-transform: rotate(227deg); - transform: rotate(227deg); -} -.wi-wind.towards-228-deg { - -webkit-transform: rotate(228deg); - -moz-transform: rotate(228deg); - -ms-transform: rotate(228deg); - -o-transform: rotate(228deg); - transform: rotate(228deg); -} -.wi-wind.towards-229-deg { - -webkit-transform: rotate(229deg); - -moz-transform: rotate(229deg); - -ms-transform: rotate(229deg); - -o-transform: rotate(229deg); - transform: rotate(229deg); -} -.wi-wind.towards-230-deg { - -webkit-transform: rotate(230deg); - -moz-transform: rotate(230deg); - -ms-transform: rotate(230deg); - -o-transform: rotate(230deg); - transform: rotate(230deg); -} -.wi-wind.towards-231-deg { - -webkit-transform: rotate(231deg); - -moz-transform: rotate(231deg); - -ms-transform: rotate(231deg); - -o-transform: rotate(231deg); - transform: rotate(231deg); -} -.wi-wind.towards-232-deg { - -webkit-transform: rotate(232deg); - -moz-transform: rotate(232deg); - -ms-transform: rotate(232deg); - -o-transform: rotate(232deg); - transform: rotate(232deg); -} -.wi-wind.towards-233-deg { - -webkit-transform: rotate(233deg); - -moz-transform: rotate(233deg); - -ms-transform: rotate(233deg); - -o-transform: rotate(233deg); - transform: rotate(233deg); -} -.wi-wind.towards-234-deg { - -webkit-transform: rotate(234deg); - -moz-transform: rotate(234deg); - -ms-transform: rotate(234deg); - -o-transform: rotate(234deg); - transform: rotate(234deg); -} -.wi-wind.towards-235-deg { - -webkit-transform: rotate(235deg); - -moz-transform: rotate(235deg); - -ms-transform: rotate(235deg); - -o-transform: rotate(235deg); - transform: rotate(235deg); -} -.wi-wind.towards-236-deg { - -webkit-transform: rotate(236deg); - -moz-transform: rotate(236deg); - -ms-transform: rotate(236deg); - -o-transform: rotate(236deg); - transform: rotate(236deg); -} -.wi-wind.towards-237-deg { - -webkit-transform: rotate(237deg); - -moz-transform: rotate(237deg); - -ms-transform: rotate(237deg); - -o-transform: rotate(237deg); - transform: rotate(237deg); -} -.wi-wind.towards-238-deg { - -webkit-transform: rotate(238deg); - -moz-transform: rotate(238deg); - -ms-transform: rotate(238deg); - -o-transform: rotate(238deg); - transform: rotate(238deg); -} -.wi-wind.towards-239-deg { - -webkit-transform: rotate(239deg); - -moz-transform: rotate(239deg); - -ms-transform: rotate(239deg); - -o-transform: rotate(239deg); - transform: rotate(239deg); -} -.wi-wind.towards-240-deg { - -webkit-transform: rotate(240deg); - -moz-transform: rotate(240deg); - -ms-transform: rotate(240deg); - -o-transform: rotate(240deg); - transform: rotate(240deg); -} -.wi-wind.towards-241-deg { - -webkit-transform: rotate(241deg); - -moz-transform: rotate(241deg); - -ms-transform: rotate(241deg); - -o-transform: rotate(241deg); - transform: rotate(241deg); -} -.wi-wind.towards-242-deg { - -webkit-transform: rotate(242deg); - -moz-transform: rotate(242deg); - -ms-transform: rotate(242deg); - -o-transform: rotate(242deg); - transform: rotate(242deg); -} -.wi-wind.towards-243-deg { - -webkit-transform: rotate(243deg); - -moz-transform: rotate(243deg); - -ms-transform: rotate(243deg); - -o-transform: rotate(243deg); - transform: rotate(243deg); -} -.wi-wind.towards-244-deg { - -webkit-transform: rotate(244deg); - -moz-transform: rotate(244deg); - -ms-transform: rotate(244deg); - -o-transform: rotate(244deg); - transform: rotate(244deg); -} -.wi-wind.towards-245-deg { - -webkit-transform: rotate(245deg); - -moz-transform: rotate(245deg); - -ms-transform: rotate(245deg); - -o-transform: rotate(245deg); - transform: rotate(245deg); -} -.wi-wind.towards-246-deg { - -webkit-transform: rotate(246deg); - -moz-transform: rotate(246deg); - -ms-transform: rotate(246deg); - -o-transform: rotate(246deg); - transform: rotate(246deg); -} -.wi-wind.towards-247-deg { - -webkit-transform: rotate(247deg); - -moz-transform: rotate(247deg); - -ms-transform: rotate(247deg); - -o-transform: rotate(247deg); - transform: rotate(247deg); -} -.wi-wind.towards-248-deg { - -webkit-transform: rotate(248deg); - -moz-transform: rotate(248deg); - -ms-transform: rotate(248deg); - -o-transform: rotate(248deg); - transform: rotate(248deg); -} -.wi-wind.towards-249-deg { - -webkit-transform: rotate(249deg); - -moz-transform: rotate(249deg); - -ms-transform: rotate(249deg); - -o-transform: rotate(249deg); - transform: rotate(249deg); -} -.wi-wind.towards-250-deg { - -webkit-transform: rotate(250deg); - -moz-transform: rotate(250deg); - -ms-transform: rotate(250deg); - -o-transform: rotate(250deg); - transform: rotate(250deg); -} -.wi-wind.towards-251-deg { - -webkit-transform: rotate(251deg); - -moz-transform: rotate(251deg); - -ms-transform: rotate(251deg); - -o-transform: rotate(251deg); - transform: rotate(251deg); -} -.wi-wind.towards-252-deg { - -webkit-transform: rotate(252deg); - -moz-transform: rotate(252deg); - -ms-transform: rotate(252deg); - -o-transform: rotate(252deg); - transform: rotate(252deg); -} -.wi-wind.towards-253-deg { - -webkit-transform: rotate(253deg); - -moz-transform: rotate(253deg); - -ms-transform: rotate(253deg); - -o-transform: rotate(253deg); - transform: rotate(253deg); -} -.wi-wind.towards-254-deg { - -webkit-transform: rotate(254deg); - -moz-transform: rotate(254deg); - -ms-transform: rotate(254deg); - -o-transform: rotate(254deg); - transform: rotate(254deg); -} -.wi-wind.towards-255-deg { - -webkit-transform: rotate(255deg); - -moz-transform: rotate(255deg); - -ms-transform: rotate(255deg); - -o-transform: rotate(255deg); - transform: rotate(255deg); -} -.wi-wind.towards-256-deg { - -webkit-transform: rotate(256deg); - -moz-transform: rotate(256deg); - -ms-transform: rotate(256deg); - -o-transform: rotate(256deg); - transform: rotate(256deg); -} -.wi-wind.towards-257-deg { - -webkit-transform: rotate(257deg); - -moz-transform: rotate(257deg); - -ms-transform: rotate(257deg); - -o-transform: rotate(257deg); - transform: rotate(257deg); -} -.wi-wind.towards-258-deg { - -webkit-transform: rotate(258deg); - -moz-transform: rotate(258deg); - -ms-transform: rotate(258deg); - -o-transform: rotate(258deg); - transform: rotate(258deg); -} -.wi-wind.towards-259-deg { - -webkit-transform: rotate(259deg); - -moz-transform: rotate(259deg); - -ms-transform: rotate(259deg); - -o-transform: rotate(259deg); - transform: rotate(259deg); -} -.wi-wind.towards-260-deg { - -webkit-transform: rotate(260deg); - -moz-transform: rotate(260deg); - -ms-transform: rotate(260deg); - -o-transform: rotate(260deg); - transform: rotate(260deg); -} -.wi-wind.towards-261-deg { - -webkit-transform: rotate(261deg); - -moz-transform: rotate(261deg); - -ms-transform: rotate(261deg); - -o-transform: rotate(261deg); - transform: rotate(261deg); -} -.wi-wind.towards-262-deg { - -webkit-transform: rotate(262deg); - -moz-transform: rotate(262deg); - -ms-transform: rotate(262deg); - -o-transform: rotate(262deg); - transform: rotate(262deg); -} -.wi-wind.towards-263-deg { - -webkit-transform: rotate(263deg); - -moz-transform: rotate(263deg); - -ms-transform: rotate(263deg); - -o-transform: rotate(263deg); - transform: rotate(263deg); -} -.wi-wind.towards-264-deg { - -webkit-transform: rotate(264deg); - -moz-transform: rotate(264deg); - -ms-transform: rotate(264deg); - -o-transform: rotate(264deg); - transform: rotate(264deg); -} -.wi-wind.towards-265-deg { - -webkit-transform: rotate(265deg); - -moz-transform: rotate(265deg); - -ms-transform: rotate(265deg); - -o-transform: rotate(265deg); - transform: rotate(265deg); -} -.wi-wind.towards-266-deg { - -webkit-transform: rotate(266deg); - -moz-transform: rotate(266deg); - -ms-transform: rotate(266deg); - -o-transform: rotate(266deg); - transform: rotate(266deg); -} -.wi-wind.towards-267-deg { - -webkit-transform: rotate(267deg); - -moz-transform: rotate(267deg); - -ms-transform: rotate(267deg); - -o-transform: rotate(267deg); - transform: rotate(267deg); -} -.wi-wind.towards-268-deg { - -webkit-transform: rotate(268deg); - -moz-transform: rotate(268deg); - -ms-transform: rotate(268deg); - -o-transform: rotate(268deg); - transform: rotate(268deg); -} -.wi-wind.towards-269-deg { - -webkit-transform: rotate(269deg); - -moz-transform: rotate(269deg); - -ms-transform: rotate(269deg); - -o-transform: rotate(269deg); - transform: rotate(269deg); -} -.wi-wind.towards-270-deg { - -webkit-transform: rotate(270deg); - -moz-transform: rotate(270deg); - -ms-transform: rotate(270deg); - -o-transform: rotate(270deg); - transform: rotate(270deg); -} -.wi-wind.towards-271-deg { - -webkit-transform: rotate(271deg); - -moz-transform: rotate(271deg); - -ms-transform: rotate(271deg); - -o-transform: rotate(271deg); - transform: rotate(271deg); -} -.wi-wind.towards-272-deg { - -webkit-transform: rotate(272deg); - -moz-transform: rotate(272deg); - -ms-transform: rotate(272deg); - -o-transform: rotate(272deg); - transform: rotate(272deg); -} -.wi-wind.towards-273-deg { - -webkit-transform: rotate(273deg); - -moz-transform: rotate(273deg); - -ms-transform: rotate(273deg); - -o-transform: rotate(273deg); - transform: rotate(273deg); -} -.wi-wind.towards-274-deg { - -webkit-transform: rotate(274deg); - -moz-transform: rotate(274deg); - -ms-transform: rotate(274deg); - -o-transform: rotate(274deg); - transform: rotate(274deg); -} -.wi-wind.towards-275-deg { - -webkit-transform: rotate(275deg); - -moz-transform: rotate(275deg); - -ms-transform: rotate(275deg); - -o-transform: rotate(275deg); - transform: rotate(275deg); -} -.wi-wind.towards-276-deg { - -webkit-transform: rotate(276deg); - -moz-transform: rotate(276deg); - -ms-transform: rotate(276deg); - -o-transform: rotate(276deg); - transform: rotate(276deg); -} -.wi-wind.towards-277-deg { - -webkit-transform: rotate(277deg); - -moz-transform: rotate(277deg); - -ms-transform: rotate(277deg); - -o-transform: rotate(277deg); - transform: rotate(277deg); -} -.wi-wind.towards-278-deg { - -webkit-transform: rotate(278deg); - -moz-transform: rotate(278deg); - -ms-transform: rotate(278deg); - -o-transform: rotate(278deg); - transform: rotate(278deg); -} -.wi-wind.towards-279-deg { - -webkit-transform: rotate(279deg); - -moz-transform: rotate(279deg); - -ms-transform: rotate(279deg); - -o-transform: rotate(279deg); - transform: rotate(279deg); -} -.wi-wind.towards-280-deg { - -webkit-transform: rotate(280deg); - -moz-transform: rotate(280deg); - -ms-transform: rotate(280deg); - -o-transform: rotate(280deg); - transform: rotate(280deg); -} -.wi-wind.towards-281-deg { - -webkit-transform: rotate(281deg); - -moz-transform: rotate(281deg); - -ms-transform: rotate(281deg); - -o-transform: rotate(281deg); - transform: rotate(281deg); -} -.wi-wind.towards-282-deg { - -webkit-transform: rotate(282deg); - -moz-transform: rotate(282deg); - -ms-transform: rotate(282deg); - -o-transform: rotate(282deg); - transform: rotate(282deg); -} -.wi-wind.towards-283-deg { - -webkit-transform: rotate(283deg); - -moz-transform: rotate(283deg); - -ms-transform: rotate(283deg); - -o-transform: rotate(283deg); - transform: rotate(283deg); -} -.wi-wind.towards-284-deg { - -webkit-transform: rotate(284deg); - -moz-transform: rotate(284deg); - -ms-transform: rotate(284deg); - -o-transform: rotate(284deg); - transform: rotate(284deg); -} -.wi-wind.towards-285-deg { - -webkit-transform: rotate(285deg); - -moz-transform: rotate(285deg); - -ms-transform: rotate(285deg); - -o-transform: rotate(285deg); - transform: rotate(285deg); -} -.wi-wind.towards-286-deg { - -webkit-transform: rotate(286deg); - -moz-transform: rotate(286deg); - -ms-transform: rotate(286deg); - -o-transform: rotate(286deg); - transform: rotate(286deg); -} -.wi-wind.towards-287-deg { - -webkit-transform: rotate(287deg); - -moz-transform: rotate(287deg); - -ms-transform: rotate(287deg); - -o-transform: rotate(287deg); - transform: rotate(287deg); -} -.wi-wind.towards-288-deg { - -webkit-transform: rotate(288deg); - -moz-transform: rotate(288deg); - -ms-transform: rotate(288deg); - -o-transform: rotate(288deg); - transform: rotate(288deg); -} -.wi-wind.towards-289-deg { - -webkit-transform: rotate(289deg); - -moz-transform: rotate(289deg); - -ms-transform: rotate(289deg); - -o-transform: rotate(289deg); - transform: rotate(289deg); -} -.wi-wind.towards-290-deg { - -webkit-transform: rotate(290deg); - -moz-transform: rotate(290deg); - -ms-transform: rotate(290deg); - -o-transform: rotate(290deg); - transform: rotate(290deg); -} -.wi-wind.towards-291-deg { - -webkit-transform: rotate(291deg); - -moz-transform: rotate(291deg); - -ms-transform: rotate(291deg); - -o-transform: rotate(291deg); - transform: rotate(291deg); -} -.wi-wind.towards-292-deg { - -webkit-transform: rotate(292deg); - -moz-transform: rotate(292deg); - -ms-transform: rotate(292deg); - -o-transform: rotate(292deg); - transform: rotate(292deg); -} -.wi-wind.towards-293-deg { - -webkit-transform: rotate(293deg); - -moz-transform: rotate(293deg); - -ms-transform: rotate(293deg); - -o-transform: rotate(293deg); - transform: rotate(293deg); -} -.wi-wind.towards-294-deg { - -webkit-transform: rotate(294deg); - -moz-transform: rotate(294deg); - -ms-transform: rotate(294deg); - -o-transform: rotate(294deg); - transform: rotate(294deg); -} -.wi-wind.towards-295-deg { - -webkit-transform: rotate(295deg); - -moz-transform: rotate(295deg); - -ms-transform: rotate(295deg); - -o-transform: rotate(295deg); - transform: rotate(295deg); -} -.wi-wind.towards-296-deg { - -webkit-transform: rotate(296deg); - -moz-transform: rotate(296deg); - -ms-transform: rotate(296deg); - -o-transform: rotate(296deg); - transform: rotate(296deg); -} -.wi-wind.towards-297-deg { - -webkit-transform: rotate(297deg); - -moz-transform: rotate(297deg); - -ms-transform: rotate(297deg); - -o-transform: rotate(297deg); - transform: rotate(297deg); -} -.wi-wind.towards-298-deg { - -webkit-transform: rotate(298deg); - -moz-transform: rotate(298deg); - -ms-transform: rotate(298deg); - -o-transform: rotate(298deg); - transform: rotate(298deg); -} -.wi-wind.towards-299-deg { - -webkit-transform: rotate(299deg); - -moz-transform: rotate(299deg); - -ms-transform: rotate(299deg); - -o-transform: rotate(299deg); - transform: rotate(299deg); -} -.wi-wind.towards-300-deg { - -webkit-transform: rotate(300deg); - -moz-transform: rotate(300deg); - -ms-transform: rotate(300deg); - -o-transform: rotate(300deg); - transform: rotate(300deg); -} -.wi-wind.towards-301-deg { - -webkit-transform: rotate(301deg); - -moz-transform: rotate(301deg); - -ms-transform: rotate(301deg); - -o-transform: rotate(301deg); - transform: rotate(301deg); -} -.wi-wind.towards-302-deg { - -webkit-transform: rotate(302deg); - -moz-transform: rotate(302deg); - -ms-transform: rotate(302deg); - -o-transform: rotate(302deg); - transform: rotate(302deg); -} -.wi-wind.towards-303-deg { - -webkit-transform: rotate(303deg); - -moz-transform: rotate(303deg); - -ms-transform: rotate(303deg); - -o-transform: rotate(303deg); - transform: rotate(303deg); -} -.wi-wind.towards-304-deg { - -webkit-transform: rotate(304deg); - -moz-transform: rotate(304deg); - -ms-transform: rotate(304deg); - -o-transform: rotate(304deg); - transform: rotate(304deg); -} -.wi-wind.towards-305-deg { - -webkit-transform: rotate(305deg); - -moz-transform: rotate(305deg); - -ms-transform: rotate(305deg); - -o-transform: rotate(305deg); - transform: rotate(305deg); -} -.wi-wind.towards-306-deg { - -webkit-transform: rotate(306deg); - -moz-transform: rotate(306deg); - -ms-transform: rotate(306deg); - -o-transform: rotate(306deg); - transform: rotate(306deg); -} -.wi-wind.towards-307-deg { - -webkit-transform: rotate(307deg); - -moz-transform: rotate(307deg); - -ms-transform: rotate(307deg); - -o-transform: rotate(307deg); - transform: rotate(307deg); -} -.wi-wind.towards-308-deg { - -webkit-transform: rotate(308deg); - -moz-transform: rotate(308deg); - -ms-transform: rotate(308deg); - -o-transform: rotate(308deg); - transform: rotate(308deg); -} -.wi-wind.towards-309-deg { - -webkit-transform: rotate(309deg); - -moz-transform: rotate(309deg); - -ms-transform: rotate(309deg); - -o-transform: rotate(309deg); - transform: rotate(309deg); -} -.wi-wind.towards-310-deg { - -webkit-transform: rotate(310deg); - -moz-transform: rotate(310deg); - -ms-transform: rotate(310deg); - -o-transform: rotate(310deg); - transform: rotate(310deg); -} -.wi-wind.towards-311-deg { - -webkit-transform: rotate(311deg); - -moz-transform: rotate(311deg); - -ms-transform: rotate(311deg); - -o-transform: rotate(311deg); - transform: rotate(311deg); -} -.wi-wind.towards-312-deg { - -webkit-transform: rotate(312deg); - -moz-transform: rotate(312deg); - -ms-transform: rotate(312deg); - -o-transform: rotate(312deg); - transform: rotate(312deg); -} -.wi-wind.towards-313-deg { - -webkit-transform: rotate(313deg); - -moz-transform: rotate(313deg); - -ms-transform: rotate(313deg); - -o-transform: rotate(313deg); - transform: rotate(313deg); -} -.wi-wind.towards-314-deg { - -webkit-transform: rotate(314deg); - -moz-transform: rotate(314deg); - -ms-transform: rotate(314deg); - -o-transform: rotate(314deg); - transform: rotate(314deg); -} -.wi-wind.towards-315-deg { - -webkit-transform: rotate(315deg); - -moz-transform: rotate(315deg); - -ms-transform: rotate(315deg); - -o-transform: rotate(315deg); - transform: rotate(315deg); -} -.wi-wind.towards-316-deg { - -webkit-transform: rotate(316deg); - -moz-transform: rotate(316deg); - -ms-transform: rotate(316deg); - -o-transform: rotate(316deg); - transform: rotate(316deg); -} -.wi-wind.towards-317-deg { - -webkit-transform: rotate(317deg); - -moz-transform: rotate(317deg); - -ms-transform: rotate(317deg); - -o-transform: rotate(317deg); - transform: rotate(317deg); -} -.wi-wind.towards-318-deg { - -webkit-transform: rotate(318deg); - -moz-transform: rotate(318deg); - -ms-transform: rotate(318deg); - -o-transform: rotate(318deg); - transform: rotate(318deg); -} -.wi-wind.towards-319-deg { - -webkit-transform: rotate(319deg); - -moz-transform: rotate(319deg); - -ms-transform: rotate(319deg); - -o-transform: rotate(319deg); - transform: rotate(319deg); -} -.wi-wind.towards-320-deg { - -webkit-transform: rotate(320deg); - -moz-transform: rotate(320deg); - -ms-transform: rotate(320deg); - -o-transform: rotate(320deg); - transform: rotate(320deg); -} -.wi-wind.towards-321-deg { - -webkit-transform: rotate(321deg); - -moz-transform: rotate(321deg); - -ms-transform: rotate(321deg); - -o-transform: rotate(321deg); - transform: rotate(321deg); -} -.wi-wind.towards-322-deg { - -webkit-transform: rotate(322deg); - -moz-transform: rotate(322deg); - -ms-transform: rotate(322deg); - -o-transform: rotate(322deg); - transform: rotate(322deg); -} -.wi-wind.towards-323-deg { - -webkit-transform: rotate(323deg); - -moz-transform: rotate(323deg); - -ms-transform: rotate(323deg); - -o-transform: rotate(323deg); - transform: rotate(323deg); -} -.wi-wind.towards-324-deg { - -webkit-transform: rotate(324deg); - -moz-transform: rotate(324deg); - -ms-transform: rotate(324deg); - -o-transform: rotate(324deg); - transform: rotate(324deg); -} -.wi-wind.towards-325-deg { - -webkit-transform: rotate(325deg); - -moz-transform: rotate(325deg); - -ms-transform: rotate(325deg); - -o-transform: rotate(325deg); - transform: rotate(325deg); -} -.wi-wind.towards-326-deg { - -webkit-transform: rotate(326deg); - -moz-transform: rotate(326deg); - -ms-transform: rotate(326deg); - -o-transform: rotate(326deg); - transform: rotate(326deg); -} -.wi-wind.towards-327-deg { - -webkit-transform: rotate(327deg); - -moz-transform: rotate(327deg); - -ms-transform: rotate(327deg); - -o-transform: rotate(327deg); - transform: rotate(327deg); -} -.wi-wind.towards-328-deg { - -webkit-transform: rotate(328deg); - -moz-transform: rotate(328deg); - -ms-transform: rotate(328deg); - -o-transform: rotate(328deg); - transform: rotate(328deg); -} -.wi-wind.towards-329-deg { - -webkit-transform: rotate(329deg); - -moz-transform: rotate(329deg); - -ms-transform: rotate(329deg); - -o-transform: rotate(329deg); - transform: rotate(329deg); -} -.wi-wind.towards-330-deg { - -webkit-transform: rotate(330deg); - -moz-transform: rotate(330deg); - -ms-transform: rotate(330deg); - -o-transform: rotate(330deg); - transform: rotate(330deg); -} -.wi-wind.towards-331-deg { - -webkit-transform: rotate(331deg); - -moz-transform: rotate(331deg); - -ms-transform: rotate(331deg); - -o-transform: rotate(331deg); - transform: rotate(331deg); -} -.wi-wind.towards-332-deg { - -webkit-transform: rotate(332deg); - -moz-transform: rotate(332deg); - -ms-transform: rotate(332deg); - -o-transform: rotate(332deg); - transform: rotate(332deg); -} -.wi-wind.towards-333-deg { - -webkit-transform: rotate(333deg); - -moz-transform: rotate(333deg); - -ms-transform: rotate(333deg); - -o-transform: rotate(333deg); - transform: rotate(333deg); -} -.wi-wind.towards-334-deg { - -webkit-transform: rotate(334deg); - -moz-transform: rotate(334deg); - -ms-transform: rotate(334deg); - -o-transform: rotate(334deg); - transform: rotate(334deg); -} -.wi-wind.towards-335-deg { - -webkit-transform: rotate(335deg); - -moz-transform: rotate(335deg); - -ms-transform: rotate(335deg); - -o-transform: rotate(335deg); - transform: rotate(335deg); -} -.wi-wind.towards-336-deg { - -webkit-transform: rotate(336deg); - -moz-transform: rotate(336deg); - -ms-transform: rotate(336deg); - -o-transform: rotate(336deg); - transform: rotate(336deg); -} -.wi-wind.towards-337-deg { - -webkit-transform: rotate(337deg); - -moz-transform: rotate(337deg); - -ms-transform: rotate(337deg); - -o-transform: rotate(337deg); - transform: rotate(337deg); -} -.wi-wind.towards-338-deg { - -webkit-transform: rotate(338deg); - -moz-transform: rotate(338deg); - -ms-transform: rotate(338deg); - -o-transform: rotate(338deg); - transform: rotate(338deg); -} -.wi-wind.towards-339-deg { - -webkit-transform: rotate(339deg); - -moz-transform: rotate(339deg); - -ms-transform: rotate(339deg); - -o-transform: rotate(339deg); - transform: rotate(339deg); -} -.wi-wind.towards-340-deg { - -webkit-transform: rotate(340deg); - -moz-transform: rotate(340deg); - -ms-transform: rotate(340deg); - -o-transform: rotate(340deg); - transform: rotate(340deg); -} -.wi-wind.towards-341-deg { - -webkit-transform: rotate(341deg); - -moz-transform: rotate(341deg); - -ms-transform: rotate(341deg); - -o-transform: rotate(341deg); - transform: rotate(341deg); -} -.wi-wind.towards-342-deg { - -webkit-transform: rotate(342deg); - -moz-transform: rotate(342deg); - -ms-transform: rotate(342deg); - -o-transform: rotate(342deg); - transform: rotate(342deg); -} -.wi-wind.towards-343-deg { - -webkit-transform: rotate(343deg); - -moz-transform: rotate(343deg); - -ms-transform: rotate(343deg); - -o-transform: rotate(343deg); - transform: rotate(343deg); -} -.wi-wind.towards-344-deg { - -webkit-transform: rotate(344deg); - -moz-transform: rotate(344deg); - -ms-transform: rotate(344deg); - -o-transform: rotate(344deg); - transform: rotate(344deg); -} -.wi-wind.towards-345-deg { - -webkit-transform: rotate(345deg); - -moz-transform: rotate(345deg); - -ms-transform: rotate(345deg); - -o-transform: rotate(345deg); - transform: rotate(345deg); -} -.wi-wind.towards-346-deg { - -webkit-transform: rotate(346deg); - -moz-transform: rotate(346deg); - -ms-transform: rotate(346deg); - -o-transform: rotate(346deg); - transform: rotate(346deg); -} -.wi-wind.towards-347-deg { - -webkit-transform: rotate(347deg); - -moz-transform: rotate(347deg); - -ms-transform: rotate(347deg); - -o-transform: rotate(347deg); - transform: rotate(347deg); -} -.wi-wind.towards-348-deg { - -webkit-transform: rotate(348deg); - -moz-transform: rotate(348deg); - -ms-transform: rotate(348deg); - -o-transform: rotate(348deg); - transform: rotate(348deg); -} -.wi-wind.towards-349-deg { - -webkit-transform: rotate(349deg); - -moz-transform: rotate(349deg); - -ms-transform: rotate(349deg); - -o-transform: rotate(349deg); - transform: rotate(349deg); -} -.wi-wind.towards-350-deg { - -webkit-transform: rotate(350deg); - -moz-transform: rotate(350deg); - -ms-transform: rotate(350deg); - -o-transform: rotate(350deg); - transform: rotate(350deg); -} -.wi-wind.towards-351-deg { - -webkit-transform: rotate(351deg); - -moz-transform: rotate(351deg); - -ms-transform: rotate(351deg); - -o-transform: rotate(351deg); - transform: rotate(351deg); -} -.wi-wind.towards-352-deg { - -webkit-transform: rotate(352deg); - -moz-transform: rotate(352deg); - -ms-transform: rotate(352deg); - -o-transform: rotate(352deg); - transform: rotate(352deg); -} -.wi-wind.towards-353-deg { - -webkit-transform: rotate(353deg); - -moz-transform: rotate(353deg); - -ms-transform: rotate(353deg); - -o-transform: rotate(353deg); - transform: rotate(353deg); -} -.wi-wind.towards-354-deg { - -webkit-transform: rotate(354deg); - -moz-transform: rotate(354deg); - -ms-transform: rotate(354deg); - -o-transform: rotate(354deg); - transform: rotate(354deg); -} -.wi-wind.towards-355-deg { - -webkit-transform: rotate(355deg); - -moz-transform: rotate(355deg); - -ms-transform: rotate(355deg); - -o-transform: rotate(355deg); - transform: rotate(355deg); -} -.wi-wind.towards-356-deg { - -webkit-transform: rotate(356deg); - -moz-transform: rotate(356deg); - -ms-transform: rotate(356deg); - -o-transform: rotate(356deg); - transform: rotate(356deg); -} -.wi-wind.towards-357-deg { - -webkit-transform: rotate(357deg); - -moz-transform: rotate(357deg); - -ms-transform: rotate(357deg); - -o-transform: rotate(357deg); - transform: rotate(357deg); -} -.wi-wind.towards-358-deg { - -webkit-transform: rotate(358deg); - -moz-transform: rotate(358deg); - -ms-transform: rotate(358deg); - -o-transform: rotate(358deg); - transform: rotate(358deg); -} -.wi-wind.towards-359-deg { - -webkit-transform: rotate(359deg); - -moz-transform: rotate(359deg); - -ms-transform: rotate(359deg); - -o-transform: rotate(359deg); - transform: rotate(359deg); -} -.wi-wind.towards-360-deg { - -webkit-transform: rotate(0deg); - -moz-transform: rotate(0deg); - -ms-transform: rotate(0deg); - -o-transform: rotate(0deg); - transform: rotate(0deg); -} -.wi-wind.from-0-deg { - -webkit-transform: rotate(180deg); - -moz-transform: rotate(180deg); - -ms-transform: rotate(180deg); - -o-transform: rotate(180deg); - transform: rotate(180deg); -} -.wi-wind.from-1-deg { - -webkit-transform: rotate(181deg); - -moz-transform: rotate(181deg); - -ms-transform: rotate(181deg); - -o-transform: rotate(181deg); - transform: rotate(181deg); -} -.wi-wind.from-2-deg { - -webkit-transform: rotate(182deg); - -moz-transform: rotate(182deg); - -ms-transform: rotate(182deg); - -o-transform: rotate(182deg); - transform: rotate(182deg); -} -.wi-wind.from-3-deg { - -webkit-transform: rotate(183deg); - -moz-transform: rotate(183deg); - -ms-transform: rotate(183deg); - -o-transform: rotate(183deg); - transform: rotate(183deg); -} -.wi-wind.from-4-deg { - -webkit-transform: rotate(184deg); - -moz-transform: rotate(184deg); - -ms-transform: rotate(184deg); - -o-transform: rotate(184deg); - transform: rotate(184deg); -} -.wi-wind.from-5-deg { - -webkit-transform: rotate(185deg); - -moz-transform: rotate(185deg); - -ms-transform: rotate(185deg); - -o-transform: rotate(185deg); - transform: rotate(185deg); -} -.wi-wind.from-6-deg { - -webkit-transform: rotate(186deg); - -moz-transform: rotate(186deg); - -ms-transform: rotate(186deg); - -o-transform: rotate(186deg); - transform: rotate(186deg); -} -.wi-wind.from-7-deg { - -webkit-transform: rotate(187deg); - -moz-transform: rotate(187deg); - -ms-transform: rotate(187deg); - -o-transform: rotate(187deg); - transform: rotate(187deg); -} -.wi-wind.from-8-deg { - -webkit-transform: rotate(188deg); - -moz-transform: rotate(188deg); - -ms-transform: rotate(188deg); - -o-transform: rotate(188deg); - transform: rotate(188deg); -} -.wi-wind.from-9-deg { - -webkit-transform: rotate(189deg); - -moz-transform: rotate(189deg); - -ms-transform: rotate(189deg); - -o-transform: rotate(189deg); - transform: rotate(189deg); -} -.wi-wind.from-10-deg { - -webkit-transform: rotate(190deg); - -moz-transform: rotate(190deg); - -ms-transform: rotate(190deg); - -o-transform: rotate(190deg); - transform: rotate(190deg); -} -.wi-wind.from-11-deg { - -webkit-transform: rotate(191deg); - -moz-transform: rotate(191deg); - -ms-transform: rotate(191deg); - -o-transform: rotate(191deg); - transform: rotate(191deg); -} -.wi-wind.from-12-deg { - -webkit-transform: rotate(192deg); - -moz-transform: rotate(192deg); - -ms-transform: rotate(192deg); - -o-transform: rotate(192deg); - transform: rotate(192deg); -} -.wi-wind.from-13-deg { - -webkit-transform: rotate(193deg); - -moz-transform: rotate(193deg); - -ms-transform: rotate(193deg); - -o-transform: rotate(193deg); - transform: rotate(193deg); -} -.wi-wind.from-14-deg { - -webkit-transform: rotate(194deg); - -moz-transform: rotate(194deg); - -ms-transform: rotate(194deg); - -o-transform: rotate(194deg); - transform: rotate(194deg); -} -.wi-wind.from-15-deg { - -webkit-transform: rotate(195deg); - -moz-transform: rotate(195deg); - -ms-transform: rotate(195deg); - -o-transform: rotate(195deg); - transform: rotate(195deg); -} -.wi-wind.from-16-deg { - -webkit-transform: rotate(196deg); - -moz-transform: rotate(196deg); - -ms-transform: rotate(196deg); - -o-transform: rotate(196deg); - transform: rotate(196deg); -} -.wi-wind.from-17-deg { - -webkit-transform: rotate(197deg); - -moz-transform: rotate(197deg); - -ms-transform: rotate(197deg); - -o-transform: rotate(197deg); - transform: rotate(197deg); -} -.wi-wind.from-18-deg { - -webkit-transform: rotate(198deg); - -moz-transform: rotate(198deg); - -ms-transform: rotate(198deg); - -o-transform: rotate(198deg); - transform: rotate(198deg); -} -.wi-wind.from-19-deg { - -webkit-transform: rotate(199deg); - -moz-transform: rotate(199deg); - -ms-transform: rotate(199deg); - -o-transform: rotate(199deg); - transform: rotate(199deg); -} -.wi-wind.from-20-deg { - -webkit-transform: rotate(200deg); - -moz-transform: rotate(200deg); - -ms-transform: rotate(200deg); - -o-transform: rotate(200deg); - transform: rotate(200deg); -} -.wi-wind.from-21-deg { - -webkit-transform: rotate(201deg); - -moz-transform: rotate(201deg); - -ms-transform: rotate(201deg); - -o-transform: rotate(201deg); - transform: rotate(201deg); -} -.wi-wind.from-22-deg { - -webkit-transform: rotate(202deg); - -moz-transform: rotate(202deg); - -ms-transform: rotate(202deg); - -o-transform: rotate(202deg); - transform: rotate(202deg); -} -.wi-wind.from-23-deg { - -webkit-transform: rotate(203deg); - -moz-transform: rotate(203deg); - -ms-transform: rotate(203deg); - -o-transform: rotate(203deg); - transform: rotate(203deg); -} -.wi-wind.from-24-deg { - -webkit-transform: rotate(204deg); - -moz-transform: rotate(204deg); - -ms-transform: rotate(204deg); - -o-transform: rotate(204deg); - transform: rotate(204deg); -} -.wi-wind.from-25-deg { - -webkit-transform: rotate(205deg); - -moz-transform: rotate(205deg); - -ms-transform: rotate(205deg); - -o-transform: rotate(205deg); - transform: rotate(205deg); -} -.wi-wind.from-26-deg { - -webkit-transform: rotate(206deg); - -moz-transform: rotate(206deg); - -ms-transform: rotate(206deg); - -o-transform: rotate(206deg); - transform: rotate(206deg); -} -.wi-wind.from-27-deg { - -webkit-transform: rotate(207deg); - -moz-transform: rotate(207deg); - -ms-transform: rotate(207deg); - -o-transform: rotate(207deg); - transform: rotate(207deg); -} -.wi-wind.from-28-deg { - -webkit-transform: rotate(208deg); - -moz-transform: rotate(208deg); - -ms-transform: rotate(208deg); - -o-transform: rotate(208deg); - transform: rotate(208deg); -} -.wi-wind.from-29-deg { - -webkit-transform: rotate(209deg); - -moz-transform: rotate(209deg); - -ms-transform: rotate(209deg); - -o-transform: rotate(209deg); - transform: rotate(209deg); -} -.wi-wind.from-30-deg { - -webkit-transform: rotate(210deg); - -moz-transform: rotate(210deg); - -ms-transform: rotate(210deg); - -o-transform: rotate(210deg); - transform: rotate(210deg); -} -.wi-wind.from-31-deg { - -webkit-transform: rotate(211deg); - -moz-transform: rotate(211deg); - -ms-transform: rotate(211deg); - -o-transform: rotate(211deg); - transform: rotate(211deg); -} -.wi-wind.from-32-deg { - -webkit-transform: rotate(212deg); - -moz-transform: rotate(212deg); - -ms-transform: rotate(212deg); - -o-transform: rotate(212deg); - transform: rotate(212deg); -} -.wi-wind.from-33-deg { - -webkit-transform: rotate(213deg); - -moz-transform: rotate(213deg); - -ms-transform: rotate(213deg); - -o-transform: rotate(213deg); - transform: rotate(213deg); -} -.wi-wind.from-34-deg { - -webkit-transform: rotate(214deg); - -moz-transform: rotate(214deg); - -ms-transform: rotate(214deg); - -o-transform: rotate(214deg); - transform: rotate(214deg); -} -.wi-wind.from-35-deg { - -webkit-transform: rotate(215deg); - -moz-transform: rotate(215deg); - -ms-transform: rotate(215deg); - -o-transform: rotate(215deg); - transform: rotate(215deg); -} -.wi-wind.from-36-deg { - -webkit-transform: rotate(216deg); - -moz-transform: rotate(216deg); - -ms-transform: rotate(216deg); - -o-transform: rotate(216deg); - transform: rotate(216deg); -} -.wi-wind.from-37-deg { - -webkit-transform: rotate(217deg); - -moz-transform: rotate(217deg); - -ms-transform: rotate(217deg); - -o-transform: rotate(217deg); - transform: rotate(217deg); -} -.wi-wind.from-38-deg { - -webkit-transform: rotate(218deg); - -moz-transform: rotate(218deg); - -ms-transform: rotate(218deg); - -o-transform: rotate(218deg); - transform: rotate(218deg); -} -.wi-wind.from-39-deg { - -webkit-transform: rotate(219deg); - -moz-transform: rotate(219deg); - -ms-transform: rotate(219deg); - -o-transform: rotate(219deg); - transform: rotate(219deg); -} -.wi-wind.from-40-deg { - -webkit-transform: rotate(220deg); - -moz-transform: rotate(220deg); - -ms-transform: rotate(220deg); - -o-transform: rotate(220deg); - transform: rotate(220deg); -} -.wi-wind.from-41-deg { - -webkit-transform: rotate(221deg); - -moz-transform: rotate(221deg); - -ms-transform: rotate(221deg); - -o-transform: rotate(221deg); - transform: rotate(221deg); -} -.wi-wind.from-42-deg { - -webkit-transform: rotate(222deg); - -moz-transform: rotate(222deg); - -ms-transform: rotate(222deg); - -o-transform: rotate(222deg); - transform: rotate(222deg); -} -.wi-wind.from-43-deg { - -webkit-transform: rotate(223deg); - -moz-transform: rotate(223deg); - -ms-transform: rotate(223deg); - -o-transform: rotate(223deg); - transform: rotate(223deg); -} -.wi-wind.from-44-deg { - -webkit-transform: rotate(224deg); - -moz-transform: rotate(224deg); - -ms-transform: rotate(224deg); - -o-transform: rotate(224deg); - transform: rotate(224deg); -} -.wi-wind.from-45-deg { - -webkit-transform: rotate(225deg); - -moz-transform: rotate(225deg); - -ms-transform: rotate(225deg); - -o-transform: rotate(225deg); - transform: rotate(225deg); -} -.wi-wind.from-46-deg { - -webkit-transform: rotate(226deg); - -moz-transform: rotate(226deg); - -ms-transform: rotate(226deg); - -o-transform: rotate(226deg); - transform: rotate(226deg); -} -.wi-wind.from-47-deg { - -webkit-transform: rotate(227deg); - -moz-transform: rotate(227deg); - -ms-transform: rotate(227deg); - -o-transform: rotate(227deg); - transform: rotate(227deg); -} -.wi-wind.from-48-deg { - -webkit-transform: rotate(228deg); - -moz-transform: rotate(228deg); - -ms-transform: rotate(228deg); - -o-transform: rotate(228deg); - transform: rotate(228deg); -} -.wi-wind.from-49-deg { - -webkit-transform: rotate(229deg); - -moz-transform: rotate(229deg); - -ms-transform: rotate(229deg); - -o-transform: rotate(229deg); - transform: rotate(229deg); -} -.wi-wind.from-50-deg { - -webkit-transform: rotate(230deg); - -moz-transform: rotate(230deg); - -ms-transform: rotate(230deg); - -o-transform: rotate(230deg); - transform: rotate(230deg); -} -.wi-wind.from-51-deg { - -webkit-transform: rotate(231deg); - -moz-transform: rotate(231deg); - -ms-transform: rotate(231deg); - -o-transform: rotate(231deg); - transform: rotate(231deg); -} -.wi-wind.from-52-deg { - -webkit-transform: rotate(232deg); - -moz-transform: rotate(232deg); - -ms-transform: rotate(232deg); - -o-transform: rotate(232deg); - transform: rotate(232deg); -} -.wi-wind.from-53-deg { - -webkit-transform: rotate(233deg); - -moz-transform: rotate(233deg); - -ms-transform: rotate(233deg); - -o-transform: rotate(233deg); - transform: rotate(233deg); -} -.wi-wind.from-54-deg { - -webkit-transform: rotate(234deg); - -moz-transform: rotate(234deg); - -ms-transform: rotate(234deg); - -o-transform: rotate(234deg); - transform: rotate(234deg); -} -.wi-wind.from-55-deg { - -webkit-transform: rotate(235deg); - -moz-transform: rotate(235deg); - -ms-transform: rotate(235deg); - -o-transform: rotate(235deg); - transform: rotate(235deg); -} -.wi-wind.from-56-deg { - -webkit-transform: rotate(236deg); - -moz-transform: rotate(236deg); - -ms-transform: rotate(236deg); - -o-transform: rotate(236deg); - transform: rotate(236deg); -} -.wi-wind.from-57-deg { - -webkit-transform: rotate(237deg); - -moz-transform: rotate(237deg); - -ms-transform: rotate(237deg); - -o-transform: rotate(237deg); - transform: rotate(237deg); -} -.wi-wind.from-58-deg { - -webkit-transform: rotate(238deg); - -moz-transform: rotate(238deg); - -ms-transform: rotate(238deg); - -o-transform: rotate(238deg); - transform: rotate(238deg); -} -.wi-wind.from-59-deg { - -webkit-transform: rotate(239deg); - -moz-transform: rotate(239deg); - -ms-transform: rotate(239deg); - -o-transform: rotate(239deg); - transform: rotate(239deg); -} -.wi-wind.from-60-deg { - -webkit-transform: rotate(240deg); - -moz-transform: rotate(240deg); - -ms-transform: rotate(240deg); - -o-transform: rotate(240deg); - transform: rotate(240deg); -} -.wi-wind.from-61-deg { - -webkit-transform: rotate(241deg); - -moz-transform: rotate(241deg); - -ms-transform: rotate(241deg); - -o-transform: rotate(241deg); - transform: rotate(241deg); -} -.wi-wind.from-62-deg { - -webkit-transform: rotate(242deg); - -moz-transform: rotate(242deg); - -ms-transform: rotate(242deg); - -o-transform: rotate(242deg); - transform: rotate(242deg); -} -.wi-wind.from-63-deg { - -webkit-transform: rotate(243deg); - -moz-transform: rotate(243deg); - -ms-transform: rotate(243deg); - -o-transform: rotate(243deg); - transform: rotate(243deg); -} -.wi-wind.from-64-deg { - -webkit-transform: rotate(244deg); - -moz-transform: rotate(244deg); - -ms-transform: rotate(244deg); - -o-transform: rotate(244deg); - transform: rotate(244deg); -} -.wi-wind.from-65-deg { - -webkit-transform: rotate(245deg); - -moz-transform: rotate(245deg); - -ms-transform: rotate(245deg); - -o-transform: rotate(245deg); - transform: rotate(245deg); -} -.wi-wind.from-66-deg { - -webkit-transform: rotate(246deg); - -moz-transform: rotate(246deg); - -ms-transform: rotate(246deg); - -o-transform: rotate(246deg); - transform: rotate(246deg); -} -.wi-wind.from-67-deg { - -webkit-transform: rotate(247deg); - -moz-transform: rotate(247deg); - -ms-transform: rotate(247deg); - -o-transform: rotate(247deg); - transform: rotate(247deg); -} -.wi-wind.from-68-deg { - -webkit-transform: rotate(248deg); - -moz-transform: rotate(248deg); - -ms-transform: rotate(248deg); - -o-transform: rotate(248deg); - transform: rotate(248deg); -} -.wi-wind.from-69-deg { - -webkit-transform: rotate(249deg); - -moz-transform: rotate(249deg); - -ms-transform: rotate(249deg); - -o-transform: rotate(249deg); - transform: rotate(249deg); -} -.wi-wind.from-70-deg { - -webkit-transform: rotate(250deg); - -moz-transform: rotate(250deg); - -ms-transform: rotate(250deg); - -o-transform: rotate(250deg); - transform: rotate(250deg); -} -.wi-wind.from-71-deg { - -webkit-transform: rotate(251deg); - -moz-transform: rotate(251deg); - -ms-transform: rotate(251deg); - -o-transform: rotate(251deg); - transform: rotate(251deg); -} -.wi-wind.from-72-deg { - -webkit-transform: rotate(252deg); - -moz-transform: rotate(252deg); - -ms-transform: rotate(252deg); - -o-transform: rotate(252deg); - transform: rotate(252deg); -} -.wi-wind.from-73-deg { - -webkit-transform: rotate(253deg); - -moz-transform: rotate(253deg); - -ms-transform: rotate(253deg); - -o-transform: rotate(253deg); - transform: rotate(253deg); -} -.wi-wind.from-74-deg { - -webkit-transform: rotate(254deg); - -moz-transform: rotate(254deg); - -ms-transform: rotate(254deg); - -o-transform: rotate(254deg); - transform: rotate(254deg); -} -.wi-wind.from-75-deg { - -webkit-transform: rotate(255deg); - -moz-transform: rotate(255deg); - -ms-transform: rotate(255deg); - -o-transform: rotate(255deg); - transform: rotate(255deg); -} -.wi-wind.from-76-deg { - -webkit-transform: rotate(256deg); - -moz-transform: rotate(256deg); - -ms-transform: rotate(256deg); - -o-transform: rotate(256deg); - transform: rotate(256deg); -} -.wi-wind.from-77-deg { - -webkit-transform: rotate(257deg); - -moz-transform: rotate(257deg); - -ms-transform: rotate(257deg); - -o-transform: rotate(257deg); - transform: rotate(257deg); -} -.wi-wind.from-78-deg { - -webkit-transform: rotate(258deg); - -moz-transform: rotate(258deg); - -ms-transform: rotate(258deg); - -o-transform: rotate(258deg); - transform: rotate(258deg); -} -.wi-wind.from-79-deg { - -webkit-transform: rotate(259deg); - -moz-transform: rotate(259deg); - -ms-transform: rotate(259deg); - -o-transform: rotate(259deg); - transform: rotate(259deg); -} -.wi-wind.from-80-deg { - -webkit-transform: rotate(260deg); - -moz-transform: rotate(260deg); - -ms-transform: rotate(260deg); - -o-transform: rotate(260deg); - transform: rotate(260deg); -} -.wi-wind.from-81-deg { - -webkit-transform: rotate(261deg); - -moz-transform: rotate(261deg); - -ms-transform: rotate(261deg); - -o-transform: rotate(261deg); - transform: rotate(261deg); -} -.wi-wind.from-82-deg { - -webkit-transform: rotate(262deg); - -moz-transform: rotate(262deg); - -ms-transform: rotate(262deg); - -o-transform: rotate(262deg); - transform: rotate(262deg); -} -.wi-wind.from-83-deg { - -webkit-transform: rotate(263deg); - -moz-transform: rotate(263deg); - -ms-transform: rotate(263deg); - -o-transform: rotate(263deg); - transform: rotate(263deg); -} -.wi-wind.from-84-deg { - -webkit-transform: rotate(264deg); - -moz-transform: rotate(264deg); - -ms-transform: rotate(264deg); - -o-transform: rotate(264deg); - transform: rotate(264deg); -} -.wi-wind.from-85-deg { - -webkit-transform: rotate(265deg); - -moz-transform: rotate(265deg); - -ms-transform: rotate(265deg); - -o-transform: rotate(265deg); - transform: rotate(265deg); -} -.wi-wind.from-86-deg { - -webkit-transform: rotate(266deg); - -moz-transform: rotate(266deg); - -ms-transform: rotate(266deg); - -o-transform: rotate(266deg); - transform: rotate(266deg); -} -.wi-wind.from-87-deg { - -webkit-transform: rotate(267deg); - -moz-transform: rotate(267deg); - -ms-transform: rotate(267deg); - -o-transform: rotate(267deg); - transform: rotate(267deg); -} -.wi-wind.from-88-deg { - -webkit-transform: rotate(268deg); - -moz-transform: rotate(268deg); - -ms-transform: rotate(268deg); - -o-transform: rotate(268deg); - transform: rotate(268deg); -} -.wi-wind.from-89-deg { - -webkit-transform: rotate(269deg); - -moz-transform: rotate(269deg); - -ms-transform: rotate(269deg); - -o-transform: rotate(269deg); - transform: rotate(269deg); -} -.wi-wind.from-90-deg { - -webkit-transform: rotate(270deg); - -moz-transform: rotate(270deg); - -ms-transform: rotate(270deg); - -o-transform: rotate(270deg); - transform: rotate(270deg); -} -.wi-wind.from-91-deg { - -webkit-transform: rotate(271deg); - -moz-transform: rotate(271deg); - -ms-transform: rotate(271deg); - -o-transform: rotate(271deg); - transform: rotate(271deg); -} -.wi-wind.from-92-deg { - -webkit-transform: rotate(272deg); - -moz-transform: rotate(272deg); - -ms-transform: rotate(272deg); - -o-transform: rotate(272deg); - transform: rotate(272deg); -} -.wi-wind.from-93-deg { - -webkit-transform: rotate(273deg); - -moz-transform: rotate(273deg); - -ms-transform: rotate(273deg); - -o-transform: rotate(273deg); - transform: rotate(273deg); -} -.wi-wind.from-94-deg { - -webkit-transform: rotate(274deg); - -moz-transform: rotate(274deg); - -ms-transform: rotate(274deg); - -o-transform: rotate(274deg); - transform: rotate(274deg); -} -.wi-wind.from-95-deg { - -webkit-transform: rotate(275deg); - -moz-transform: rotate(275deg); - -ms-transform: rotate(275deg); - -o-transform: rotate(275deg); - transform: rotate(275deg); -} -.wi-wind.from-96-deg { - -webkit-transform: rotate(276deg); - -moz-transform: rotate(276deg); - -ms-transform: rotate(276deg); - -o-transform: rotate(276deg); - transform: rotate(276deg); -} -.wi-wind.from-97-deg { - -webkit-transform: rotate(277deg); - -moz-transform: rotate(277deg); - -ms-transform: rotate(277deg); - -o-transform: rotate(277deg); - transform: rotate(277deg); -} -.wi-wind.from-98-deg { - -webkit-transform: rotate(278deg); - -moz-transform: rotate(278deg); - -ms-transform: rotate(278deg); - -o-transform: rotate(278deg); - transform: rotate(278deg); -} -.wi-wind.from-99-deg { - -webkit-transform: rotate(279deg); - -moz-transform: rotate(279deg); - -ms-transform: rotate(279deg); - -o-transform: rotate(279deg); - transform: rotate(279deg); -} -.wi-wind.from-100-deg { - -webkit-transform: rotate(280deg); - -moz-transform: rotate(280deg); - -ms-transform: rotate(280deg); - -o-transform: rotate(280deg); - transform: rotate(280deg); -} -.wi-wind.from-101-deg { - -webkit-transform: rotate(281deg); - -moz-transform: rotate(281deg); - -ms-transform: rotate(281deg); - -o-transform: rotate(281deg); - transform: rotate(281deg); -} -.wi-wind.from-102-deg { - -webkit-transform: rotate(282deg); - -moz-transform: rotate(282deg); - -ms-transform: rotate(282deg); - -o-transform: rotate(282deg); - transform: rotate(282deg); -} -.wi-wind.from-103-deg { - -webkit-transform: rotate(283deg); - -moz-transform: rotate(283deg); - -ms-transform: rotate(283deg); - -o-transform: rotate(283deg); - transform: rotate(283deg); -} -.wi-wind.from-104-deg { - -webkit-transform: rotate(284deg); - -moz-transform: rotate(284deg); - -ms-transform: rotate(284deg); - -o-transform: rotate(284deg); - transform: rotate(284deg); -} -.wi-wind.from-105-deg { - -webkit-transform: rotate(285deg); - -moz-transform: rotate(285deg); - -ms-transform: rotate(285deg); - -o-transform: rotate(285deg); - transform: rotate(285deg); -} -.wi-wind.from-106-deg { - -webkit-transform: rotate(286deg); - -moz-transform: rotate(286deg); - -ms-transform: rotate(286deg); - -o-transform: rotate(286deg); - transform: rotate(286deg); -} -.wi-wind.from-107-deg { - -webkit-transform: rotate(287deg); - -moz-transform: rotate(287deg); - -ms-transform: rotate(287deg); - -o-transform: rotate(287deg); - transform: rotate(287deg); -} -.wi-wind.from-108-deg { - -webkit-transform: rotate(288deg); - -moz-transform: rotate(288deg); - -ms-transform: rotate(288deg); - -o-transform: rotate(288deg); - transform: rotate(288deg); -} -.wi-wind.from-109-deg { - -webkit-transform: rotate(289deg); - -moz-transform: rotate(289deg); - -ms-transform: rotate(289deg); - -o-transform: rotate(289deg); - transform: rotate(289deg); -} -.wi-wind.from-110-deg { - -webkit-transform: rotate(290deg); - -moz-transform: rotate(290deg); - -ms-transform: rotate(290deg); - -o-transform: rotate(290deg); - transform: rotate(290deg); -} -.wi-wind.from-111-deg { - -webkit-transform: rotate(291deg); - -moz-transform: rotate(291deg); - -ms-transform: rotate(291deg); - -o-transform: rotate(291deg); - transform: rotate(291deg); -} -.wi-wind.from-112-deg { - -webkit-transform: rotate(292deg); - -moz-transform: rotate(292deg); - -ms-transform: rotate(292deg); - -o-transform: rotate(292deg); - transform: rotate(292deg); -} -.wi-wind.from-113-deg { - -webkit-transform: rotate(293deg); - -moz-transform: rotate(293deg); - -ms-transform: rotate(293deg); - -o-transform: rotate(293deg); - transform: rotate(293deg); -} -.wi-wind.from-114-deg { - -webkit-transform: rotate(294deg); - -moz-transform: rotate(294deg); - -ms-transform: rotate(294deg); - -o-transform: rotate(294deg); - transform: rotate(294deg); -} -.wi-wind.from-115-deg { - -webkit-transform: rotate(295deg); - -moz-transform: rotate(295deg); - -ms-transform: rotate(295deg); - -o-transform: rotate(295deg); - transform: rotate(295deg); -} -.wi-wind.from-116-deg { - -webkit-transform: rotate(296deg); - -moz-transform: rotate(296deg); - -ms-transform: rotate(296deg); - -o-transform: rotate(296deg); - transform: rotate(296deg); -} -.wi-wind.from-117-deg { - -webkit-transform: rotate(297deg); - -moz-transform: rotate(297deg); - -ms-transform: rotate(297deg); - -o-transform: rotate(297deg); - transform: rotate(297deg); -} -.wi-wind.from-118-deg { - -webkit-transform: rotate(298deg); - -moz-transform: rotate(298deg); - -ms-transform: rotate(298deg); - -o-transform: rotate(298deg); - transform: rotate(298deg); -} -.wi-wind.from-119-deg { - -webkit-transform: rotate(299deg); - -moz-transform: rotate(299deg); - -ms-transform: rotate(299deg); - -o-transform: rotate(299deg); - transform: rotate(299deg); -} -.wi-wind.from-120-deg { - -webkit-transform: rotate(300deg); - -moz-transform: rotate(300deg); - -ms-transform: rotate(300deg); - -o-transform: rotate(300deg); - transform: rotate(300deg); -} -.wi-wind.from-121-deg { - -webkit-transform: rotate(301deg); - -moz-transform: rotate(301deg); - -ms-transform: rotate(301deg); - -o-transform: rotate(301deg); - transform: rotate(301deg); -} -.wi-wind.from-122-deg { - -webkit-transform: rotate(302deg); - -moz-transform: rotate(302deg); - -ms-transform: rotate(302deg); - -o-transform: rotate(302deg); - transform: rotate(302deg); -} -.wi-wind.from-123-deg { - -webkit-transform: rotate(303deg); - -moz-transform: rotate(303deg); - -ms-transform: rotate(303deg); - -o-transform: rotate(303deg); - transform: rotate(303deg); -} -.wi-wind.from-124-deg { - -webkit-transform: rotate(304deg); - -moz-transform: rotate(304deg); - -ms-transform: rotate(304deg); - -o-transform: rotate(304deg); - transform: rotate(304deg); -} -.wi-wind.from-125-deg { - -webkit-transform: rotate(305deg); - -moz-transform: rotate(305deg); - -ms-transform: rotate(305deg); - -o-transform: rotate(305deg); - transform: rotate(305deg); -} -.wi-wind.from-126-deg { - -webkit-transform: rotate(306deg); - -moz-transform: rotate(306deg); - -ms-transform: rotate(306deg); - -o-transform: rotate(306deg); - transform: rotate(306deg); -} -.wi-wind.from-127-deg { - -webkit-transform: rotate(307deg); - -moz-transform: rotate(307deg); - -ms-transform: rotate(307deg); - -o-transform: rotate(307deg); - transform: rotate(307deg); -} -.wi-wind.from-128-deg { - -webkit-transform: rotate(308deg); - -moz-transform: rotate(308deg); - -ms-transform: rotate(308deg); - -o-transform: rotate(308deg); - transform: rotate(308deg); -} -.wi-wind.from-129-deg { - -webkit-transform: rotate(309deg); - -moz-transform: rotate(309deg); - -ms-transform: rotate(309deg); - -o-transform: rotate(309deg); - transform: rotate(309deg); -} -.wi-wind.from-130-deg { - -webkit-transform: rotate(310deg); - -moz-transform: rotate(310deg); - -ms-transform: rotate(310deg); - -o-transform: rotate(310deg); - transform: rotate(310deg); -} -.wi-wind.from-131-deg { - -webkit-transform: rotate(311deg); - -moz-transform: rotate(311deg); - -ms-transform: rotate(311deg); - -o-transform: rotate(311deg); - transform: rotate(311deg); -} -.wi-wind.from-132-deg { - -webkit-transform: rotate(312deg); - -moz-transform: rotate(312deg); - -ms-transform: rotate(312deg); - -o-transform: rotate(312deg); - transform: rotate(312deg); -} -.wi-wind.from-133-deg { - -webkit-transform: rotate(313deg); - -moz-transform: rotate(313deg); - -ms-transform: rotate(313deg); - -o-transform: rotate(313deg); - transform: rotate(313deg); -} -.wi-wind.from-134-deg { - -webkit-transform: rotate(314deg); - -moz-transform: rotate(314deg); - -ms-transform: rotate(314deg); - -o-transform: rotate(314deg); - transform: rotate(314deg); -} -.wi-wind.from-135-deg { - -webkit-transform: rotate(315deg); - -moz-transform: rotate(315deg); - -ms-transform: rotate(315deg); - -o-transform: rotate(315deg); - transform: rotate(315deg); -} -.wi-wind.from-136-deg { - -webkit-transform: rotate(316deg); - -moz-transform: rotate(316deg); - -ms-transform: rotate(316deg); - -o-transform: rotate(316deg); - transform: rotate(316deg); -} -.wi-wind.from-137-deg { - -webkit-transform: rotate(317deg); - -moz-transform: rotate(317deg); - -ms-transform: rotate(317deg); - -o-transform: rotate(317deg); - transform: rotate(317deg); -} -.wi-wind.from-138-deg { - -webkit-transform: rotate(318deg); - -moz-transform: rotate(318deg); - -ms-transform: rotate(318deg); - -o-transform: rotate(318deg); - transform: rotate(318deg); -} -.wi-wind.from-139-deg { - -webkit-transform: rotate(319deg); - -moz-transform: rotate(319deg); - -ms-transform: rotate(319deg); - -o-transform: rotate(319deg); - transform: rotate(319deg); -} -.wi-wind.from-140-deg { - -webkit-transform: rotate(320deg); - -moz-transform: rotate(320deg); - -ms-transform: rotate(320deg); - -o-transform: rotate(320deg); - transform: rotate(320deg); -} -.wi-wind.from-141-deg { - -webkit-transform: rotate(321deg); - -moz-transform: rotate(321deg); - -ms-transform: rotate(321deg); - -o-transform: rotate(321deg); - transform: rotate(321deg); -} -.wi-wind.from-142-deg { - -webkit-transform: rotate(322deg); - -moz-transform: rotate(322deg); - -ms-transform: rotate(322deg); - -o-transform: rotate(322deg); - transform: rotate(322deg); -} -.wi-wind.from-143-deg { - -webkit-transform: rotate(323deg); - -moz-transform: rotate(323deg); - -ms-transform: rotate(323deg); - -o-transform: rotate(323deg); - transform: rotate(323deg); -} -.wi-wind.from-144-deg { - -webkit-transform: rotate(324deg); - -moz-transform: rotate(324deg); - -ms-transform: rotate(324deg); - -o-transform: rotate(324deg); - transform: rotate(324deg); -} -.wi-wind.from-145-deg { - -webkit-transform: rotate(325deg); - -moz-transform: rotate(325deg); - -ms-transform: rotate(325deg); - -o-transform: rotate(325deg); - transform: rotate(325deg); -} -.wi-wind.from-146-deg { - -webkit-transform: rotate(326deg); - -moz-transform: rotate(326deg); - -ms-transform: rotate(326deg); - -o-transform: rotate(326deg); - transform: rotate(326deg); -} -.wi-wind.from-147-deg { - -webkit-transform: rotate(327deg); - -moz-transform: rotate(327deg); - -ms-transform: rotate(327deg); - -o-transform: rotate(327deg); - transform: rotate(327deg); -} -.wi-wind.from-148-deg { - -webkit-transform: rotate(328deg); - -moz-transform: rotate(328deg); - -ms-transform: rotate(328deg); - -o-transform: rotate(328deg); - transform: rotate(328deg); -} -.wi-wind.from-149-deg { - -webkit-transform: rotate(329deg); - -moz-transform: rotate(329deg); - -ms-transform: rotate(329deg); - -o-transform: rotate(329deg); - transform: rotate(329deg); -} -.wi-wind.from-150-deg { - -webkit-transform: rotate(330deg); - -moz-transform: rotate(330deg); - -ms-transform: rotate(330deg); - -o-transform: rotate(330deg); - transform: rotate(330deg); -} -.wi-wind.from-151-deg { - -webkit-transform: rotate(331deg); - -moz-transform: rotate(331deg); - -ms-transform: rotate(331deg); - -o-transform: rotate(331deg); - transform: rotate(331deg); -} -.wi-wind.from-152-deg { - -webkit-transform: rotate(332deg); - -moz-transform: rotate(332deg); - -ms-transform: rotate(332deg); - -o-transform: rotate(332deg); - transform: rotate(332deg); -} -.wi-wind.from-153-deg { - -webkit-transform: rotate(333deg); - -moz-transform: rotate(333deg); - -ms-transform: rotate(333deg); - -o-transform: rotate(333deg); - transform: rotate(333deg); -} -.wi-wind.from-154-deg { - -webkit-transform: rotate(334deg); - -moz-transform: rotate(334deg); - -ms-transform: rotate(334deg); - -o-transform: rotate(334deg); - transform: rotate(334deg); -} -.wi-wind.from-155-deg { - -webkit-transform: rotate(335deg); - -moz-transform: rotate(335deg); - -ms-transform: rotate(335deg); - -o-transform: rotate(335deg); - transform: rotate(335deg); -} -.wi-wind.from-156-deg { - -webkit-transform: rotate(336deg); - -moz-transform: rotate(336deg); - -ms-transform: rotate(336deg); - -o-transform: rotate(336deg); - transform: rotate(336deg); -} -.wi-wind.from-157-deg { - -webkit-transform: rotate(337deg); - -moz-transform: rotate(337deg); - -ms-transform: rotate(337deg); - -o-transform: rotate(337deg); - transform: rotate(337deg); -} -.wi-wind.from-158-deg { - -webkit-transform: rotate(338deg); - -moz-transform: rotate(338deg); - -ms-transform: rotate(338deg); - -o-transform: rotate(338deg); - transform: rotate(338deg); -} -.wi-wind.from-159-deg { - -webkit-transform: rotate(339deg); - -moz-transform: rotate(339deg); - -ms-transform: rotate(339deg); - -o-transform: rotate(339deg); - transform: rotate(339deg); -} -.wi-wind.from-160-deg { - -webkit-transform: rotate(340deg); - -moz-transform: rotate(340deg); - -ms-transform: rotate(340deg); - -o-transform: rotate(340deg); - transform: rotate(340deg); -} -.wi-wind.from-161-deg { - -webkit-transform: rotate(341deg); - -moz-transform: rotate(341deg); - -ms-transform: rotate(341deg); - -o-transform: rotate(341deg); - transform: rotate(341deg); -} -.wi-wind.from-162-deg { - -webkit-transform: rotate(342deg); - -moz-transform: rotate(342deg); - -ms-transform: rotate(342deg); - -o-transform: rotate(342deg); - transform: rotate(342deg); -} -.wi-wind.from-163-deg { - -webkit-transform: rotate(343deg); - -moz-transform: rotate(343deg); - -ms-transform: rotate(343deg); - -o-transform: rotate(343deg); - transform: rotate(343deg); -} -.wi-wind.from-164-deg { - -webkit-transform: rotate(344deg); - -moz-transform: rotate(344deg); - -ms-transform: rotate(344deg); - -o-transform: rotate(344deg); - transform: rotate(344deg); -} -.wi-wind.from-165-deg { - -webkit-transform: rotate(345deg); - -moz-transform: rotate(345deg); - -ms-transform: rotate(345deg); - -o-transform: rotate(345deg); - transform: rotate(345deg); -} -.wi-wind.from-166-deg { - -webkit-transform: rotate(346deg); - -moz-transform: rotate(346deg); - -ms-transform: rotate(346deg); - -o-transform: rotate(346deg); - transform: rotate(346deg); -} -.wi-wind.from-167-deg { - -webkit-transform: rotate(347deg); - -moz-transform: rotate(347deg); - -ms-transform: rotate(347deg); - -o-transform: rotate(347deg); - transform: rotate(347deg); -} -.wi-wind.from-168-deg { - -webkit-transform: rotate(348deg); - -moz-transform: rotate(348deg); - -ms-transform: rotate(348deg); - -o-transform: rotate(348deg); - transform: rotate(348deg); -} -.wi-wind.from-169-deg { - -webkit-transform: rotate(349deg); - -moz-transform: rotate(349deg); - -ms-transform: rotate(349deg); - -o-transform: rotate(349deg); - transform: rotate(349deg); -} -.wi-wind.from-170-deg { - -webkit-transform: rotate(350deg); - -moz-transform: rotate(350deg); - -ms-transform: rotate(350deg); - -o-transform: rotate(350deg); - transform: rotate(350deg); -} -.wi-wind.from-171-deg { - -webkit-transform: rotate(351deg); - -moz-transform: rotate(351deg); - -ms-transform: rotate(351deg); - -o-transform: rotate(351deg); - transform: rotate(351deg); -} -.wi-wind.from-172-deg { - -webkit-transform: rotate(352deg); - -moz-transform: rotate(352deg); - -ms-transform: rotate(352deg); - -o-transform: rotate(352deg); - transform: rotate(352deg); -} -.wi-wind.from-173-deg { - -webkit-transform: rotate(353deg); - -moz-transform: rotate(353deg); - -ms-transform: rotate(353deg); - -o-transform: rotate(353deg); - transform: rotate(353deg); -} -.wi-wind.from-174-deg { - -webkit-transform: rotate(354deg); - -moz-transform: rotate(354deg); - -ms-transform: rotate(354deg); - -o-transform: rotate(354deg); - transform: rotate(354deg); -} -.wi-wind.from-175-deg { - -webkit-transform: rotate(355deg); - -moz-transform: rotate(355deg); - -ms-transform: rotate(355deg); - -o-transform: rotate(355deg); - transform: rotate(355deg); -} -.wi-wind.from-176-deg { - -webkit-transform: rotate(356deg); - -moz-transform: rotate(356deg); - -ms-transform: rotate(356deg); - -o-transform: rotate(356deg); - transform: rotate(356deg); -} -.wi-wind.from-177-deg { - -webkit-transform: rotate(357deg); - -moz-transform: rotate(357deg); - -ms-transform: rotate(357deg); - -o-transform: rotate(357deg); - transform: rotate(357deg); -} -.wi-wind.from-178-deg { - -webkit-transform: rotate(358deg); - -moz-transform: rotate(358deg); - -ms-transform: rotate(358deg); - -o-transform: rotate(358deg); - transform: rotate(358deg); -} -.wi-wind.from-179-deg { - -webkit-transform: rotate(359deg); - -moz-transform: rotate(359deg); - -ms-transform: rotate(359deg); - -o-transform: rotate(359deg); - transform: rotate(359deg); -} -.wi-wind.from-180-deg { - -webkit-transform: rotate(0deg); - -moz-transform: rotate(0deg); - -ms-transform: rotate(0deg); - -o-transform: rotate(0deg); - transform: rotate(0deg); -} -.wi-wind.from-181-deg { - -webkit-transform: rotate(1deg); - -moz-transform: rotate(1deg); - -ms-transform: rotate(1deg); - -o-transform: rotate(1deg); - transform: rotate(1deg); -} -.wi-wind.from-182-deg { - -webkit-transform: rotate(2deg); - -moz-transform: rotate(2deg); - -ms-transform: rotate(2deg); - -o-transform: rotate(2deg); - transform: rotate(2deg); -} -.wi-wind.from-183-deg { - -webkit-transform: rotate(3deg); - -moz-transform: rotate(3deg); - -ms-transform: rotate(3deg); - -o-transform: rotate(3deg); - transform: rotate(3deg); -} -.wi-wind.from-184-deg { - -webkit-transform: rotate(4deg); - -moz-transform: rotate(4deg); - -ms-transform: rotate(4deg); - -o-transform: rotate(4deg); - transform: rotate(4deg); -} -.wi-wind.from-185-deg { - -webkit-transform: rotate(5deg); - -moz-transform: rotate(5deg); - -ms-transform: rotate(5deg); - -o-transform: rotate(5deg); - transform: rotate(5deg); -} -.wi-wind.from-186-deg { - -webkit-transform: rotate(6deg); - -moz-transform: rotate(6deg); - -ms-transform: rotate(6deg); - -o-transform: rotate(6deg); - transform: rotate(6deg); -} -.wi-wind.from-187-deg { - -webkit-transform: rotate(7deg); - -moz-transform: rotate(7deg); - -ms-transform: rotate(7deg); - -o-transform: rotate(7deg); - transform: rotate(7deg); -} -.wi-wind.from-188-deg { - -webkit-transform: rotate(8deg); - -moz-transform: rotate(8deg); - -ms-transform: rotate(8deg); - -o-transform: rotate(8deg); - transform: rotate(8deg); -} -.wi-wind.from-189-deg { - -webkit-transform: rotate(9deg); - -moz-transform: rotate(9deg); - -ms-transform: rotate(9deg); - -o-transform: rotate(9deg); - transform: rotate(9deg); -} -.wi-wind.from-190-deg { - -webkit-transform: rotate(10deg); - -moz-transform: rotate(10deg); - -ms-transform: rotate(10deg); - -o-transform: rotate(10deg); - transform: rotate(10deg); -} -.wi-wind.from-191-deg { - -webkit-transform: rotate(11deg); - -moz-transform: rotate(11deg); - -ms-transform: rotate(11deg); - -o-transform: rotate(11deg); - transform: rotate(11deg); -} -.wi-wind.from-192-deg { - -webkit-transform: rotate(12deg); - -moz-transform: rotate(12deg); - -ms-transform: rotate(12deg); - -o-transform: rotate(12deg); - transform: rotate(12deg); -} -.wi-wind.from-193-deg { - -webkit-transform: rotate(13deg); - -moz-transform: rotate(13deg); - -ms-transform: rotate(13deg); - -o-transform: rotate(13deg); - transform: rotate(13deg); -} -.wi-wind.from-194-deg { - -webkit-transform: rotate(14deg); - -moz-transform: rotate(14deg); - -ms-transform: rotate(14deg); - -o-transform: rotate(14deg); - transform: rotate(14deg); -} -.wi-wind.from-195-deg { - -webkit-transform: rotate(15deg); - -moz-transform: rotate(15deg); - -ms-transform: rotate(15deg); - -o-transform: rotate(15deg); - transform: rotate(15deg); -} -.wi-wind.from-196-deg { - -webkit-transform: rotate(16deg); - -moz-transform: rotate(16deg); - -ms-transform: rotate(16deg); - -o-transform: rotate(16deg); - transform: rotate(16deg); -} -.wi-wind.from-197-deg { - -webkit-transform: rotate(17deg); - -moz-transform: rotate(17deg); - -ms-transform: rotate(17deg); - -o-transform: rotate(17deg); - transform: rotate(17deg); -} -.wi-wind.from-198-deg { - -webkit-transform: rotate(18deg); - -moz-transform: rotate(18deg); - -ms-transform: rotate(18deg); - -o-transform: rotate(18deg); - transform: rotate(18deg); -} -.wi-wind.from-199-deg { - -webkit-transform: rotate(19deg); - -moz-transform: rotate(19deg); - -ms-transform: rotate(19deg); - -o-transform: rotate(19deg); - transform: rotate(19deg); -} -.wi-wind.from-200-deg { - -webkit-transform: rotate(20deg); - -moz-transform: rotate(20deg); - -ms-transform: rotate(20deg); - -o-transform: rotate(20deg); - transform: rotate(20deg); -} -.wi-wind.from-201-deg { - -webkit-transform: rotate(21deg); - -moz-transform: rotate(21deg); - -ms-transform: rotate(21deg); - -o-transform: rotate(21deg); - transform: rotate(21deg); -} -.wi-wind.from-202-deg { - -webkit-transform: rotate(22deg); - -moz-transform: rotate(22deg); - -ms-transform: rotate(22deg); - -o-transform: rotate(22deg); - transform: rotate(22deg); -} -.wi-wind.from-203-deg { - -webkit-transform: rotate(23deg); - -moz-transform: rotate(23deg); - -ms-transform: rotate(23deg); - -o-transform: rotate(23deg); - transform: rotate(23deg); -} -.wi-wind.from-204-deg { - -webkit-transform: rotate(24deg); - -moz-transform: rotate(24deg); - -ms-transform: rotate(24deg); - -o-transform: rotate(24deg); - transform: rotate(24deg); -} -.wi-wind.from-205-deg { - -webkit-transform: rotate(25deg); - -moz-transform: rotate(25deg); - -ms-transform: rotate(25deg); - -o-transform: rotate(25deg); - transform: rotate(25deg); -} -.wi-wind.from-206-deg { - -webkit-transform: rotate(26deg); - -moz-transform: rotate(26deg); - -ms-transform: rotate(26deg); - -o-transform: rotate(26deg); - transform: rotate(26deg); -} -.wi-wind.from-207-deg { - -webkit-transform: rotate(27deg); - -moz-transform: rotate(27deg); - -ms-transform: rotate(27deg); - -o-transform: rotate(27deg); - transform: rotate(27deg); -} -.wi-wind.from-208-deg { - -webkit-transform: rotate(28deg); - -moz-transform: rotate(28deg); - -ms-transform: rotate(28deg); - -o-transform: rotate(28deg); - transform: rotate(28deg); -} -.wi-wind.from-209-deg { - -webkit-transform: rotate(29deg); - -moz-transform: rotate(29deg); - -ms-transform: rotate(29deg); - -o-transform: rotate(29deg); - transform: rotate(29deg); -} -.wi-wind.from-210-deg { - -webkit-transform: rotate(30deg); - -moz-transform: rotate(30deg); - -ms-transform: rotate(30deg); - -o-transform: rotate(30deg); - transform: rotate(30deg); -} -.wi-wind.from-211-deg { - -webkit-transform: rotate(31deg); - -moz-transform: rotate(31deg); - -ms-transform: rotate(31deg); - -o-transform: rotate(31deg); - transform: rotate(31deg); -} -.wi-wind.from-212-deg { - -webkit-transform: rotate(32deg); - -moz-transform: rotate(32deg); - -ms-transform: rotate(32deg); - -o-transform: rotate(32deg); - transform: rotate(32deg); -} -.wi-wind.from-213-deg { - -webkit-transform: rotate(33deg); - -moz-transform: rotate(33deg); - -ms-transform: rotate(33deg); - -o-transform: rotate(33deg); - transform: rotate(33deg); -} -.wi-wind.from-214-deg { - -webkit-transform: rotate(34deg); - -moz-transform: rotate(34deg); - -ms-transform: rotate(34deg); - -o-transform: rotate(34deg); - transform: rotate(34deg); -} -.wi-wind.from-215-deg { - -webkit-transform: rotate(35deg); - -moz-transform: rotate(35deg); - -ms-transform: rotate(35deg); - -o-transform: rotate(35deg); - transform: rotate(35deg); -} -.wi-wind.from-216-deg { - -webkit-transform: rotate(36deg); - -moz-transform: rotate(36deg); - -ms-transform: rotate(36deg); - -o-transform: rotate(36deg); - transform: rotate(36deg); -} -.wi-wind.from-217-deg { - -webkit-transform: rotate(37deg); - -moz-transform: rotate(37deg); - -ms-transform: rotate(37deg); - -o-transform: rotate(37deg); - transform: rotate(37deg); -} -.wi-wind.from-218-deg { - -webkit-transform: rotate(38deg); - -moz-transform: rotate(38deg); - -ms-transform: rotate(38deg); - -o-transform: rotate(38deg); - transform: rotate(38deg); -} -.wi-wind.from-219-deg { - -webkit-transform: rotate(39deg); - -moz-transform: rotate(39deg); - -ms-transform: rotate(39deg); - -o-transform: rotate(39deg); - transform: rotate(39deg); -} -.wi-wind.from-220-deg { - -webkit-transform: rotate(40deg); - -moz-transform: rotate(40deg); - -ms-transform: rotate(40deg); - -o-transform: rotate(40deg); - transform: rotate(40deg); -} -.wi-wind.from-221-deg { - -webkit-transform: rotate(41deg); - -moz-transform: rotate(41deg); - -ms-transform: rotate(41deg); - -o-transform: rotate(41deg); - transform: rotate(41deg); -} -.wi-wind.from-222-deg { - -webkit-transform: rotate(42deg); - -moz-transform: rotate(42deg); - -ms-transform: rotate(42deg); - -o-transform: rotate(42deg); - transform: rotate(42deg); -} -.wi-wind.from-223-deg { - -webkit-transform: rotate(43deg); - -moz-transform: rotate(43deg); - -ms-transform: rotate(43deg); - -o-transform: rotate(43deg); - transform: rotate(43deg); -} -.wi-wind.from-224-deg { - -webkit-transform: rotate(44deg); - -moz-transform: rotate(44deg); - -ms-transform: rotate(44deg); - -o-transform: rotate(44deg); - transform: rotate(44deg); -} -.wi-wind.from-225-deg { - -webkit-transform: rotate(45deg); - -moz-transform: rotate(45deg); - -ms-transform: rotate(45deg); - -o-transform: rotate(45deg); - transform: rotate(45deg); -} -.wi-wind.from-226-deg { - -webkit-transform: rotate(46deg); - -moz-transform: rotate(46deg); - -ms-transform: rotate(46deg); - -o-transform: rotate(46deg); - transform: rotate(46deg); -} -.wi-wind.from-227-deg { - -webkit-transform: rotate(47deg); - -moz-transform: rotate(47deg); - -ms-transform: rotate(47deg); - -o-transform: rotate(47deg); - transform: rotate(47deg); -} -.wi-wind.from-228-deg { - -webkit-transform: rotate(48deg); - -moz-transform: rotate(48deg); - -ms-transform: rotate(48deg); - -o-transform: rotate(48deg); - transform: rotate(48deg); -} -.wi-wind.from-229-deg { - -webkit-transform: rotate(49deg); - -moz-transform: rotate(49deg); - -ms-transform: rotate(49deg); - -o-transform: rotate(49deg); - transform: rotate(49deg); -} -.wi-wind.from-230-deg { - -webkit-transform: rotate(50deg); - -moz-transform: rotate(50deg); - -ms-transform: rotate(50deg); - -o-transform: rotate(50deg); - transform: rotate(50deg); -} -.wi-wind.from-231-deg { - -webkit-transform: rotate(51deg); - -moz-transform: rotate(51deg); - -ms-transform: rotate(51deg); - -o-transform: rotate(51deg); - transform: rotate(51deg); -} -.wi-wind.from-232-deg { - -webkit-transform: rotate(52deg); - -moz-transform: rotate(52deg); - -ms-transform: rotate(52deg); - -o-transform: rotate(52deg); - transform: rotate(52deg); -} -.wi-wind.from-233-deg { - -webkit-transform: rotate(53deg); - -moz-transform: rotate(53deg); - -ms-transform: rotate(53deg); - -o-transform: rotate(53deg); - transform: rotate(53deg); -} -.wi-wind.from-234-deg { - -webkit-transform: rotate(54deg); - -moz-transform: rotate(54deg); - -ms-transform: rotate(54deg); - -o-transform: rotate(54deg); - transform: rotate(54deg); -} -.wi-wind.from-235-deg { - -webkit-transform: rotate(55deg); - -moz-transform: rotate(55deg); - -ms-transform: rotate(55deg); - -o-transform: rotate(55deg); - transform: rotate(55deg); -} -.wi-wind.from-236-deg { - -webkit-transform: rotate(56deg); - -moz-transform: rotate(56deg); - -ms-transform: rotate(56deg); - -o-transform: rotate(56deg); - transform: rotate(56deg); -} -.wi-wind.from-237-deg { - -webkit-transform: rotate(57deg); - -moz-transform: rotate(57deg); - -ms-transform: rotate(57deg); - -o-transform: rotate(57deg); - transform: rotate(57deg); -} -.wi-wind.from-238-deg { - -webkit-transform: rotate(58deg); - -moz-transform: rotate(58deg); - -ms-transform: rotate(58deg); - -o-transform: rotate(58deg); - transform: rotate(58deg); -} -.wi-wind.from-239-deg { - -webkit-transform: rotate(59deg); - -moz-transform: rotate(59deg); - -ms-transform: rotate(59deg); - -o-transform: rotate(59deg); - transform: rotate(59deg); -} -.wi-wind.from-240-deg { - -webkit-transform: rotate(60deg); - -moz-transform: rotate(60deg); - -ms-transform: rotate(60deg); - -o-transform: rotate(60deg); - transform: rotate(60deg); -} -.wi-wind.from-241-deg { - -webkit-transform: rotate(61deg); - -moz-transform: rotate(61deg); - -ms-transform: rotate(61deg); - -o-transform: rotate(61deg); - transform: rotate(61deg); -} -.wi-wind.from-242-deg { - -webkit-transform: rotate(62deg); - -moz-transform: rotate(62deg); - -ms-transform: rotate(62deg); - -o-transform: rotate(62deg); - transform: rotate(62deg); -} -.wi-wind.from-243-deg { - -webkit-transform: rotate(63deg); - -moz-transform: rotate(63deg); - -ms-transform: rotate(63deg); - -o-transform: rotate(63deg); - transform: rotate(63deg); -} -.wi-wind.from-244-deg { - -webkit-transform: rotate(64deg); - -moz-transform: rotate(64deg); - -ms-transform: rotate(64deg); - -o-transform: rotate(64deg); - transform: rotate(64deg); -} -.wi-wind.from-245-deg { - -webkit-transform: rotate(65deg); - -moz-transform: rotate(65deg); - -ms-transform: rotate(65deg); - -o-transform: rotate(65deg); - transform: rotate(65deg); -} -.wi-wind.from-246-deg { - -webkit-transform: rotate(66deg); - -moz-transform: rotate(66deg); - -ms-transform: rotate(66deg); - -o-transform: rotate(66deg); - transform: rotate(66deg); -} -.wi-wind.from-247-deg { - -webkit-transform: rotate(67deg); - -moz-transform: rotate(67deg); - -ms-transform: rotate(67deg); - -o-transform: rotate(67deg); - transform: rotate(67deg); -} -.wi-wind.from-248-deg { - -webkit-transform: rotate(68deg); - -moz-transform: rotate(68deg); - -ms-transform: rotate(68deg); - -o-transform: rotate(68deg); - transform: rotate(68deg); -} -.wi-wind.from-249-deg { - -webkit-transform: rotate(69deg); - -moz-transform: rotate(69deg); - -ms-transform: rotate(69deg); - -o-transform: rotate(69deg); - transform: rotate(69deg); -} -.wi-wind.from-250-deg { - -webkit-transform: rotate(70deg); - -moz-transform: rotate(70deg); - -ms-transform: rotate(70deg); - -o-transform: rotate(70deg); - transform: rotate(70deg); -} -.wi-wind.from-251-deg { - -webkit-transform: rotate(71deg); - -moz-transform: rotate(71deg); - -ms-transform: rotate(71deg); - -o-transform: rotate(71deg); - transform: rotate(71deg); -} -.wi-wind.from-252-deg { - -webkit-transform: rotate(72deg); - -moz-transform: rotate(72deg); - -ms-transform: rotate(72deg); - -o-transform: rotate(72deg); - transform: rotate(72deg); -} -.wi-wind.from-253-deg { - -webkit-transform: rotate(73deg); - -moz-transform: rotate(73deg); - -ms-transform: rotate(73deg); - -o-transform: rotate(73deg); - transform: rotate(73deg); -} -.wi-wind.from-254-deg { - -webkit-transform: rotate(74deg); - -moz-transform: rotate(74deg); - -ms-transform: rotate(74deg); - -o-transform: rotate(74deg); - transform: rotate(74deg); -} -.wi-wind.from-255-deg { - -webkit-transform: rotate(75deg); - -moz-transform: rotate(75deg); - -ms-transform: rotate(75deg); - -o-transform: rotate(75deg); - transform: rotate(75deg); -} -.wi-wind.from-256-deg { - -webkit-transform: rotate(76deg); - -moz-transform: rotate(76deg); - -ms-transform: rotate(76deg); - -o-transform: rotate(76deg); - transform: rotate(76deg); -} -.wi-wind.from-257-deg { - -webkit-transform: rotate(77deg); - -moz-transform: rotate(77deg); - -ms-transform: rotate(77deg); - -o-transform: rotate(77deg); - transform: rotate(77deg); -} -.wi-wind.from-258-deg { - -webkit-transform: rotate(78deg); - -moz-transform: rotate(78deg); - -ms-transform: rotate(78deg); - -o-transform: rotate(78deg); - transform: rotate(78deg); -} -.wi-wind.from-259-deg { - -webkit-transform: rotate(79deg); - -moz-transform: rotate(79deg); - -ms-transform: rotate(79deg); - -o-transform: rotate(79deg); - transform: rotate(79deg); -} -.wi-wind.from-260-deg { - -webkit-transform: rotate(80deg); - -moz-transform: rotate(80deg); - -ms-transform: rotate(80deg); - -o-transform: rotate(80deg); - transform: rotate(80deg); -} -.wi-wind.from-261-deg { - -webkit-transform: rotate(81deg); - -moz-transform: rotate(81deg); - -ms-transform: rotate(81deg); - -o-transform: rotate(81deg); - transform: rotate(81deg); -} -.wi-wind.from-262-deg { - -webkit-transform: rotate(82deg); - -moz-transform: rotate(82deg); - -ms-transform: rotate(82deg); - -o-transform: rotate(82deg); - transform: rotate(82deg); -} -.wi-wind.from-263-deg { - -webkit-transform: rotate(83deg); - -moz-transform: rotate(83deg); - -ms-transform: rotate(83deg); - -o-transform: rotate(83deg); - transform: rotate(83deg); -} -.wi-wind.from-264-deg { - -webkit-transform: rotate(84deg); - -moz-transform: rotate(84deg); - -ms-transform: rotate(84deg); - -o-transform: rotate(84deg); - transform: rotate(84deg); -} -.wi-wind.from-265-deg { - -webkit-transform: rotate(85deg); - -moz-transform: rotate(85deg); - -ms-transform: rotate(85deg); - -o-transform: rotate(85deg); - transform: rotate(85deg); -} -.wi-wind.from-266-deg { - -webkit-transform: rotate(86deg); - -moz-transform: rotate(86deg); - -ms-transform: rotate(86deg); - -o-transform: rotate(86deg); - transform: rotate(86deg); -} -.wi-wind.from-267-deg { - -webkit-transform: rotate(87deg); - -moz-transform: rotate(87deg); - -ms-transform: rotate(87deg); - -o-transform: rotate(87deg); - transform: rotate(87deg); -} -.wi-wind.from-268-deg { - -webkit-transform: rotate(88deg); - -moz-transform: rotate(88deg); - -ms-transform: rotate(88deg); - -o-transform: rotate(88deg); - transform: rotate(88deg); -} -.wi-wind.from-269-deg { - -webkit-transform: rotate(89deg); - -moz-transform: rotate(89deg); - -ms-transform: rotate(89deg); - -o-transform: rotate(89deg); - transform: rotate(89deg); -} -.wi-wind.from-270-deg { - -webkit-transform: rotate(90deg); - -moz-transform: rotate(90deg); - -ms-transform: rotate(90deg); - -o-transform: rotate(90deg); - transform: rotate(90deg); -} -.wi-wind.from-271-deg { - -webkit-transform: rotate(91deg); - -moz-transform: rotate(91deg); - -ms-transform: rotate(91deg); - -o-transform: rotate(91deg); - transform: rotate(91deg); -} -.wi-wind.from-272-deg { - -webkit-transform: rotate(92deg); - -moz-transform: rotate(92deg); - -ms-transform: rotate(92deg); - -o-transform: rotate(92deg); - transform: rotate(92deg); -} -.wi-wind.from-273-deg { - -webkit-transform: rotate(93deg); - -moz-transform: rotate(93deg); - -ms-transform: rotate(93deg); - -o-transform: rotate(93deg); - transform: rotate(93deg); -} -.wi-wind.from-274-deg { - -webkit-transform: rotate(94deg); - -moz-transform: rotate(94deg); - -ms-transform: rotate(94deg); - -o-transform: rotate(94deg); - transform: rotate(94deg); -} -.wi-wind.from-275-deg { - -webkit-transform: rotate(95deg); - -moz-transform: rotate(95deg); - -ms-transform: rotate(95deg); - -o-transform: rotate(95deg); - transform: rotate(95deg); -} -.wi-wind.from-276-deg { - -webkit-transform: rotate(96deg); - -moz-transform: rotate(96deg); - -ms-transform: rotate(96deg); - -o-transform: rotate(96deg); - transform: rotate(96deg); -} -.wi-wind.from-277-deg { - -webkit-transform: rotate(97deg); - -moz-transform: rotate(97deg); - -ms-transform: rotate(97deg); - -o-transform: rotate(97deg); - transform: rotate(97deg); -} -.wi-wind.from-278-deg { - -webkit-transform: rotate(98deg); - -moz-transform: rotate(98deg); - -ms-transform: rotate(98deg); - -o-transform: rotate(98deg); - transform: rotate(98deg); -} -.wi-wind.from-279-deg { - -webkit-transform: rotate(99deg); - -moz-transform: rotate(99deg); - -ms-transform: rotate(99deg); - -o-transform: rotate(99deg); - transform: rotate(99deg); -} -.wi-wind.from-280-deg { - -webkit-transform: rotate(100deg); - -moz-transform: rotate(100deg); - -ms-transform: rotate(100deg); - -o-transform: rotate(100deg); - transform: rotate(100deg); -} -.wi-wind.from-281-deg { - -webkit-transform: rotate(101deg); - -moz-transform: rotate(101deg); - -ms-transform: rotate(101deg); - -o-transform: rotate(101deg); - transform: rotate(101deg); -} -.wi-wind.from-282-deg { - -webkit-transform: rotate(102deg); - -moz-transform: rotate(102deg); - -ms-transform: rotate(102deg); - -o-transform: rotate(102deg); - transform: rotate(102deg); -} -.wi-wind.from-283-deg { - -webkit-transform: rotate(103deg); - -moz-transform: rotate(103deg); - -ms-transform: rotate(103deg); - -o-transform: rotate(103deg); - transform: rotate(103deg); -} -.wi-wind.from-284-deg { - -webkit-transform: rotate(104deg); - -moz-transform: rotate(104deg); - -ms-transform: rotate(104deg); - -o-transform: rotate(104deg); - transform: rotate(104deg); -} -.wi-wind.from-285-deg { - -webkit-transform: rotate(105deg); - -moz-transform: rotate(105deg); - -ms-transform: rotate(105deg); - -o-transform: rotate(105deg); - transform: rotate(105deg); -} -.wi-wind.from-286-deg { - -webkit-transform: rotate(106deg); - -moz-transform: rotate(106deg); - -ms-transform: rotate(106deg); - -o-transform: rotate(106deg); - transform: rotate(106deg); -} -.wi-wind.from-287-deg { - -webkit-transform: rotate(107deg); - -moz-transform: rotate(107deg); - -ms-transform: rotate(107deg); - -o-transform: rotate(107deg); - transform: rotate(107deg); -} -.wi-wind.from-288-deg { - -webkit-transform: rotate(108deg); - -moz-transform: rotate(108deg); - -ms-transform: rotate(108deg); - -o-transform: rotate(108deg); - transform: rotate(108deg); -} -.wi-wind.from-289-deg { - -webkit-transform: rotate(109deg); - -moz-transform: rotate(109deg); - -ms-transform: rotate(109deg); - -o-transform: rotate(109deg); - transform: rotate(109deg); -} -.wi-wind.from-290-deg { - -webkit-transform: rotate(110deg); - -moz-transform: rotate(110deg); - -ms-transform: rotate(110deg); - -o-transform: rotate(110deg); - transform: rotate(110deg); -} -.wi-wind.from-291-deg { - -webkit-transform: rotate(111deg); - -moz-transform: rotate(111deg); - -ms-transform: rotate(111deg); - -o-transform: rotate(111deg); - transform: rotate(111deg); -} -.wi-wind.from-292-deg { - -webkit-transform: rotate(112deg); - -moz-transform: rotate(112deg); - -ms-transform: rotate(112deg); - -o-transform: rotate(112deg); - transform: rotate(112deg); -} -.wi-wind.from-293-deg { - -webkit-transform: rotate(113deg); - -moz-transform: rotate(113deg); - -ms-transform: rotate(113deg); - -o-transform: rotate(113deg); - transform: rotate(113deg); -} -.wi-wind.from-294-deg { - -webkit-transform: rotate(114deg); - -moz-transform: rotate(114deg); - -ms-transform: rotate(114deg); - -o-transform: rotate(114deg); - transform: rotate(114deg); -} -.wi-wind.from-295-deg { - -webkit-transform: rotate(115deg); - -moz-transform: rotate(115deg); - -ms-transform: rotate(115deg); - -o-transform: rotate(115deg); - transform: rotate(115deg); -} -.wi-wind.from-296-deg { - -webkit-transform: rotate(116deg); - -moz-transform: rotate(116deg); - -ms-transform: rotate(116deg); - -o-transform: rotate(116deg); - transform: rotate(116deg); -} -.wi-wind.from-297-deg { - -webkit-transform: rotate(117deg); - -moz-transform: rotate(117deg); - -ms-transform: rotate(117deg); - -o-transform: rotate(117deg); - transform: rotate(117deg); -} -.wi-wind.from-298-deg { - -webkit-transform: rotate(118deg); - -moz-transform: rotate(118deg); - -ms-transform: rotate(118deg); - -o-transform: rotate(118deg); - transform: rotate(118deg); -} -.wi-wind.from-299-deg { - -webkit-transform: rotate(119deg); - -moz-transform: rotate(119deg); - -ms-transform: rotate(119deg); - -o-transform: rotate(119deg); - transform: rotate(119deg); -} -.wi-wind.from-300-deg { - -webkit-transform: rotate(120deg); - -moz-transform: rotate(120deg); - -ms-transform: rotate(120deg); - -o-transform: rotate(120deg); - transform: rotate(120deg); -} -.wi-wind.from-301-deg { - -webkit-transform: rotate(121deg); - -moz-transform: rotate(121deg); - -ms-transform: rotate(121deg); - -o-transform: rotate(121deg); - transform: rotate(121deg); -} -.wi-wind.from-302-deg { - -webkit-transform: rotate(122deg); - -moz-transform: rotate(122deg); - -ms-transform: rotate(122deg); - -o-transform: rotate(122deg); - transform: rotate(122deg); -} -.wi-wind.from-303-deg { - -webkit-transform: rotate(123deg); - -moz-transform: rotate(123deg); - -ms-transform: rotate(123deg); - -o-transform: rotate(123deg); - transform: rotate(123deg); -} -.wi-wind.from-304-deg { - -webkit-transform: rotate(124deg); - -moz-transform: rotate(124deg); - -ms-transform: rotate(124deg); - -o-transform: rotate(124deg); - transform: rotate(124deg); -} -.wi-wind.from-305-deg { - -webkit-transform: rotate(125deg); - -moz-transform: rotate(125deg); - -ms-transform: rotate(125deg); - -o-transform: rotate(125deg); - transform: rotate(125deg); -} -.wi-wind.from-306-deg { - -webkit-transform: rotate(126deg); - -moz-transform: rotate(126deg); - -ms-transform: rotate(126deg); - -o-transform: rotate(126deg); - transform: rotate(126deg); -} -.wi-wind.from-307-deg { - -webkit-transform: rotate(127deg); - -moz-transform: rotate(127deg); - -ms-transform: rotate(127deg); - -o-transform: rotate(127deg); - transform: rotate(127deg); -} -.wi-wind.from-308-deg { - -webkit-transform: rotate(128deg); - -moz-transform: rotate(128deg); - -ms-transform: rotate(128deg); - -o-transform: rotate(128deg); - transform: rotate(128deg); -} -.wi-wind.from-309-deg { - -webkit-transform: rotate(129deg); - -moz-transform: rotate(129deg); - -ms-transform: rotate(129deg); - -o-transform: rotate(129deg); - transform: rotate(129deg); -} -.wi-wind.from-310-deg { - -webkit-transform: rotate(130deg); - -moz-transform: rotate(130deg); - -ms-transform: rotate(130deg); - -o-transform: rotate(130deg); - transform: rotate(130deg); -} -.wi-wind.from-311-deg { - -webkit-transform: rotate(131deg); - -moz-transform: rotate(131deg); - -ms-transform: rotate(131deg); - -o-transform: rotate(131deg); - transform: rotate(131deg); -} -.wi-wind.from-312-deg { - -webkit-transform: rotate(132deg); - -moz-transform: rotate(132deg); - -ms-transform: rotate(132deg); - -o-transform: rotate(132deg); - transform: rotate(132deg); -} -.wi-wind.from-313-deg { - -webkit-transform: rotate(133deg); - -moz-transform: rotate(133deg); - -ms-transform: rotate(133deg); - -o-transform: rotate(133deg); - transform: rotate(133deg); -} -.wi-wind.from-314-deg { - -webkit-transform: rotate(134deg); - -moz-transform: rotate(134deg); - -ms-transform: rotate(134deg); - -o-transform: rotate(134deg); - transform: rotate(134deg); -} -.wi-wind.from-315-deg { - -webkit-transform: rotate(135deg); - -moz-transform: rotate(135deg); - -ms-transform: rotate(135deg); - -o-transform: rotate(135deg); - transform: rotate(135deg); -} -.wi-wind.from-316-deg { - -webkit-transform: rotate(136deg); - -moz-transform: rotate(136deg); - -ms-transform: rotate(136deg); - -o-transform: rotate(136deg); - transform: rotate(136deg); -} -.wi-wind.from-317-deg { - -webkit-transform: rotate(137deg); - -moz-transform: rotate(137deg); - -ms-transform: rotate(137deg); - -o-transform: rotate(137deg); - transform: rotate(137deg); -} -.wi-wind.from-318-deg { - -webkit-transform: rotate(138deg); - -moz-transform: rotate(138deg); - -ms-transform: rotate(138deg); - -o-transform: rotate(138deg); - transform: rotate(138deg); -} -.wi-wind.from-319-deg { - -webkit-transform: rotate(139deg); - -moz-transform: rotate(139deg); - -ms-transform: rotate(139deg); - -o-transform: rotate(139deg); - transform: rotate(139deg); -} -.wi-wind.from-320-deg { - -webkit-transform: rotate(140deg); - -moz-transform: rotate(140deg); - -ms-transform: rotate(140deg); - -o-transform: rotate(140deg); - transform: rotate(140deg); -} -.wi-wind.from-321-deg { - -webkit-transform: rotate(141deg); - -moz-transform: rotate(141deg); - -ms-transform: rotate(141deg); - -o-transform: rotate(141deg); - transform: rotate(141deg); -} -.wi-wind.from-322-deg { - -webkit-transform: rotate(142deg); - -moz-transform: rotate(142deg); - -ms-transform: rotate(142deg); - -o-transform: rotate(142deg); - transform: rotate(142deg); -} -.wi-wind.from-323-deg { - -webkit-transform: rotate(143deg); - -moz-transform: rotate(143deg); - -ms-transform: rotate(143deg); - -o-transform: rotate(143deg); - transform: rotate(143deg); -} -.wi-wind.from-324-deg { - -webkit-transform: rotate(144deg); - -moz-transform: rotate(144deg); - -ms-transform: rotate(144deg); - -o-transform: rotate(144deg); - transform: rotate(144deg); -} -.wi-wind.from-325-deg { - -webkit-transform: rotate(145deg); - -moz-transform: rotate(145deg); - -ms-transform: rotate(145deg); - -o-transform: rotate(145deg); - transform: rotate(145deg); -} -.wi-wind.from-326-deg { - -webkit-transform: rotate(146deg); - -moz-transform: rotate(146deg); - -ms-transform: rotate(146deg); - -o-transform: rotate(146deg); - transform: rotate(146deg); -} -.wi-wind.from-327-deg { - -webkit-transform: rotate(147deg); - -moz-transform: rotate(147deg); - -ms-transform: rotate(147deg); - -o-transform: rotate(147deg); - transform: rotate(147deg); -} -.wi-wind.from-328-deg { - -webkit-transform: rotate(148deg); - -moz-transform: rotate(148deg); - -ms-transform: rotate(148deg); - -o-transform: rotate(148deg); - transform: rotate(148deg); -} -.wi-wind.from-329-deg { - -webkit-transform: rotate(149deg); - -moz-transform: rotate(149deg); - -ms-transform: rotate(149deg); - -o-transform: rotate(149deg); - transform: rotate(149deg); -} -.wi-wind.from-330-deg { - -webkit-transform: rotate(150deg); - -moz-transform: rotate(150deg); - -ms-transform: rotate(150deg); - -o-transform: rotate(150deg); - transform: rotate(150deg); -} -.wi-wind.from-331-deg { - -webkit-transform: rotate(151deg); - -moz-transform: rotate(151deg); - -ms-transform: rotate(151deg); - -o-transform: rotate(151deg); - transform: rotate(151deg); -} -.wi-wind.from-332-deg { - -webkit-transform: rotate(152deg); - -moz-transform: rotate(152deg); - -ms-transform: rotate(152deg); - -o-transform: rotate(152deg); - transform: rotate(152deg); -} -.wi-wind.from-333-deg { - -webkit-transform: rotate(153deg); - -moz-transform: rotate(153deg); - -ms-transform: rotate(153deg); - -o-transform: rotate(153deg); - transform: rotate(153deg); -} -.wi-wind.from-334-deg { - -webkit-transform: rotate(154deg); - -moz-transform: rotate(154deg); - -ms-transform: rotate(154deg); - -o-transform: rotate(154deg); - transform: rotate(154deg); -} -.wi-wind.from-335-deg { - -webkit-transform: rotate(155deg); - -moz-transform: rotate(155deg); - -ms-transform: rotate(155deg); - -o-transform: rotate(155deg); - transform: rotate(155deg); -} -.wi-wind.from-336-deg { - -webkit-transform: rotate(156deg); - -moz-transform: rotate(156deg); - -ms-transform: rotate(156deg); - -o-transform: rotate(156deg); - transform: rotate(156deg); -} -.wi-wind.from-337-deg { - -webkit-transform: rotate(157deg); - -moz-transform: rotate(157deg); - -ms-transform: rotate(157deg); - -o-transform: rotate(157deg); - transform: rotate(157deg); -} -.wi-wind.from-338-deg { - -webkit-transform: rotate(158deg); - -moz-transform: rotate(158deg); - -ms-transform: rotate(158deg); - -o-transform: rotate(158deg); - transform: rotate(158deg); -} -.wi-wind.from-339-deg { - -webkit-transform: rotate(159deg); - -moz-transform: rotate(159deg); - -ms-transform: rotate(159deg); - -o-transform: rotate(159deg); - transform: rotate(159deg); -} -.wi-wind.from-340-deg { - -webkit-transform: rotate(160deg); - -moz-transform: rotate(160deg); - -ms-transform: rotate(160deg); - -o-transform: rotate(160deg); - transform: rotate(160deg); -} -.wi-wind.from-341-deg { - -webkit-transform: rotate(161deg); - -moz-transform: rotate(161deg); - -ms-transform: rotate(161deg); - -o-transform: rotate(161deg); - transform: rotate(161deg); -} -.wi-wind.from-342-deg { - -webkit-transform: rotate(162deg); - -moz-transform: rotate(162deg); - -ms-transform: rotate(162deg); - -o-transform: rotate(162deg); - transform: rotate(162deg); -} -.wi-wind.from-343-deg { - -webkit-transform: rotate(163deg); - -moz-transform: rotate(163deg); - -ms-transform: rotate(163deg); - -o-transform: rotate(163deg); - transform: rotate(163deg); -} -.wi-wind.from-344-deg { - -webkit-transform: rotate(164deg); - -moz-transform: rotate(164deg); - -ms-transform: rotate(164deg); - -o-transform: rotate(164deg); - transform: rotate(164deg); -} -.wi-wind.from-345-deg { - -webkit-transform: rotate(165deg); - -moz-transform: rotate(165deg); - -ms-transform: rotate(165deg); - -o-transform: rotate(165deg); - transform: rotate(165deg); -} -.wi-wind.from-346-deg { - -webkit-transform: rotate(166deg); - -moz-transform: rotate(166deg); - -ms-transform: rotate(166deg); - -o-transform: rotate(166deg); - transform: rotate(166deg); -} -.wi-wind.from-347-deg { - -webkit-transform: rotate(167deg); - -moz-transform: rotate(167deg); - -ms-transform: rotate(167deg); - -o-transform: rotate(167deg); - transform: rotate(167deg); -} -.wi-wind.from-348-deg { - -webkit-transform: rotate(168deg); - -moz-transform: rotate(168deg); - -ms-transform: rotate(168deg); - -o-transform: rotate(168deg); - transform: rotate(168deg); -} -.wi-wind.from-349-deg { - -webkit-transform: rotate(169deg); - -moz-transform: rotate(169deg); - -ms-transform: rotate(169deg); - -o-transform: rotate(169deg); - transform: rotate(169deg); -} -.wi-wind.from-350-deg { - -webkit-transform: rotate(170deg); - -moz-transform: rotate(170deg); - -ms-transform: rotate(170deg); - -o-transform: rotate(170deg); - transform: rotate(170deg); -} -.wi-wind.from-351-deg { - -webkit-transform: rotate(171deg); - -moz-transform: rotate(171deg); - -ms-transform: rotate(171deg); - -o-transform: rotate(171deg); - transform: rotate(171deg); -} -.wi-wind.from-352-deg { - -webkit-transform: rotate(172deg); - -moz-transform: rotate(172deg); - -ms-transform: rotate(172deg); - -o-transform: rotate(172deg); - transform: rotate(172deg); -} -.wi-wind.from-353-deg { - -webkit-transform: rotate(173deg); - -moz-transform: rotate(173deg); - -ms-transform: rotate(173deg); - -o-transform: rotate(173deg); - transform: rotate(173deg); -} -.wi-wind.from-354-deg { - -webkit-transform: rotate(174deg); - -moz-transform: rotate(174deg); - -ms-transform: rotate(174deg); - -o-transform: rotate(174deg); - transform: rotate(174deg); -} -.wi-wind.from-355-deg { - -webkit-transform: rotate(175deg); - -moz-transform: rotate(175deg); - -ms-transform: rotate(175deg); - -o-transform: rotate(175deg); - transform: rotate(175deg); -} -.wi-wind.from-356-deg { - -webkit-transform: rotate(176deg); - -moz-transform: rotate(176deg); - -ms-transform: rotate(176deg); - -o-transform: rotate(176deg); - transform: rotate(176deg); -} -.wi-wind.from-357-deg { - -webkit-transform: rotate(177deg); - -moz-transform: rotate(177deg); - -ms-transform: rotate(177deg); - -o-transform: rotate(177deg); - transform: rotate(177deg); -} -.wi-wind.from-358-deg { - -webkit-transform: rotate(178deg); - -moz-transform: rotate(178deg); - -ms-transform: rotate(178deg); - -o-transform: rotate(178deg); - transform: rotate(178deg); -} -.wi-wind.from-359-deg { - -webkit-transform: rotate(179deg); - -moz-transform: rotate(179deg); - -ms-transform: rotate(179deg); - -o-transform: rotate(179deg); - transform: rotate(179deg); -} -.wi-wind.from-360-deg { - -webkit-transform: rotate(180deg); - -moz-transform: rotate(180deg); - -ms-transform: rotate(180deg); - -o-transform: rotate(180deg); - transform: rotate(180deg); -} -.wi-towards-n { - -webkit-transform: rotate(0deg); - -moz-transform: rotate(0deg); - -ms-transform: rotate(0deg); - -o-transform: rotate(0deg); - transform: rotate(0deg); -} -.wi-towards-nne { - -webkit-transform: rotate(23deg); - -moz-transform: rotate(23deg); - -ms-transform: rotate(23deg); - -o-transform: rotate(23deg); - transform: rotate(23deg); -} -.wi-towards-ne { - -webkit-transform: rotate(45deg); - -moz-transform: rotate(45deg); - -ms-transform: rotate(45deg); - -o-transform: rotate(45deg); - transform: rotate(45deg); -} -.wi-towards-ene { - -webkit-transform: rotate(68deg); - -moz-transform: rotate(68deg); - -ms-transform: rotate(68deg); - -o-transform: rotate(68deg); - transform: rotate(68deg); -} -.wi-towards-e { - -webkit-transform: rotate(90deg); - -moz-transform: rotate(90deg); - -ms-transform: rotate(90deg); - -o-transform: rotate(90deg); - transform: rotate(90deg); -} -.wi-towards-ese { - -webkit-transform: rotate(113deg); - -moz-transform: rotate(113deg); - -ms-transform: rotate(113deg); - -o-transform: rotate(113deg); - transform: rotate(113deg); -} -.wi-towards-se { - -webkit-transform: rotate(135deg); - -moz-transform: rotate(135deg); - -ms-transform: rotate(135deg); - -o-transform: rotate(135deg); - transform: rotate(135deg); -} -.wi-towards-sse { - -webkit-transform: rotate(158deg); - -moz-transform: rotate(158deg); - -ms-transform: rotate(158deg); - -o-transform: rotate(158deg); - transform: rotate(158deg); -} -.wi-towards-s { - -webkit-transform: rotate(180deg); - -moz-transform: rotate(180deg); - -ms-transform: rotate(180deg); - -o-transform: rotate(180deg); - transform: rotate(180deg); -} -.wi-towards-ssw { - -webkit-transform: rotate(203deg); - -moz-transform: rotate(203deg); - -ms-transform: rotate(203deg); - -o-transform: rotate(203deg); - transform: rotate(203deg); -} -.wi-towards-sw { - -webkit-transform: rotate(225deg); - -moz-transform: rotate(225deg); - -ms-transform: rotate(225deg); - -o-transform: rotate(225deg); - transform: rotate(225deg); -} -.wi-towards-wsw { - -webkit-transform: rotate(248deg); - -moz-transform: rotate(248deg); - -ms-transform: rotate(248deg); - -o-transform: rotate(248deg); - transform: rotate(248deg); -} -.wi-towards-w { - -webkit-transform: rotate(270deg); - -moz-transform: rotate(270deg); - -ms-transform: rotate(270deg); - -o-transform: rotate(270deg); - transform: rotate(270deg); -} -.wi-towards-wnw { - -webkit-transform: rotate(293deg); - -moz-transform: rotate(293deg); - -ms-transform: rotate(293deg); - -o-transform: rotate(293deg); - transform: rotate(293deg); -} -.wi-towards-nw { - -webkit-transform: rotate(313deg); - -moz-transform: rotate(313deg); - -ms-transform: rotate(313deg); - -o-transform: rotate(313deg); - transform: rotate(313deg); -} -.wi-towards-nnw { - -webkit-transform: rotate(336deg); - -moz-transform: rotate(336deg); - -ms-transform: rotate(336deg); - -o-transform: rotate(336deg); - transform: rotate(336deg); -} -.wi-from-n { - -webkit-transform: rotate(180deg); - -moz-transform: rotate(180deg); - -ms-transform: rotate(180deg); - -o-transform: rotate(180deg); - transform: rotate(180deg); -} -.wi-from-nne { - -webkit-transform: rotate(203deg); - -moz-transform: rotate(203deg); - -ms-transform: rotate(203deg); - -o-transform: rotate(203deg); - transform: rotate(203deg); -} -.wi-from-ne { - -webkit-transform: rotate(225deg); - -moz-transform: rotate(225deg); - -ms-transform: rotate(225deg); - -o-transform: rotate(225deg); - transform: rotate(225deg); -} -.wi-from-ene { - -webkit-transform: rotate(248deg); - -moz-transform: rotate(248deg); - -ms-transform: rotate(248deg); - -o-transform: rotate(248deg); - transform: rotate(248deg); -} -.wi-from-e { - -webkit-transform: rotate(270deg); - -moz-transform: rotate(270deg); - -ms-transform: rotate(270deg); - -o-transform: rotate(270deg); - transform: rotate(270deg); -} -.wi-from-ese { - -webkit-transform: rotate(293deg); - -moz-transform: rotate(293deg); - -ms-transform: rotate(293deg); - -o-transform: rotate(293deg); - transform: rotate(293deg); -} -.wi-from-se { - -webkit-transform: rotate(315deg); - -moz-transform: rotate(315deg); - -ms-transform: rotate(315deg); - -o-transform: rotate(315deg); - transform: rotate(315deg); -} -.wi-from-sse { - -webkit-transform: rotate(338deg); - -moz-transform: rotate(338deg); - -ms-transform: rotate(338deg); - -o-transform: rotate(338deg); - transform: rotate(338deg); -} -.wi-from-s { - -webkit-transform: rotate(0deg); - -moz-transform: rotate(0deg); - -ms-transform: rotate(0deg); - -o-transform: rotate(0deg); - transform: rotate(0deg); -} -.wi-from-ssw { - -webkit-transform: rotate(23deg); - -moz-transform: rotate(23deg); - -ms-transform: rotate(23deg); - -o-transform: rotate(23deg); - transform: rotate(23deg); -} -.wi-from-sw { - -webkit-transform: rotate(45deg); - -moz-transform: rotate(45deg); - -ms-transform: rotate(45deg); - -o-transform: rotate(45deg); - transform: rotate(45deg); -} -.wi-from-wsw { - -webkit-transform: rotate(68deg); - -moz-transform: rotate(68deg); - -ms-transform: rotate(68deg); - -o-transform: rotate(68deg); - transform: rotate(68deg); -} -.wi-from-w { - -webkit-transform: rotate(90deg); - -moz-transform: rotate(90deg); - -ms-transform: rotate(90deg); - -o-transform: rotate(90deg); - transform: rotate(90deg); -} -.wi-from-wnw { - -webkit-transform: rotate(113deg); - -moz-transform: rotate(113deg); - -ms-transform: rotate(113deg); - -o-transform: rotate(113deg); - transform: rotate(113deg); -} -.wi-from-nw { - -webkit-transform: rotate(133deg); - -moz-transform: rotate(133deg); - -ms-transform: rotate(133deg); - -o-transform: rotate(133deg); - transform: rotate(133deg); -} -.wi-from-nnw { - -webkit-transform: rotate(156deg); - -moz-transform: rotate(156deg); - -ms-transform: rotate(156deg); - -o-transform: rotate(156deg); - transform: rotate(156deg); -} diff --git a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/weather-icons/css/weather-icons-wind.min.css b/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/weather-icons/css/weather-icons-wind.min.css deleted file mode 100755 index d6568f33..00000000 --- a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/weather-icons/css/weather-icons-wind.min.css +++ /dev/null @@ -1 +0,0 @@ -@font-face{font-family:weathericons;src:url(../font/weathericons-regular-webfont.eot);src:url(../font/weathericons-regular-webfont.eot?#iefix)format('embedded-opentype'),url(../font/weathericons-regular-webfont.woff2)format('woff2'),url(../font/weathericons-regular-webfont.woff)format('woff'),url(../font/weathericons-regular-webfont.ttf)format('truetype'),url(../font/weathericons-regular-webfont.svg#weather_iconsregular)format('svg');font-weight:400;font-style:normal}.wi{display:inline-block;font-family:weathericons;font-style:normal;font-weight:400;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.wi-fw{text-align:center;width:1.4em}.wi-rotate-90{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=1);-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}.wi-rotate-180{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=2);-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.wi-rotate-270{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=3);-webkit-transform:rotate(270deg);-ms-transform:rotate(270deg);transform:rotate(270deg)}.wi-flip-horizontal{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1);-webkit-transform:scale(-1,1);-ms-transform:scale(-1,1);transform:scale(-1,1)}.wi-flip-vertical{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1);-webkit-transform:scale(1,-1);-ms-transform:scale(1,-1);transform:scale(1,-1)}.wi-wind:before{content:"\f0b1"}.wi-wind.towards-0-deg{-webkit-transform:rotate(0);-moz-transform:rotate(0);-ms-transform:rotate(0);-o-transform:rotate(0);transform:rotate(0)}.wi-wind.towards-1-deg{-webkit-transform:rotate(1deg);-moz-transform:rotate(1deg);-ms-transform:rotate(1deg);-o-transform:rotate(1deg);transform:rotate(1deg)}.wi-wind.towards-2-deg{-webkit-transform:rotate(2deg);-moz-transform:rotate(2deg);-ms-transform:rotate(2deg);-o-transform:rotate(2deg);transform:rotate(2deg)}.wi-wind.towards-3-deg{-webkit-transform:rotate(3deg);-moz-transform:rotate(3deg);-ms-transform:rotate(3deg);-o-transform:rotate(3deg);transform:rotate(3deg)}.wi-wind.towards-4-deg{-webkit-transform:rotate(4deg);-moz-transform:rotate(4deg);-ms-transform:rotate(4deg);-o-transform:rotate(4deg);transform:rotate(4deg)}.wi-wind.towards-5-deg{-webkit-transform:rotate(5deg);-moz-transform:rotate(5deg);-ms-transform:rotate(5deg);-o-transform:rotate(5deg);transform:rotate(5deg)}.wi-wind.towards-6-deg{-webkit-transform:rotate(6deg);-moz-transform:rotate(6deg);-ms-transform:rotate(6deg);-o-transform:rotate(6deg);transform:rotate(6deg)}.wi-wind.towards-7-deg{-webkit-transform:rotate(7deg);-moz-transform:rotate(7deg);-ms-transform:rotate(7deg);-o-transform:rotate(7deg);transform:rotate(7deg)}.wi-wind.towards-8-deg{-webkit-transform:rotate(8deg);-moz-transform:rotate(8deg);-ms-transform:rotate(8deg);-o-transform:rotate(8deg);transform:rotate(8deg)}.wi-wind.towards-9-deg{-webkit-transform:rotate(9deg);-moz-transform:rotate(9deg);-ms-transform:rotate(9deg);-o-transform:rotate(9deg);transform:rotate(9deg)}.wi-wind.towards-10-deg{-webkit-transform:rotate(10deg);-moz-transform:rotate(10deg);-ms-transform:rotate(10deg);-o-transform:rotate(10deg);transform:rotate(10deg)}.wi-wind.towards-11-deg{-webkit-transform:rotate(11deg);-moz-transform:rotate(11deg);-ms-transform:rotate(11deg);-o-transform:rotate(11deg);transform:rotate(11deg)}.wi-wind.towards-12-deg{-webkit-transform:rotate(12deg);-moz-transform:rotate(12deg);-ms-transform:rotate(12deg);-o-transform:rotate(12deg);transform:rotate(12deg)}.wi-wind.towards-13-deg{-webkit-transform:rotate(13deg);-moz-transform:rotate(13deg);-ms-transform:rotate(13deg);-o-transform:rotate(13deg);transform:rotate(13deg)}.wi-wind.towards-14-deg{-webkit-transform:rotate(14deg);-moz-transform:rotate(14deg);-ms-transform:rotate(14deg);-o-transform:rotate(14deg);transform:rotate(14deg)}.wi-wind.towards-15-deg{-webkit-transform:rotate(15deg);-moz-transform:rotate(15deg);-ms-transform:rotate(15deg);-o-transform:rotate(15deg);transform:rotate(15deg)}.wi-wind.towards-16-deg{-webkit-transform:rotate(16deg);-moz-transform:rotate(16deg);-ms-transform:rotate(16deg);-o-transform:rotate(16deg);transform:rotate(16deg)}.wi-wind.towards-17-deg{-webkit-transform:rotate(17deg);-moz-transform:rotate(17deg);-ms-transform:rotate(17deg);-o-transform:rotate(17deg);transform:rotate(17deg)}.wi-wind.towards-18-deg{-webkit-transform:rotate(18deg);-moz-transform:rotate(18deg);-ms-transform:rotate(18deg);-o-transform:rotate(18deg);transform:rotate(18deg)}.wi-wind.towards-19-deg{-webkit-transform:rotate(19deg);-moz-transform:rotate(19deg);-ms-transform:rotate(19deg);-o-transform:rotate(19deg);transform:rotate(19deg)}.wi-wind.towards-20-deg{-webkit-transform:rotate(20deg);-moz-transform:rotate(20deg);-ms-transform:rotate(20deg);-o-transform:rotate(20deg);transform:rotate(20deg)}.wi-wind.towards-21-deg{-webkit-transform:rotate(21deg);-moz-transform:rotate(21deg);-ms-transform:rotate(21deg);-o-transform:rotate(21deg);transform:rotate(21deg)}.wi-wind.towards-22-deg{-webkit-transform:rotate(22deg);-moz-transform:rotate(22deg);-ms-transform:rotate(22deg);-o-transform:rotate(22deg);transform:rotate(22deg)}.wi-wind.towards-23-deg{-webkit-transform:rotate(23deg);-moz-transform:rotate(23deg);-ms-transform:rotate(23deg);-o-transform:rotate(23deg);transform:rotate(23deg)}.wi-wind.towards-24-deg{-webkit-transform:rotate(24deg);-moz-transform:rotate(24deg);-ms-transform:rotate(24deg);-o-transform:rotate(24deg);transform:rotate(24deg)}.wi-wind.towards-25-deg{-webkit-transform:rotate(25deg);-moz-transform:rotate(25deg);-ms-transform:rotate(25deg);-o-transform:rotate(25deg);transform:rotate(25deg)}.wi-wind.towards-26-deg{-webkit-transform:rotate(26deg);-moz-transform:rotate(26deg);-ms-transform:rotate(26deg);-o-transform:rotate(26deg);transform:rotate(26deg)}.wi-wind.towards-27-deg{-webkit-transform:rotate(27deg);-moz-transform:rotate(27deg);-ms-transform:rotate(27deg);-o-transform:rotate(27deg);transform:rotate(27deg)}.wi-wind.towards-28-deg{-webkit-transform:rotate(28deg);-moz-transform:rotate(28deg);-ms-transform:rotate(28deg);-o-transform:rotate(28deg);transform:rotate(28deg)}.wi-wind.towards-29-deg{-webkit-transform:rotate(29deg);-moz-transform:rotate(29deg);-ms-transform:rotate(29deg);-o-transform:rotate(29deg);transform:rotate(29deg)}.wi-wind.towards-30-deg{-webkit-transform:rotate(30deg);-moz-transform:rotate(30deg);-ms-transform:rotate(30deg);-o-transform:rotate(30deg);transform:rotate(30deg)}.wi-wind.towards-31-deg{-webkit-transform:rotate(31deg);-moz-transform:rotate(31deg);-ms-transform:rotate(31deg);-o-transform:rotate(31deg);transform:rotate(31deg)}.wi-wind.towards-32-deg{-webkit-transform:rotate(32deg);-moz-transform:rotate(32deg);-ms-transform:rotate(32deg);-o-transform:rotate(32deg);transform:rotate(32deg)}.wi-wind.towards-33-deg{-webkit-transform:rotate(33deg);-moz-transform:rotate(33deg);-ms-transform:rotate(33deg);-o-transform:rotate(33deg);transform:rotate(33deg)}.wi-wind.towards-34-deg{-webkit-transform:rotate(34deg);-moz-transform:rotate(34deg);-ms-transform:rotate(34deg);-o-transform:rotate(34deg);transform:rotate(34deg)}.wi-wind.towards-35-deg{-webkit-transform:rotate(35deg);-moz-transform:rotate(35deg);-ms-transform:rotate(35deg);-o-transform:rotate(35deg);transform:rotate(35deg)}.wi-wind.towards-36-deg{-webkit-transform:rotate(36deg);-moz-transform:rotate(36deg);-ms-transform:rotate(36deg);-o-transform:rotate(36deg);transform:rotate(36deg)}.wi-wind.towards-37-deg{-webkit-transform:rotate(37deg);-moz-transform:rotate(37deg);-ms-transform:rotate(37deg);-o-transform:rotate(37deg);transform:rotate(37deg)}.wi-wind.towards-38-deg{-webkit-transform:rotate(38deg);-moz-transform:rotate(38deg);-ms-transform:rotate(38deg);-o-transform:rotate(38deg);transform:rotate(38deg)}.wi-wind.towards-39-deg{-webkit-transform:rotate(39deg);-moz-transform:rotate(39deg);-ms-transform:rotate(39deg);-o-transform:rotate(39deg);transform:rotate(39deg)}.wi-wind.towards-40-deg{-webkit-transform:rotate(40deg);-moz-transform:rotate(40deg);-ms-transform:rotate(40deg);-o-transform:rotate(40deg);transform:rotate(40deg)}.wi-wind.towards-41-deg{-webkit-transform:rotate(41deg);-moz-transform:rotate(41deg);-ms-transform:rotate(41deg);-o-transform:rotate(41deg);transform:rotate(41deg)}.wi-wind.towards-42-deg{-webkit-transform:rotate(42deg);-moz-transform:rotate(42deg);-ms-transform:rotate(42deg);-o-transform:rotate(42deg);transform:rotate(42deg)}.wi-wind.towards-43-deg{-webkit-transform:rotate(43deg);-moz-transform:rotate(43deg);-ms-transform:rotate(43deg);-o-transform:rotate(43deg);transform:rotate(43deg)}.wi-wind.towards-44-deg{-webkit-transform:rotate(44deg);-moz-transform:rotate(44deg);-ms-transform:rotate(44deg);-o-transform:rotate(44deg);transform:rotate(44deg)}.wi-wind.towards-45-deg{-webkit-transform:rotate(45deg);-moz-transform:rotate(45deg);-ms-transform:rotate(45deg);-o-transform:rotate(45deg);transform:rotate(45deg)}.wi-wind.towards-46-deg{-webkit-transform:rotate(46deg);-moz-transform:rotate(46deg);-ms-transform:rotate(46deg);-o-transform:rotate(46deg);transform:rotate(46deg)}.wi-wind.towards-47-deg{-webkit-transform:rotate(47deg);-moz-transform:rotate(47deg);-ms-transform:rotate(47deg);-o-transform:rotate(47deg);transform:rotate(47deg)}.wi-wind.towards-48-deg{-webkit-transform:rotate(48deg);-moz-transform:rotate(48deg);-ms-transform:rotate(48deg);-o-transform:rotate(48deg);transform:rotate(48deg)}.wi-wind.towards-49-deg{-webkit-transform:rotate(49deg);-moz-transform:rotate(49deg);-ms-transform:rotate(49deg);-o-transform:rotate(49deg);transform:rotate(49deg)}.wi-wind.towards-50-deg{-webkit-transform:rotate(50deg);-moz-transform:rotate(50deg);-ms-transform:rotate(50deg);-o-transform:rotate(50deg);transform:rotate(50deg)}.wi-wind.towards-51-deg{-webkit-transform:rotate(51deg);-moz-transform:rotate(51deg);-ms-transform:rotate(51deg);-o-transform:rotate(51deg);transform:rotate(51deg)}.wi-wind.towards-52-deg{-webkit-transform:rotate(52deg);-moz-transform:rotate(52deg);-ms-transform:rotate(52deg);-o-transform:rotate(52deg);transform:rotate(52deg)}.wi-wind.towards-53-deg{-webkit-transform:rotate(53deg);-moz-transform:rotate(53deg);-ms-transform:rotate(53deg);-o-transform:rotate(53deg);transform:rotate(53deg)}.wi-wind.towards-54-deg{-webkit-transform:rotate(54deg);-moz-transform:rotate(54deg);-ms-transform:rotate(54deg);-o-transform:rotate(54deg);transform:rotate(54deg)}.wi-wind.towards-55-deg{-webkit-transform:rotate(55deg);-moz-transform:rotate(55deg);-ms-transform:rotate(55deg);-o-transform:rotate(55deg);transform:rotate(55deg)}.wi-wind.towards-56-deg{-webkit-transform:rotate(56deg);-moz-transform:rotate(56deg);-ms-transform:rotate(56deg);-o-transform:rotate(56deg);transform:rotate(56deg)}.wi-wind.towards-57-deg{-webkit-transform:rotate(57deg);-moz-transform:rotate(57deg);-ms-transform:rotate(57deg);-o-transform:rotate(57deg);transform:rotate(57deg)}.wi-wind.towards-58-deg{-webkit-transform:rotate(58deg);-moz-transform:rotate(58deg);-ms-transform:rotate(58deg);-o-transform:rotate(58deg);transform:rotate(58deg)}.wi-wind.towards-59-deg{-webkit-transform:rotate(59deg);-moz-transform:rotate(59deg);-ms-transform:rotate(59deg);-o-transform:rotate(59deg);transform:rotate(59deg)}.wi-wind.towards-60-deg{-webkit-transform:rotate(60deg);-moz-transform:rotate(60deg);-ms-transform:rotate(60deg);-o-transform:rotate(60deg);transform:rotate(60deg)}.wi-wind.towards-61-deg{-webkit-transform:rotate(61deg);-moz-transform:rotate(61deg);-ms-transform:rotate(61deg);-o-transform:rotate(61deg);transform:rotate(61deg)}.wi-wind.towards-62-deg{-webkit-transform:rotate(62deg);-moz-transform:rotate(62deg);-ms-transform:rotate(62deg);-o-transform:rotate(62deg);transform:rotate(62deg)}.wi-wind.towards-63-deg{-webkit-transform:rotate(63deg);-moz-transform:rotate(63deg);-ms-transform:rotate(63deg);-o-transform:rotate(63deg);transform:rotate(63deg)}.wi-wind.towards-64-deg{-webkit-transform:rotate(64deg);-moz-transform:rotate(64deg);-ms-transform:rotate(64deg);-o-transform:rotate(64deg);transform:rotate(64deg)}.wi-wind.towards-65-deg{-webkit-transform:rotate(65deg);-moz-transform:rotate(65deg);-ms-transform:rotate(65deg);-o-transform:rotate(65deg);transform:rotate(65deg)}.wi-wind.towards-66-deg{-webkit-transform:rotate(66deg);-moz-transform:rotate(66deg);-ms-transform:rotate(66deg);-o-transform:rotate(66deg);transform:rotate(66deg)}.wi-wind.towards-67-deg{-webkit-transform:rotate(67deg);-moz-transform:rotate(67deg);-ms-transform:rotate(67deg);-o-transform:rotate(67deg);transform:rotate(67deg)}.wi-wind.towards-68-deg{-webkit-transform:rotate(68deg);-moz-transform:rotate(68deg);-ms-transform:rotate(68deg);-o-transform:rotate(68deg);transform:rotate(68deg)}.wi-wind.towards-69-deg{-webkit-transform:rotate(69deg);-moz-transform:rotate(69deg);-ms-transform:rotate(69deg);-o-transform:rotate(69deg);transform:rotate(69deg)}.wi-wind.towards-70-deg{-webkit-transform:rotate(70deg);-moz-transform:rotate(70deg);-ms-transform:rotate(70deg);-o-transform:rotate(70deg);transform:rotate(70deg)}.wi-wind.towards-71-deg{-webkit-transform:rotate(71deg);-moz-transform:rotate(71deg);-ms-transform:rotate(71deg);-o-transform:rotate(71deg);transform:rotate(71deg)}.wi-wind.towards-72-deg{-webkit-transform:rotate(72deg);-moz-transform:rotate(72deg);-ms-transform:rotate(72deg);-o-transform:rotate(72deg);transform:rotate(72deg)}.wi-wind.towards-73-deg{-webkit-transform:rotate(73deg);-moz-transform:rotate(73deg);-ms-transform:rotate(73deg);-o-transform:rotate(73deg);transform:rotate(73deg)}.wi-wind.towards-74-deg{-webkit-transform:rotate(74deg);-moz-transform:rotate(74deg);-ms-transform:rotate(74deg);-o-transform:rotate(74deg);transform:rotate(74deg)}.wi-wind.towards-75-deg{-webkit-transform:rotate(75deg);-moz-transform:rotate(75deg);-ms-transform:rotate(75deg);-o-transform:rotate(75deg);transform:rotate(75deg)}.wi-wind.towards-76-deg{-webkit-transform:rotate(76deg);-moz-transform:rotate(76deg);-ms-transform:rotate(76deg);-o-transform:rotate(76deg);transform:rotate(76deg)}.wi-wind.towards-77-deg{-webkit-transform:rotate(77deg);-moz-transform:rotate(77deg);-ms-transform:rotate(77deg);-o-transform:rotate(77deg);transform:rotate(77deg)}.wi-wind.towards-78-deg{-webkit-transform:rotate(78deg);-moz-transform:rotate(78deg);-ms-transform:rotate(78deg);-o-transform:rotate(78deg);transform:rotate(78deg)}.wi-wind.towards-79-deg{-webkit-transform:rotate(79deg);-moz-transform:rotate(79deg);-ms-transform:rotate(79deg);-o-transform:rotate(79deg);transform:rotate(79deg)}.wi-wind.towards-80-deg{-webkit-transform:rotate(80deg);-moz-transform:rotate(80deg);-ms-transform:rotate(80deg);-o-transform:rotate(80deg);transform:rotate(80deg)}.wi-wind.towards-81-deg{-webkit-transform:rotate(81deg);-moz-transform:rotate(81deg);-ms-transform:rotate(81deg);-o-transform:rotate(81deg);transform:rotate(81deg)}.wi-wind.towards-82-deg{-webkit-transform:rotate(82deg);-moz-transform:rotate(82deg);-ms-transform:rotate(82deg);-o-transform:rotate(82deg);transform:rotate(82deg)}.wi-wind.towards-83-deg{-webkit-transform:rotate(83deg);-moz-transform:rotate(83deg);-ms-transform:rotate(83deg);-o-transform:rotate(83deg);transform:rotate(83deg)}.wi-wind.towards-84-deg{-webkit-transform:rotate(84deg);-moz-transform:rotate(84deg);-ms-transform:rotate(84deg);-o-transform:rotate(84deg);transform:rotate(84deg)}.wi-wind.towards-85-deg{-webkit-transform:rotate(85deg);-moz-transform:rotate(85deg);-ms-transform:rotate(85deg);-o-transform:rotate(85deg);transform:rotate(85deg)}.wi-wind.towards-86-deg{-webkit-transform:rotate(86deg);-moz-transform:rotate(86deg);-ms-transform:rotate(86deg);-o-transform:rotate(86deg);transform:rotate(86deg)}.wi-wind.towards-87-deg{-webkit-transform:rotate(87deg);-moz-transform:rotate(87deg);-ms-transform:rotate(87deg);-o-transform:rotate(87deg);transform:rotate(87deg)}.wi-wind.towards-88-deg{-webkit-transform:rotate(88deg);-moz-transform:rotate(88deg);-ms-transform:rotate(88deg);-o-transform:rotate(88deg);transform:rotate(88deg)}.wi-wind.towards-89-deg{-webkit-transform:rotate(89deg);-moz-transform:rotate(89deg);-ms-transform:rotate(89deg);-o-transform:rotate(89deg);transform:rotate(89deg)}.wi-wind.towards-90-deg{-webkit-transform:rotate(90deg);-moz-transform:rotate(90deg);-ms-transform:rotate(90deg);-o-transform:rotate(90deg);transform:rotate(90deg)}.wi-wind.towards-91-deg{-webkit-transform:rotate(91deg);-moz-transform:rotate(91deg);-ms-transform:rotate(91deg);-o-transform:rotate(91deg);transform:rotate(91deg)}.wi-wind.towards-92-deg{-webkit-transform:rotate(92deg);-moz-transform:rotate(92deg);-ms-transform:rotate(92deg);-o-transform:rotate(92deg);transform:rotate(92deg)}.wi-wind.towards-93-deg{-webkit-transform:rotate(93deg);-moz-transform:rotate(93deg);-ms-transform:rotate(93deg);-o-transform:rotate(93deg);transform:rotate(93deg)}.wi-wind.towards-94-deg{-webkit-transform:rotate(94deg);-moz-transform:rotate(94deg);-ms-transform:rotate(94deg);-o-transform:rotate(94deg);transform:rotate(94deg)}.wi-wind.towards-95-deg{-webkit-transform:rotate(95deg);-moz-transform:rotate(95deg);-ms-transform:rotate(95deg);-o-transform:rotate(95deg);transform:rotate(95deg)}.wi-wind.towards-96-deg{-webkit-transform:rotate(96deg);-moz-transform:rotate(96deg);-ms-transform:rotate(96deg);-o-transform:rotate(96deg);transform:rotate(96deg)}.wi-wind.towards-97-deg{-webkit-transform:rotate(97deg);-moz-transform:rotate(97deg);-ms-transform:rotate(97deg);-o-transform:rotate(97deg);transform:rotate(97deg)}.wi-wind.towards-98-deg{-webkit-transform:rotate(98deg);-moz-transform:rotate(98deg);-ms-transform:rotate(98deg);-o-transform:rotate(98deg);transform:rotate(98deg)}.wi-wind.towards-99-deg{-webkit-transform:rotate(99deg);-moz-transform:rotate(99deg);-ms-transform:rotate(99deg);-o-transform:rotate(99deg);transform:rotate(99deg)}.wi-wind.towards-100-deg{-webkit-transform:rotate(100deg);-moz-transform:rotate(100deg);-ms-transform:rotate(100deg);-o-transform:rotate(100deg);transform:rotate(100deg)}.wi-wind.towards-101-deg{-webkit-transform:rotate(101deg);-moz-transform:rotate(101deg);-ms-transform:rotate(101deg);-o-transform:rotate(101deg);transform:rotate(101deg)}.wi-wind.towards-102-deg{-webkit-transform:rotate(102deg);-moz-transform:rotate(102deg);-ms-transform:rotate(102deg);-o-transform:rotate(102deg);transform:rotate(102deg)}.wi-wind.towards-103-deg{-webkit-transform:rotate(103deg);-moz-transform:rotate(103deg);-ms-transform:rotate(103deg);-o-transform:rotate(103deg);transform:rotate(103deg)}.wi-wind.towards-104-deg{-webkit-transform:rotate(104deg);-moz-transform:rotate(104deg);-ms-transform:rotate(104deg);-o-transform:rotate(104deg);transform:rotate(104deg)}.wi-wind.towards-105-deg{-webkit-transform:rotate(105deg);-moz-transform:rotate(105deg);-ms-transform:rotate(105deg);-o-transform:rotate(105deg);transform:rotate(105deg)}.wi-wind.towards-106-deg{-webkit-transform:rotate(106deg);-moz-transform:rotate(106deg);-ms-transform:rotate(106deg);-o-transform:rotate(106deg);transform:rotate(106deg)}.wi-wind.towards-107-deg{-webkit-transform:rotate(107deg);-moz-transform:rotate(107deg);-ms-transform:rotate(107deg);-o-transform:rotate(107deg);transform:rotate(107deg)}.wi-wind.towards-108-deg{-webkit-transform:rotate(108deg);-moz-transform:rotate(108deg);-ms-transform:rotate(108deg);-o-transform:rotate(108deg);transform:rotate(108deg)}.wi-wind.towards-109-deg{-webkit-transform:rotate(109deg);-moz-transform:rotate(109deg);-ms-transform:rotate(109deg);-o-transform:rotate(109deg);transform:rotate(109deg)}.wi-wind.towards-110-deg{-webkit-transform:rotate(110deg);-moz-transform:rotate(110deg);-ms-transform:rotate(110deg);-o-transform:rotate(110deg);transform:rotate(110deg)}.wi-wind.towards-111-deg{-webkit-transform:rotate(111deg);-moz-transform:rotate(111deg);-ms-transform:rotate(111deg);-o-transform:rotate(111deg);transform:rotate(111deg)}.wi-wind.towards-112-deg{-webkit-transform:rotate(112deg);-moz-transform:rotate(112deg);-ms-transform:rotate(112deg);-o-transform:rotate(112deg);transform:rotate(112deg)}.wi-wind.towards-113-deg{-webkit-transform:rotate(113deg);-moz-transform:rotate(113deg);-ms-transform:rotate(113deg);-o-transform:rotate(113deg);transform:rotate(113deg)}.wi-wind.towards-114-deg{-webkit-transform:rotate(114deg);-moz-transform:rotate(114deg);-ms-transform:rotate(114deg);-o-transform:rotate(114deg);transform:rotate(114deg)}.wi-wind.towards-115-deg{-webkit-transform:rotate(115deg);-moz-transform:rotate(115deg);-ms-transform:rotate(115deg);-o-transform:rotate(115deg);transform:rotate(115deg)}.wi-wind.towards-116-deg{-webkit-transform:rotate(116deg);-moz-transform:rotate(116deg);-ms-transform:rotate(116deg);-o-transform:rotate(116deg);transform:rotate(116deg)}.wi-wind.towards-117-deg{-webkit-transform:rotate(117deg);-moz-transform:rotate(117deg);-ms-transform:rotate(117deg);-o-transform:rotate(117deg);transform:rotate(117deg)}.wi-wind.towards-118-deg{-webkit-transform:rotate(118deg);-moz-transform:rotate(118deg);-ms-transform:rotate(118deg);-o-transform:rotate(118deg);transform:rotate(118deg)}.wi-wind.towards-119-deg{-webkit-transform:rotate(119deg);-moz-transform:rotate(119deg);-ms-transform:rotate(119deg);-o-transform:rotate(119deg);transform:rotate(119deg)}.wi-wind.towards-120-deg{-webkit-transform:rotate(120deg);-moz-transform:rotate(120deg);-ms-transform:rotate(120deg);-o-transform:rotate(120deg);transform:rotate(120deg)}.wi-wind.towards-121-deg{-webkit-transform:rotate(121deg);-moz-transform:rotate(121deg);-ms-transform:rotate(121deg);-o-transform:rotate(121deg);transform:rotate(121deg)}.wi-wind.towards-122-deg{-webkit-transform:rotate(122deg);-moz-transform:rotate(122deg);-ms-transform:rotate(122deg);-o-transform:rotate(122deg);transform:rotate(122deg)}.wi-wind.towards-123-deg{-webkit-transform:rotate(123deg);-moz-transform:rotate(123deg);-ms-transform:rotate(123deg);-o-transform:rotate(123deg);transform:rotate(123deg)}.wi-wind.towards-124-deg{-webkit-transform:rotate(124deg);-moz-transform:rotate(124deg);-ms-transform:rotate(124deg);-o-transform:rotate(124deg);transform:rotate(124deg)}.wi-wind.towards-125-deg{-webkit-transform:rotate(125deg);-moz-transform:rotate(125deg);-ms-transform:rotate(125deg);-o-transform:rotate(125deg);transform:rotate(125deg)}.wi-wind.towards-126-deg{-webkit-transform:rotate(126deg);-moz-transform:rotate(126deg);-ms-transform:rotate(126deg);-o-transform:rotate(126deg);transform:rotate(126deg)}.wi-wind.towards-127-deg{-webkit-transform:rotate(127deg);-moz-transform:rotate(127deg);-ms-transform:rotate(127deg);-o-transform:rotate(127deg);transform:rotate(127deg)}.wi-wind.towards-128-deg{-webkit-transform:rotate(128deg);-moz-transform:rotate(128deg);-ms-transform:rotate(128deg);-o-transform:rotate(128deg);transform:rotate(128deg)}.wi-wind.towards-129-deg{-webkit-transform:rotate(129deg);-moz-transform:rotate(129deg);-ms-transform:rotate(129deg);-o-transform:rotate(129deg);transform:rotate(129deg)}.wi-wind.towards-130-deg{-webkit-transform:rotate(130deg);-moz-transform:rotate(130deg);-ms-transform:rotate(130deg);-o-transform:rotate(130deg);transform:rotate(130deg)}.wi-wind.towards-131-deg{-webkit-transform:rotate(131deg);-moz-transform:rotate(131deg);-ms-transform:rotate(131deg);-o-transform:rotate(131deg);transform:rotate(131deg)}.wi-wind.towards-132-deg{-webkit-transform:rotate(132deg);-moz-transform:rotate(132deg);-ms-transform:rotate(132deg);-o-transform:rotate(132deg);transform:rotate(132deg)}.wi-wind.towards-133-deg{-webkit-transform:rotate(133deg);-moz-transform:rotate(133deg);-ms-transform:rotate(133deg);-o-transform:rotate(133deg);transform:rotate(133deg)}.wi-wind.towards-134-deg{-webkit-transform:rotate(134deg);-moz-transform:rotate(134deg);-ms-transform:rotate(134deg);-o-transform:rotate(134deg);transform:rotate(134deg)}.wi-wind.towards-135-deg{-webkit-transform:rotate(135deg);-moz-transform:rotate(135deg);-ms-transform:rotate(135deg);-o-transform:rotate(135deg);transform:rotate(135deg)}.wi-wind.towards-136-deg{-webkit-transform:rotate(136deg);-moz-transform:rotate(136deg);-ms-transform:rotate(136deg);-o-transform:rotate(136deg);transform:rotate(136deg)}.wi-wind.towards-137-deg{-webkit-transform:rotate(137deg);-moz-transform:rotate(137deg);-ms-transform:rotate(137deg);-o-transform:rotate(137deg);transform:rotate(137deg)}.wi-wind.towards-138-deg{-webkit-transform:rotate(138deg);-moz-transform:rotate(138deg);-ms-transform:rotate(138deg);-o-transform:rotate(138deg);transform:rotate(138deg)}.wi-wind.towards-139-deg{-webkit-transform:rotate(139deg);-moz-transform:rotate(139deg);-ms-transform:rotate(139deg);-o-transform:rotate(139deg);transform:rotate(139deg)}.wi-wind.towards-140-deg{-webkit-transform:rotate(140deg);-moz-transform:rotate(140deg);-ms-transform:rotate(140deg);-o-transform:rotate(140deg);transform:rotate(140deg)}.wi-wind.towards-141-deg{-webkit-transform:rotate(141deg);-moz-transform:rotate(141deg);-ms-transform:rotate(141deg);-o-transform:rotate(141deg);transform:rotate(141deg)}.wi-wind.towards-142-deg{-webkit-transform:rotate(142deg);-moz-transform:rotate(142deg);-ms-transform:rotate(142deg);-o-transform:rotate(142deg);transform:rotate(142deg)}.wi-wind.towards-143-deg{-webkit-transform:rotate(143deg);-moz-transform:rotate(143deg);-ms-transform:rotate(143deg);-o-transform:rotate(143deg);transform:rotate(143deg)}.wi-wind.towards-144-deg{-webkit-transform:rotate(144deg);-moz-transform:rotate(144deg);-ms-transform:rotate(144deg);-o-transform:rotate(144deg);transform:rotate(144deg)}.wi-wind.towards-145-deg{-webkit-transform:rotate(145deg);-moz-transform:rotate(145deg);-ms-transform:rotate(145deg);-o-transform:rotate(145deg);transform:rotate(145deg)}.wi-wind.towards-146-deg{-webkit-transform:rotate(146deg);-moz-transform:rotate(146deg);-ms-transform:rotate(146deg);-o-transform:rotate(146deg);transform:rotate(146deg)}.wi-wind.towards-147-deg{-webkit-transform:rotate(147deg);-moz-transform:rotate(147deg);-ms-transform:rotate(147deg);-o-transform:rotate(147deg);transform:rotate(147deg)}.wi-wind.towards-148-deg{-webkit-transform:rotate(148deg);-moz-transform:rotate(148deg);-ms-transform:rotate(148deg);-o-transform:rotate(148deg);transform:rotate(148deg)}.wi-wind.towards-149-deg{-webkit-transform:rotate(149deg);-moz-transform:rotate(149deg);-ms-transform:rotate(149deg);-o-transform:rotate(149deg);transform:rotate(149deg)}.wi-wind.towards-150-deg{-webkit-transform:rotate(150deg);-moz-transform:rotate(150deg);-ms-transform:rotate(150deg);-o-transform:rotate(150deg);transform:rotate(150deg)}.wi-wind.towards-151-deg{-webkit-transform:rotate(151deg);-moz-transform:rotate(151deg);-ms-transform:rotate(151deg);-o-transform:rotate(151deg);transform:rotate(151deg)}.wi-wind.towards-152-deg{-webkit-transform:rotate(152deg);-moz-transform:rotate(152deg);-ms-transform:rotate(152deg);-o-transform:rotate(152deg);transform:rotate(152deg)}.wi-wind.towards-153-deg{-webkit-transform:rotate(153deg);-moz-transform:rotate(153deg);-ms-transform:rotate(153deg);-o-transform:rotate(153deg);transform:rotate(153deg)}.wi-wind.towards-154-deg{-webkit-transform:rotate(154deg);-moz-transform:rotate(154deg);-ms-transform:rotate(154deg);-o-transform:rotate(154deg);transform:rotate(154deg)}.wi-wind.towards-155-deg{-webkit-transform:rotate(155deg);-moz-transform:rotate(155deg);-ms-transform:rotate(155deg);-o-transform:rotate(155deg);transform:rotate(155deg)}.wi-wind.towards-156-deg{-webkit-transform:rotate(156deg);-moz-transform:rotate(156deg);-ms-transform:rotate(156deg);-o-transform:rotate(156deg);transform:rotate(156deg)}.wi-wind.towards-157-deg{-webkit-transform:rotate(157deg);-moz-transform:rotate(157deg);-ms-transform:rotate(157deg);-o-transform:rotate(157deg);transform:rotate(157deg)}.wi-wind.towards-158-deg{-webkit-transform:rotate(158deg);-moz-transform:rotate(158deg);-ms-transform:rotate(158deg);-o-transform:rotate(158deg);transform:rotate(158deg)}.wi-wind.towards-159-deg{-webkit-transform:rotate(159deg);-moz-transform:rotate(159deg);-ms-transform:rotate(159deg);-o-transform:rotate(159deg);transform:rotate(159deg)}.wi-wind.towards-160-deg{-webkit-transform:rotate(160deg);-moz-transform:rotate(160deg);-ms-transform:rotate(160deg);-o-transform:rotate(160deg);transform:rotate(160deg)}.wi-wind.towards-161-deg{-webkit-transform:rotate(161deg);-moz-transform:rotate(161deg);-ms-transform:rotate(161deg);-o-transform:rotate(161deg);transform:rotate(161deg)}.wi-wind.towards-162-deg{-webkit-transform:rotate(162deg);-moz-transform:rotate(162deg);-ms-transform:rotate(162deg);-o-transform:rotate(162deg);transform:rotate(162deg)}.wi-wind.towards-163-deg{-webkit-transform:rotate(163deg);-moz-transform:rotate(163deg);-ms-transform:rotate(163deg);-o-transform:rotate(163deg);transform:rotate(163deg)}.wi-wind.towards-164-deg{-webkit-transform:rotate(164deg);-moz-transform:rotate(164deg);-ms-transform:rotate(164deg);-o-transform:rotate(164deg);transform:rotate(164deg)}.wi-wind.towards-165-deg{-webkit-transform:rotate(165deg);-moz-transform:rotate(165deg);-ms-transform:rotate(165deg);-o-transform:rotate(165deg);transform:rotate(165deg)}.wi-wind.towards-166-deg{-webkit-transform:rotate(166deg);-moz-transform:rotate(166deg);-ms-transform:rotate(166deg);-o-transform:rotate(166deg);transform:rotate(166deg)}.wi-wind.towards-167-deg{-webkit-transform:rotate(167deg);-moz-transform:rotate(167deg);-ms-transform:rotate(167deg);-o-transform:rotate(167deg);transform:rotate(167deg)}.wi-wind.towards-168-deg{-webkit-transform:rotate(168deg);-moz-transform:rotate(168deg);-ms-transform:rotate(168deg);-o-transform:rotate(168deg);transform:rotate(168deg)}.wi-wind.towards-169-deg{-webkit-transform:rotate(169deg);-moz-transform:rotate(169deg);-ms-transform:rotate(169deg);-o-transform:rotate(169deg);transform:rotate(169deg)}.wi-wind.towards-170-deg{-webkit-transform:rotate(170deg);-moz-transform:rotate(170deg);-ms-transform:rotate(170deg);-o-transform:rotate(170deg);transform:rotate(170deg)}.wi-wind.towards-171-deg{-webkit-transform:rotate(171deg);-moz-transform:rotate(171deg);-ms-transform:rotate(171deg);-o-transform:rotate(171deg);transform:rotate(171deg)}.wi-wind.towards-172-deg{-webkit-transform:rotate(172deg);-moz-transform:rotate(172deg);-ms-transform:rotate(172deg);-o-transform:rotate(172deg);transform:rotate(172deg)}.wi-wind.towards-173-deg{-webkit-transform:rotate(173deg);-moz-transform:rotate(173deg);-ms-transform:rotate(173deg);-o-transform:rotate(173deg);transform:rotate(173deg)}.wi-wind.towards-174-deg{-webkit-transform:rotate(174deg);-moz-transform:rotate(174deg);-ms-transform:rotate(174deg);-o-transform:rotate(174deg);transform:rotate(174deg)}.wi-wind.towards-175-deg{-webkit-transform:rotate(175deg);-moz-transform:rotate(175deg);-ms-transform:rotate(175deg);-o-transform:rotate(175deg);transform:rotate(175deg)}.wi-wind.towards-176-deg{-webkit-transform:rotate(176deg);-moz-transform:rotate(176deg);-ms-transform:rotate(176deg);-o-transform:rotate(176deg);transform:rotate(176deg)}.wi-wind.towards-177-deg{-webkit-transform:rotate(177deg);-moz-transform:rotate(177deg);-ms-transform:rotate(177deg);-o-transform:rotate(177deg);transform:rotate(177deg)}.wi-wind.towards-178-deg{-webkit-transform:rotate(178deg);-moz-transform:rotate(178deg);-ms-transform:rotate(178deg);-o-transform:rotate(178deg);transform:rotate(178deg)}.wi-wind.towards-179-deg{-webkit-transform:rotate(179deg);-moz-transform:rotate(179deg);-ms-transform:rotate(179deg);-o-transform:rotate(179deg);transform:rotate(179deg)}.wi-wind.towards-180-deg{-webkit-transform:rotate(180deg);-moz-transform:rotate(180deg);-ms-transform:rotate(180deg);-o-transform:rotate(180deg);transform:rotate(180deg)}.wi-wind.towards-181-deg{-webkit-transform:rotate(181deg);-moz-transform:rotate(181deg);-ms-transform:rotate(181deg);-o-transform:rotate(181deg);transform:rotate(181deg)}.wi-wind.towards-182-deg{-webkit-transform:rotate(182deg);-moz-transform:rotate(182deg);-ms-transform:rotate(182deg);-o-transform:rotate(182deg);transform:rotate(182deg)}.wi-wind.towards-183-deg{-webkit-transform:rotate(183deg);-moz-transform:rotate(183deg);-ms-transform:rotate(183deg);-o-transform:rotate(183deg);transform:rotate(183deg)}.wi-wind.towards-184-deg{-webkit-transform:rotate(184deg);-moz-transform:rotate(184deg);-ms-transform:rotate(184deg);-o-transform:rotate(184deg);transform:rotate(184deg)}.wi-wind.towards-185-deg{-webkit-transform:rotate(185deg);-moz-transform:rotate(185deg);-ms-transform:rotate(185deg);-o-transform:rotate(185deg);transform:rotate(185deg)}.wi-wind.towards-186-deg{-webkit-transform:rotate(186deg);-moz-transform:rotate(186deg);-ms-transform:rotate(186deg);-o-transform:rotate(186deg);transform:rotate(186deg)}.wi-wind.towards-187-deg{-webkit-transform:rotate(187deg);-moz-transform:rotate(187deg);-ms-transform:rotate(187deg);-o-transform:rotate(187deg);transform:rotate(187deg)}.wi-wind.towards-188-deg{-webkit-transform:rotate(188deg);-moz-transform:rotate(188deg);-ms-transform:rotate(188deg);-o-transform:rotate(188deg);transform:rotate(188deg)}.wi-wind.towards-189-deg{-webkit-transform:rotate(189deg);-moz-transform:rotate(189deg);-ms-transform:rotate(189deg);-o-transform:rotate(189deg);transform:rotate(189deg)}.wi-wind.towards-190-deg{-webkit-transform:rotate(190deg);-moz-transform:rotate(190deg);-ms-transform:rotate(190deg);-o-transform:rotate(190deg);transform:rotate(190deg)}.wi-wind.towards-191-deg{-webkit-transform:rotate(191deg);-moz-transform:rotate(191deg);-ms-transform:rotate(191deg);-o-transform:rotate(191deg);transform:rotate(191deg)}.wi-wind.towards-192-deg{-webkit-transform:rotate(192deg);-moz-transform:rotate(192deg);-ms-transform:rotate(192deg);-o-transform:rotate(192deg);transform:rotate(192deg)}.wi-wind.towards-193-deg{-webkit-transform:rotate(193deg);-moz-transform:rotate(193deg);-ms-transform:rotate(193deg);-o-transform:rotate(193deg);transform:rotate(193deg)}.wi-wind.towards-194-deg{-webkit-transform:rotate(194deg);-moz-transform:rotate(194deg);-ms-transform:rotate(194deg);-o-transform:rotate(194deg);transform:rotate(194deg)}.wi-wind.towards-195-deg{-webkit-transform:rotate(195deg);-moz-transform:rotate(195deg);-ms-transform:rotate(195deg);-o-transform:rotate(195deg);transform:rotate(195deg)}.wi-wind.towards-196-deg{-webkit-transform:rotate(196deg);-moz-transform:rotate(196deg);-ms-transform:rotate(196deg);-o-transform:rotate(196deg);transform:rotate(196deg)}.wi-wind.towards-197-deg{-webkit-transform:rotate(197deg);-moz-transform:rotate(197deg);-ms-transform:rotate(197deg);-o-transform:rotate(197deg);transform:rotate(197deg)}.wi-wind.towards-198-deg{-webkit-transform:rotate(198deg);-moz-transform:rotate(198deg);-ms-transform:rotate(198deg);-o-transform:rotate(198deg);transform:rotate(198deg)}.wi-wind.towards-199-deg{-webkit-transform:rotate(199deg);-moz-transform:rotate(199deg);-ms-transform:rotate(199deg);-o-transform:rotate(199deg);transform:rotate(199deg)}.wi-wind.towards-200-deg{-webkit-transform:rotate(200deg);-moz-transform:rotate(200deg);-ms-transform:rotate(200deg);-o-transform:rotate(200deg);transform:rotate(200deg)}.wi-wind.towards-201-deg{-webkit-transform:rotate(201deg);-moz-transform:rotate(201deg);-ms-transform:rotate(201deg);-o-transform:rotate(201deg);transform:rotate(201deg)}.wi-wind.towards-202-deg{-webkit-transform:rotate(202deg);-moz-transform:rotate(202deg);-ms-transform:rotate(202deg);-o-transform:rotate(202deg);transform:rotate(202deg)}.wi-wind.towards-203-deg{-webkit-transform:rotate(203deg);-moz-transform:rotate(203deg);-ms-transform:rotate(203deg);-o-transform:rotate(203deg);transform:rotate(203deg)}.wi-wind.towards-204-deg{-webkit-transform:rotate(204deg);-moz-transform:rotate(204deg);-ms-transform:rotate(204deg);-o-transform:rotate(204deg);transform:rotate(204deg)}.wi-wind.towards-205-deg{-webkit-transform:rotate(205deg);-moz-transform:rotate(205deg);-ms-transform:rotate(205deg);-o-transform:rotate(205deg);transform:rotate(205deg)}.wi-wind.towards-206-deg{-webkit-transform:rotate(206deg);-moz-transform:rotate(206deg);-ms-transform:rotate(206deg);-o-transform:rotate(206deg);transform:rotate(206deg)}.wi-wind.towards-207-deg{-webkit-transform:rotate(207deg);-moz-transform:rotate(207deg);-ms-transform:rotate(207deg);-o-transform:rotate(207deg);transform:rotate(207deg)}.wi-wind.towards-208-deg{-webkit-transform:rotate(208deg);-moz-transform:rotate(208deg);-ms-transform:rotate(208deg);-o-transform:rotate(208deg);transform:rotate(208deg)}.wi-wind.towards-209-deg{-webkit-transform:rotate(209deg);-moz-transform:rotate(209deg);-ms-transform:rotate(209deg);-o-transform:rotate(209deg);transform:rotate(209deg)}.wi-wind.towards-210-deg{-webkit-transform:rotate(210deg);-moz-transform:rotate(210deg);-ms-transform:rotate(210deg);-o-transform:rotate(210deg);transform:rotate(210deg)}.wi-wind.towards-211-deg{-webkit-transform:rotate(211deg);-moz-transform:rotate(211deg);-ms-transform:rotate(211deg);-o-transform:rotate(211deg);transform:rotate(211deg)}.wi-wind.towards-212-deg{-webkit-transform:rotate(212deg);-moz-transform:rotate(212deg);-ms-transform:rotate(212deg);-o-transform:rotate(212deg);transform:rotate(212deg)}.wi-wind.towards-213-deg{-webkit-transform:rotate(213deg);-moz-transform:rotate(213deg);-ms-transform:rotate(213deg);-o-transform:rotate(213deg);transform:rotate(213deg)}.wi-wind.towards-214-deg{-webkit-transform:rotate(214deg);-moz-transform:rotate(214deg);-ms-transform:rotate(214deg);-o-transform:rotate(214deg);transform:rotate(214deg)}.wi-wind.towards-215-deg{-webkit-transform:rotate(215deg);-moz-transform:rotate(215deg);-ms-transform:rotate(215deg);-o-transform:rotate(215deg);transform:rotate(215deg)}.wi-wind.towards-216-deg{-webkit-transform:rotate(216deg);-moz-transform:rotate(216deg);-ms-transform:rotate(216deg);-o-transform:rotate(216deg);transform:rotate(216deg)}.wi-wind.towards-217-deg{-webkit-transform:rotate(217deg);-moz-transform:rotate(217deg);-ms-transform:rotate(217deg);-o-transform:rotate(217deg);transform:rotate(217deg)}.wi-wind.towards-218-deg{-webkit-transform:rotate(218deg);-moz-transform:rotate(218deg);-ms-transform:rotate(218deg);-o-transform:rotate(218deg);transform:rotate(218deg)}.wi-wind.towards-219-deg{-webkit-transform:rotate(219deg);-moz-transform:rotate(219deg);-ms-transform:rotate(219deg);-o-transform:rotate(219deg);transform:rotate(219deg)}.wi-wind.towards-220-deg{-webkit-transform:rotate(220deg);-moz-transform:rotate(220deg);-ms-transform:rotate(220deg);-o-transform:rotate(220deg);transform:rotate(220deg)}.wi-wind.towards-221-deg{-webkit-transform:rotate(221deg);-moz-transform:rotate(221deg);-ms-transform:rotate(221deg);-o-transform:rotate(221deg);transform:rotate(221deg)}.wi-wind.towards-222-deg{-webkit-transform:rotate(222deg);-moz-transform:rotate(222deg);-ms-transform:rotate(222deg);-o-transform:rotate(222deg);transform:rotate(222deg)}.wi-wind.towards-223-deg{-webkit-transform:rotate(223deg);-moz-transform:rotate(223deg);-ms-transform:rotate(223deg);-o-transform:rotate(223deg);transform:rotate(223deg)}.wi-wind.towards-224-deg{-webkit-transform:rotate(224deg);-moz-transform:rotate(224deg);-ms-transform:rotate(224deg);-o-transform:rotate(224deg);transform:rotate(224deg)}.wi-wind.towards-225-deg{-webkit-transform:rotate(225deg);-moz-transform:rotate(225deg);-ms-transform:rotate(225deg);-o-transform:rotate(225deg);transform:rotate(225deg)}.wi-wind.towards-226-deg{-webkit-transform:rotate(226deg);-moz-transform:rotate(226deg);-ms-transform:rotate(226deg);-o-transform:rotate(226deg);transform:rotate(226deg)}.wi-wind.towards-227-deg{-webkit-transform:rotate(227deg);-moz-transform:rotate(227deg);-ms-transform:rotate(227deg);-o-transform:rotate(227deg);transform:rotate(227deg)}.wi-wind.towards-228-deg{-webkit-transform:rotate(228deg);-moz-transform:rotate(228deg);-ms-transform:rotate(228deg);-o-transform:rotate(228deg);transform:rotate(228deg)}.wi-wind.towards-229-deg{-webkit-transform:rotate(229deg);-moz-transform:rotate(229deg);-ms-transform:rotate(229deg);-o-transform:rotate(229deg);transform:rotate(229deg)}.wi-wind.towards-230-deg{-webkit-transform:rotate(230deg);-moz-transform:rotate(230deg);-ms-transform:rotate(230deg);-o-transform:rotate(230deg);transform:rotate(230deg)}.wi-wind.towards-231-deg{-webkit-transform:rotate(231deg);-moz-transform:rotate(231deg);-ms-transform:rotate(231deg);-o-transform:rotate(231deg);transform:rotate(231deg)}.wi-wind.towards-232-deg{-webkit-transform:rotate(232deg);-moz-transform:rotate(232deg);-ms-transform:rotate(232deg);-o-transform:rotate(232deg);transform:rotate(232deg)}.wi-wind.towards-233-deg{-webkit-transform:rotate(233deg);-moz-transform:rotate(233deg);-ms-transform:rotate(233deg);-o-transform:rotate(233deg);transform:rotate(233deg)}.wi-wind.towards-234-deg{-webkit-transform:rotate(234deg);-moz-transform:rotate(234deg);-ms-transform:rotate(234deg);-o-transform:rotate(234deg);transform:rotate(234deg)}.wi-wind.towards-235-deg{-webkit-transform:rotate(235deg);-moz-transform:rotate(235deg);-ms-transform:rotate(235deg);-o-transform:rotate(235deg);transform:rotate(235deg)}.wi-wind.towards-236-deg{-webkit-transform:rotate(236deg);-moz-transform:rotate(236deg);-ms-transform:rotate(236deg);-o-transform:rotate(236deg);transform:rotate(236deg)}.wi-wind.towards-237-deg{-webkit-transform:rotate(237deg);-moz-transform:rotate(237deg);-ms-transform:rotate(237deg);-o-transform:rotate(237deg);transform:rotate(237deg)}.wi-wind.towards-238-deg{-webkit-transform:rotate(238deg);-moz-transform:rotate(238deg);-ms-transform:rotate(238deg);-o-transform:rotate(238deg);transform:rotate(238deg)}.wi-wind.towards-239-deg{-webkit-transform:rotate(239deg);-moz-transform:rotate(239deg);-ms-transform:rotate(239deg);-o-transform:rotate(239deg);transform:rotate(239deg)}.wi-wind.towards-240-deg{-webkit-transform:rotate(240deg);-moz-transform:rotate(240deg);-ms-transform:rotate(240deg);-o-transform:rotate(240deg);transform:rotate(240deg)}.wi-wind.towards-241-deg{-webkit-transform:rotate(241deg);-moz-transform:rotate(241deg);-ms-transform:rotate(241deg);-o-transform:rotate(241deg);transform:rotate(241deg)}.wi-wind.towards-242-deg{-webkit-transform:rotate(242deg);-moz-transform:rotate(242deg);-ms-transform:rotate(242deg);-o-transform:rotate(242deg);transform:rotate(242deg)}.wi-wind.towards-243-deg{-webkit-transform:rotate(243deg);-moz-transform:rotate(243deg);-ms-transform:rotate(243deg);-o-transform:rotate(243deg);transform:rotate(243deg)}.wi-wind.towards-244-deg{-webkit-transform:rotate(244deg);-moz-transform:rotate(244deg);-ms-transform:rotate(244deg);-o-transform:rotate(244deg);transform:rotate(244deg)}.wi-wind.towards-245-deg{-webkit-transform:rotate(245deg);-moz-transform:rotate(245deg);-ms-transform:rotate(245deg);-o-transform:rotate(245deg);transform:rotate(245deg)}.wi-wind.towards-246-deg{-webkit-transform:rotate(246deg);-moz-transform:rotate(246deg);-ms-transform:rotate(246deg);-o-transform:rotate(246deg);transform:rotate(246deg)}.wi-wind.towards-247-deg{-webkit-transform:rotate(247deg);-moz-transform:rotate(247deg);-ms-transform:rotate(247deg);-o-transform:rotate(247deg);transform:rotate(247deg)}.wi-wind.towards-248-deg{-webkit-transform:rotate(248deg);-moz-transform:rotate(248deg);-ms-transform:rotate(248deg);-o-transform:rotate(248deg);transform:rotate(248deg)}.wi-wind.towards-249-deg{-webkit-transform:rotate(249deg);-moz-transform:rotate(249deg);-ms-transform:rotate(249deg);-o-transform:rotate(249deg);transform:rotate(249deg)}.wi-wind.towards-250-deg{-webkit-transform:rotate(250deg);-moz-transform:rotate(250deg);-ms-transform:rotate(250deg);-o-transform:rotate(250deg);transform:rotate(250deg)}.wi-wind.towards-251-deg{-webkit-transform:rotate(251deg);-moz-transform:rotate(251deg);-ms-transform:rotate(251deg);-o-transform:rotate(251deg);transform:rotate(251deg)}.wi-wind.towards-252-deg{-webkit-transform:rotate(252deg);-moz-transform:rotate(252deg);-ms-transform:rotate(252deg);-o-transform:rotate(252deg);transform:rotate(252deg)}.wi-wind.towards-253-deg{-webkit-transform:rotate(253deg);-moz-transform:rotate(253deg);-ms-transform:rotate(253deg);-o-transform:rotate(253deg);transform:rotate(253deg)}.wi-wind.towards-254-deg{-webkit-transform:rotate(254deg);-moz-transform:rotate(254deg);-ms-transform:rotate(254deg);-o-transform:rotate(254deg);transform:rotate(254deg)}.wi-wind.towards-255-deg{-webkit-transform:rotate(255deg);-moz-transform:rotate(255deg);-ms-transform:rotate(255deg);-o-transform:rotate(255deg);transform:rotate(255deg)}.wi-wind.towards-256-deg{-webkit-transform:rotate(256deg);-moz-transform:rotate(256deg);-ms-transform:rotate(256deg);-o-transform:rotate(256deg);transform:rotate(256deg)}.wi-wind.towards-257-deg{-webkit-transform:rotate(257deg);-moz-transform:rotate(257deg);-ms-transform:rotate(257deg);-o-transform:rotate(257deg);transform:rotate(257deg)}.wi-wind.towards-258-deg{-webkit-transform:rotate(258deg);-moz-transform:rotate(258deg);-ms-transform:rotate(258deg);-o-transform:rotate(258deg);transform:rotate(258deg)}.wi-wind.towards-259-deg{-webkit-transform:rotate(259deg);-moz-transform:rotate(259deg);-ms-transform:rotate(259deg);-o-transform:rotate(259deg);transform:rotate(259deg)}.wi-wind.towards-260-deg{-webkit-transform:rotate(260deg);-moz-transform:rotate(260deg);-ms-transform:rotate(260deg);-o-transform:rotate(260deg);transform:rotate(260deg)}.wi-wind.towards-261-deg{-webkit-transform:rotate(261deg);-moz-transform:rotate(261deg);-ms-transform:rotate(261deg);-o-transform:rotate(261deg);transform:rotate(261deg)}.wi-wind.towards-262-deg{-webkit-transform:rotate(262deg);-moz-transform:rotate(262deg);-ms-transform:rotate(262deg);-o-transform:rotate(262deg);transform:rotate(262deg)}.wi-wind.towards-263-deg{-webkit-transform:rotate(263deg);-moz-transform:rotate(263deg);-ms-transform:rotate(263deg);-o-transform:rotate(263deg);transform:rotate(263deg)}.wi-wind.towards-264-deg{-webkit-transform:rotate(264deg);-moz-transform:rotate(264deg);-ms-transform:rotate(264deg);-o-transform:rotate(264deg);transform:rotate(264deg)}.wi-wind.towards-265-deg{-webkit-transform:rotate(265deg);-moz-transform:rotate(265deg);-ms-transform:rotate(265deg);-o-transform:rotate(265deg);transform:rotate(265deg)}.wi-wind.towards-266-deg{-webkit-transform:rotate(266deg);-moz-transform:rotate(266deg);-ms-transform:rotate(266deg);-o-transform:rotate(266deg);transform:rotate(266deg)}.wi-wind.towards-267-deg{-webkit-transform:rotate(267deg);-moz-transform:rotate(267deg);-ms-transform:rotate(267deg);-o-transform:rotate(267deg);transform:rotate(267deg)}.wi-wind.towards-268-deg{-webkit-transform:rotate(268deg);-moz-transform:rotate(268deg);-ms-transform:rotate(268deg);-o-transform:rotate(268deg);transform:rotate(268deg)}.wi-wind.towards-269-deg{-webkit-transform:rotate(269deg);-moz-transform:rotate(269deg);-ms-transform:rotate(269deg);-o-transform:rotate(269deg);transform:rotate(269deg)}.wi-wind.towards-270-deg{-webkit-transform:rotate(270deg);-moz-transform:rotate(270deg);-ms-transform:rotate(270deg);-o-transform:rotate(270deg);transform:rotate(270deg)}.wi-wind.towards-271-deg{-webkit-transform:rotate(271deg);-moz-transform:rotate(271deg);-ms-transform:rotate(271deg);-o-transform:rotate(271deg);transform:rotate(271deg)}.wi-wind.towards-272-deg{-webkit-transform:rotate(272deg);-moz-transform:rotate(272deg);-ms-transform:rotate(272deg);-o-transform:rotate(272deg);transform:rotate(272deg)}.wi-wind.towards-273-deg{-webkit-transform:rotate(273deg);-moz-transform:rotate(273deg);-ms-transform:rotate(273deg);-o-transform:rotate(273deg);transform:rotate(273deg)}.wi-wind.towards-274-deg{-webkit-transform:rotate(274deg);-moz-transform:rotate(274deg);-ms-transform:rotate(274deg);-o-transform:rotate(274deg);transform:rotate(274deg)}.wi-wind.towards-275-deg{-webkit-transform:rotate(275deg);-moz-transform:rotate(275deg);-ms-transform:rotate(275deg);-o-transform:rotate(275deg);transform:rotate(275deg)}.wi-wind.towards-276-deg{-webkit-transform:rotate(276deg);-moz-transform:rotate(276deg);-ms-transform:rotate(276deg);-o-transform:rotate(276deg);transform:rotate(276deg)}.wi-wind.towards-277-deg{-webkit-transform:rotate(277deg);-moz-transform:rotate(277deg);-ms-transform:rotate(277deg);-o-transform:rotate(277deg);transform:rotate(277deg)}.wi-wind.towards-278-deg{-webkit-transform:rotate(278deg);-moz-transform:rotate(278deg);-ms-transform:rotate(278deg);-o-transform:rotate(278deg);transform:rotate(278deg)}.wi-wind.towards-279-deg{-webkit-transform:rotate(279deg);-moz-transform:rotate(279deg);-ms-transform:rotate(279deg);-o-transform:rotate(279deg);transform:rotate(279deg)}.wi-wind.towards-280-deg{-webkit-transform:rotate(280deg);-moz-transform:rotate(280deg);-ms-transform:rotate(280deg);-o-transform:rotate(280deg);transform:rotate(280deg)}.wi-wind.towards-281-deg{-webkit-transform:rotate(281deg);-moz-transform:rotate(281deg);-ms-transform:rotate(281deg);-o-transform:rotate(281deg);transform:rotate(281deg)}.wi-wind.towards-282-deg{-webkit-transform:rotate(282deg);-moz-transform:rotate(282deg);-ms-transform:rotate(282deg);-o-transform:rotate(282deg);transform:rotate(282deg)}.wi-wind.towards-283-deg{-webkit-transform:rotate(283deg);-moz-transform:rotate(283deg);-ms-transform:rotate(283deg);-o-transform:rotate(283deg);transform:rotate(283deg)}.wi-wind.towards-284-deg{-webkit-transform:rotate(284deg);-moz-transform:rotate(284deg);-ms-transform:rotate(284deg);-o-transform:rotate(284deg);transform:rotate(284deg)}.wi-wind.towards-285-deg{-webkit-transform:rotate(285deg);-moz-transform:rotate(285deg);-ms-transform:rotate(285deg);-o-transform:rotate(285deg);transform:rotate(285deg)}.wi-wind.towards-286-deg{-webkit-transform:rotate(286deg);-moz-transform:rotate(286deg);-ms-transform:rotate(286deg);-o-transform:rotate(286deg);transform:rotate(286deg)}.wi-wind.towards-287-deg{-webkit-transform:rotate(287deg);-moz-transform:rotate(287deg);-ms-transform:rotate(287deg);-o-transform:rotate(287deg);transform:rotate(287deg)}.wi-wind.towards-288-deg{-webkit-transform:rotate(288deg);-moz-transform:rotate(288deg);-ms-transform:rotate(288deg);-o-transform:rotate(288deg);transform:rotate(288deg)}.wi-wind.towards-289-deg{-webkit-transform:rotate(289deg);-moz-transform:rotate(289deg);-ms-transform:rotate(289deg);-o-transform:rotate(289deg);transform:rotate(289deg)}.wi-wind.towards-290-deg{-webkit-transform:rotate(290deg);-moz-transform:rotate(290deg);-ms-transform:rotate(290deg);-o-transform:rotate(290deg);transform:rotate(290deg)}.wi-wind.towards-291-deg{-webkit-transform:rotate(291deg);-moz-transform:rotate(291deg);-ms-transform:rotate(291deg);-o-transform:rotate(291deg);transform:rotate(291deg)}.wi-wind.towards-292-deg{-webkit-transform:rotate(292deg);-moz-transform:rotate(292deg);-ms-transform:rotate(292deg);-o-transform:rotate(292deg);transform:rotate(292deg)}.wi-wind.towards-293-deg{-webkit-transform:rotate(293deg);-moz-transform:rotate(293deg);-ms-transform:rotate(293deg);-o-transform:rotate(293deg);transform:rotate(293deg)}.wi-wind.towards-294-deg{-webkit-transform:rotate(294deg);-moz-transform:rotate(294deg);-ms-transform:rotate(294deg);-o-transform:rotate(294deg);transform:rotate(294deg)}.wi-wind.towards-295-deg{-webkit-transform:rotate(295deg);-moz-transform:rotate(295deg);-ms-transform:rotate(295deg);-o-transform:rotate(295deg);transform:rotate(295deg)}.wi-wind.towards-296-deg{-webkit-transform:rotate(296deg);-moz-transform:rotate(296deg);-ms-transform:rotate(296deg);-o-transform:rotate(296deg);transform:rotate(296deg)}.wi-wind.towards-297-deg{-webkit-transform:rotate(297deg);-moz-transform:rotate(297deg);-ms-transform:rotate(297deg);-o-transform:rotate(297deg);transform:rotate(297deg)}.wi-wind.towards-298-deg{-webkit-transform:rotate(298deg);-moz-transform:rotate(298deg);-ms-transform:rotate(298deg);-o-transform:rotate(298deg);transform:rotate(298deg)}.wi-wind.towards-299-deg{-webkit-transform:rotate(299deg);-moz-transform:rotate(299deg);-ms-transform:rotate(299deg);-o-transform:rotate(299deg);transform:rotate(299deg)}.wi-wind.towards-300-deg{-webkit-transform:rotate(300deg);-moz-transform:rotate(300deg);-ms-transform:rotate(300deg);-o-transform:rotate(300deg);transform:rotate(300deg)}.wi-wind.towards-301-deg{-webkit-transform:rotate(301deg);-moz-transform:rotate(301deg);-ms-transform:rotate(301deg);-o-transform:rotate(301deg);transform:rotate(301deg)}.wi-wind.towards-302-deg{-webkit-transform:rotate(302deg);-moz-transform:rotate(302deg);-ms-transform:rotate(302deg);-o-transform:rotate(302deg);transform:rotate(302deg)}.wi-wind.towards-303-deg{-webkit-transform:rotate(303deg);-moz-transform:rotate(303deg);-ms-transform:rotate(303deg);-o-transform:rotate(303deg);transform:rotate(303deg)}.wi-wind.towards-304-deg{-webkit-transform:rotate(304deg);-moz-transform:rotate(304deg);-ms-transform:rotate(304deg);-o-transform:rotate(304deg);transform:rotate(304deg)}.wi-wind.towards-305-deg{-webkit-transform:rotate(305deg);-moz-transform:rotate(305deg);-ms-transform:rotate(305deg);-o-transform:rotate(305deg);transform:rotate(305deg)}.wi-wind.towards-306-deg{-webkit-transform:rotate(306deg);-moz-transform:rotate(306deg);-ms-transform:rotate(306deg);-o-transform:rotate(306deg);transform:rotate(306deg)}.wi-wind.towards-307-deg{-webkit-transform:rotate(307deg);-moz-transform:rotate(307deg);-ms-transform:rotate(307deg);-o-transform:rotate(307deg);transform:rotate(307deg)}.wi-wind.towards-308-deg{-webkit-transform:rotate(308deg);-moz-transform:rotate(308deg);-ms-transform:rotate(308deg);-o-transform:rotate(308deg);transform:rotate(308deg)}.wi-wind.towards-309-deg{-webkit-transform:rotate(309deg);-moz-transform:rotate(309deg);-ms-transform:rotate(309deg);-o-transform:rotate(309deg);transform:rotate(309deg)}.wi-wind.towards-310-deg{-webkit-transform:rotate(310deg);-moz-transform:rotate(310deg);-ms-transform:rotate(310deg);-o-transform:rotate(310deg);transform:rotate(310deg)}.wi-wind.towards-311-deg{-webkit-transform:rotate(311deg);-moz-transform:rotate(311deg);-ms-transform:rotate(311deg);-o-transform:rotate(311deg);transform:rotate(311deg)}.wi-wind.towards-312-deg{-webkit-transform:rotate(312deg);-moz-transform:rotate(312deg);-ms-transform:rotate(312deg);-o-transform:rotate(312deg);transform:rotate(312deg)}.wi-wind.towards-313-deg{-webkit-transform:rotate(313deg);-moz-transform:rotate(313deg);-ms-transform:rotate(313deg);-o-transform:rotate(313deg);transform:rotate(313deg)}.wi-wind.towards-314-deg{-webkit-transform:rotate(314deg);-moz-transform:rotate(314deg);-ms-transform:rotate(314deg);-o-transform:rotate(314deg);transform:rotate(314deg)}.wi-wind.towards-315-deg{-webkit-transform:rotate(315deg);-moz-transform:rotate(315deg);-ms-transform:rotate(315deg);-o-transform:rotate(315deg);transform:rotate(315deg)}.wi-wind.towards-316-deg{-webkit-transform:rotate(316deg);-moz-transform:rotate(316deg);-ms-transform:rotate(316deg);-o-transform:rotate(316deg);transform:rotate(316deg)}.wi-wind.towards-317-deg{-webkit-transform:rotate(317deg);-moz-transform:rotate(317deg);-ms-transform:rotate(317deg);-o-transform:rotate(317deg);transform:rotate(317deg)}.wi-wind.towards-318-deg{-webkit-transform:rotate(318deg);-moz-transform:rotate(318deg);-ms-transform:rotate(318deg);-o-transform:rotate(318deg);transform:rotate(318deg)}.wi-wind.towards-319-deg{-webkit-transform:rotate(319deg);-moz-transform:rotate(319deg);-ms-transform:rotate(319deg);-o-transform:rotate(319deg);transform:rotate(319deg)}.wi-wind.towards-320-deg{-webkit-transform:rotate(320deg);-moz-transform:rotate(320deg);-ms-transform:rotate(320deg);-o-transform:rotate(320deg);transform:rotate(320deg)}.wi-wind.towards-321-deg{-webkit-transform:rotate(321deg);-moz-transform:rotate(321deg);-ms-transform:rotate(321deg);-o-transform:rotate(321deg);transform:rotate(321deg)}.wi-wind.towards-322-deg{-webkit-transform:rotate(322deg);-moz-transform:rotate(322deg);-ms-transform:rotate(322deg);-o-transform:rotate(322deg);transform:rotate(322deg)}.wi-wind.towards-323-deg{-webkit-transform:rotate(323deg);-moz-transform:rotate(323deg);-ms-transform:rotate(323deg);-o-transform:rotate(323deg);transform:rotate(323deg)}.wi-wind.towards-324-deg{-webkit-transform:rotate(324deg);-moz-transform:rotate(324deg);-ms-transform:rotate(324deg);-o-transform:rotate(324deg);transform:rotate(324deg)}.wi-wind.towards-325-deg{-webkit-transform:rotate(325deg);-moz-transform:rotate(325deg);-ms-transform:rotate(325deg);-o-transform:rotate(325deg);transform:rotate(325deg)}.wi-wind.towards-326-deg{-webkit-transform:rotate(326deg);-moz-transform:rotate(326deg);-ms-transform:rotate(326deg);-o-transform:rotate(326deg);transform:rotate(326deg)}.wi-wind.towards-327-deg{-webkit-transform:rotate(327deg);-moz-transform:rotate(327deg);-ms-transform:rotate(327deg);-o-transform:rotate(327deg);transform:rotate(327deg)}.wi-wind.towards-328-deg{-webkit-transform:rotate(328deg);-moz-transform:rotate(328deg);-ms-transform:rotate(328deg);-o-transform:rotate(328deg);transform:rotate(328deg)}.wi-wind.towards-329-deg{-webkit-transform:rotate(329deg);-moz-transform:rotate(329deg);-ms-transform:rotate(329deg);-o-transform:rotate(329deg);transform:rotate(329deg)}.wi-wind.towards-330-deg{-webkit-transform:rotate(330deg);-moz-transform:rotate(330deg);-ms-transform:rotate(330deg);-o-transform:rotate(330deg);transform:rotate(330deg)}.wi-wind.towards-331-deg{-webkit-transform:rotate(331deg);-moz-transform:rotate(331deg);-ms-transform:rotate(331deg);-o-transform:rotate(331deg);transform:rotate(331deg)}.wi-wind.towards-332-deg{-webkit-transform:rotate(332deg);-moz-transform:rotate(332deg);-ms-transform:rotate(332deg);-o-transform:rotate(332deg);transform:rotate(332deg)}.wi-wind.towards-333-deg{-webkit-transform:rotate(333deg);-moz-transform:rotate(333deg);-ms-transform:rotate(333deg);-o-transform:rotate(333deg);transform:rotate(333deg)}.wi-wind.towards-334-deg{-webkit-transform:rotate(334deg);-moz-transform:rotate(334deg);-ms-transform:rotate(334deg);-o-transform:rotate(334deg);transform:rotate(334deg)}.wi-wind.towards-335-deg{-webkit-transform:rotate(335deg);-moz-transform:rotate(335deg);-ms-transform:rotate(335deg);-o-transform:rotate(335deg);transform:rotate(335deg)}.wi-wind.towards-336-deg{-webkit-transform:rotate(336deg);-moz-transform:rotate(336deg);-ms-transform:rotate(336deg);-o-transform:rotate(336deg);transform:rotate(336deg)}.wi-wind.towards-337-deg{-webkit-transform:rotate(337deg);-moz-transform:rotate(337deg);-ms-transform:rotate(337deg);-o-transform:rotate(337deg);transform:rotate(337deg)}.wi-wind.towards-338-deg{-webkit-transform:rotate(338deg);-moz-transform:rotate(338deg);-ms-transform:rotate(338deg);-o-transform:rotate(338deg);transform:rotate(338deg)}.wi-wind.towards-339-deg{-webkit-transform:rotate(339deg);-moz-transform:rotate(339deg);-ms-transform:rotate(339deg);-o-transform:rotate(339deg);transform:rotate(339deg)}.wi-wind.towards-340-deg{-webkit-transform:rotate(340deg);-moz-transform:rotate(340deg);-ms-transform:rotate(340deg);-o-transform:rotate(340deg);transform:rotate(340deg)}.wi-wind.towards-341-deg{-webkit-transform:rotate(341deg);-moz-transform:rotate(341deg);-ms-transform:rotate(341deg);-o-transform:rotate(341deg);transform:rotate(341deg)}.wi-wind.towards-342-deg{-webkit-transform:rotate(342deg);-moz-transform:rotate(342deg);-ms-transform:rotate(342deg);-o-transform:rotate(342deg);transform:rotate(342deg)}.wi-wind.towards-343-deg{-webkit-transform:rotate(343deg);-moz-transform:rotate(343deg);-ms-transform:rotate(343deg);-o-transform:rotate(343deg);transform:rotate(343deg)}.wi-wind.towards-344-deg{-webkit-transform:rotate(344deg);-moz-transform:rotate(344deg);-ms-transform:rotate(344deg);-o-transform:rotate(344deg);transform:rotate(344deg)}.wi-wind.towards-345-deg{-webkit-transform:rotate(345deg);-moz-transform:rotate(345deg);-ms-transform:rotate(345deg);-o-transform:rotate(345deg);transform:rotate(345deg)}.wi-wind.towards-346-deg{-webkit-transform:rotate(346deg);-moz-transform:rotate(346deg);-ms-transform:rotate(346deg);-o-transform:rotate(346deg);transform:rotate(346deg)}.wi-wind.towards-347-deg{-webkit-transform:rotate(347deg);-moz-transform:rotate(347deg);-ms-transform:rotate(347deg);-o-transform:rotate(347deg);transform:rotate(347deg)}.wi-wind.towards-348-deg{-webkit-transform:rotate(348deg);-moz-transform:rotate(348deg);-ms-transform:rotate(348deg);-o-transform:rotate(348deg);transform:rotate(348deg)}.wi-wind.towards-349-deg{-webkit-transform:rotate(349deg);-moz-transform:rotate(349deg);-ms-transform:rotate(349deg);-o-transform:rotate(349deg);transform:rotate(349deg)}.wi-wind.towards-350-deg{-webkit-transform:rotate(350deg);-moz-transform:rotate(350deg);-ms-transform:rotate(350deg);-o-transform:rotate(350deg);transform:rotate(350deg)}.wi-wind.towards-351-deg{-webkit-transform:rotate(351deg);-moz-transform:rotate(351deg);-ms-transform:rotate(351deg);-o-transform:rotate(351deg);transform:rotate(351deg)}.wi-wind.towards-352-deg{-webkit-transform:rotate(352deg);-moz-transform:rotate(352deg);-ms-transform:rotate(352deg);-o-transform:rotate(352deg);transform:rotate(352deg)}.wi-wind.towards-353-deg{-webkit-transform:rotate(353deg);-moz-transform:rotate(353deg);-ms-transform:rotate(353deg);-o-transform:rotate(353deg);transform:rotate(353deg)}.wi-wind.towards-354-deg{-webkit-transform:rotate(354deg);-moz-transform:rotate(354deg);-ms-transform:rotate(354deg);-o-transform:rotate(354deg);transform:rotate(354deg)}.wi-wind.towards-355-deg{-webkit-transform:rotate(355deg);-moz-transform:rotate(355deg);-ms-transform:rotate(355deg);-o-transform:rotate(355deg);transform:rotate(355deg)}.wi-wind.towards-356-deg{-webkit-transform:rotate(356deg);-moz-transform:rotate(356deg);-ms-transform:rotate(356deg);-o-transform:rotate(356deg);transform:rotate(356deg)}.wi-wind.towards-357-deg{-webkit-transform:rotate(357deg);-moz-transform:rotate(357deg);-ms-transform:rotate(357deg);-o-transform:rotate(357deg);transform:rotate(357deg)}.wi-wind.towards-358-deg{-webkit-transform:rotate(358deg);-moz-transform:rotate(358deg);-ms-transform:rotate(358deg);-o-transform:rotate(358deg);transform:rotate(358deg)}.wi-wind.towards-359-deg{-webkit-transform:rotate(359deg);-moz-transform:rotate(359deg);-ms-transform:rotate(359deg);-o-transform:rotate(359deg);transform:rotate(359deg)}.wi-wind.towards-360-deg{-webkit-transform:rotate(0);-moz-transform:rotate(0);-ms-transform:rotate(0);-o-transform:rotate(0);transform:rotate(0)}.wi-wind.from-0-deg{-webkit-transform:rotate(180deg);-moz-transform:rotate(180deg);-ms-transform:rotate(180deg);-o-transform:rotate(180deg);transform:rotate(180deg)}.wi-wind.from-1-deg{-webkit-transform:rotate(181deg);-moz-transform:rotate(181deg);-ms-transform:rotate(181deg);-o-transform:rotate(181deg);transform:rotate(181deg)}.wi-wind.from-2-deg{-webkit-transform:rotate(182deg);-moz-transform:rotate(182deg);-ms-transform:rotate(182deg);-o-transform:rotate(182deg);transform:rotate(182deg)}.wi-wind.from-3-deg{-webkit-transform:rotate(183deg);-moz-transform:rotate(183deg);-ms-transform:rotate(183deg);-o-transform:rotate(183deg);transform:rotate(183deg)}.wi-wind.from-4-deg{-webkit-transform:rotate(184deg);-moz-transform:rotate(184deg);-ms-transform:rotate(184deg);-o-transform:rotate(184deg);transform:rotate(184deg)}.wi-wind.from-5-deg{-webkit-transform:rotate(185deg);-moz-transform:rotate(185deg);-ms-transform:rotate(185deg);-o-transform:rotate(185deg);transform:rotate(185deg)}.wi-wind.from-6-deg{-webkit-transform:rotate(186deg);-moz-transform:rotate(186deg);-ms-transform:rotate(186deg);-o-transform:rotate(186deg);transform:rotate(186deg)}.wi-wind.from-7-deg{-webkit-transform:rotate(187deg);-moz-transform:rotate(187deg);-ms-transform:rotate(187deg);-o-transform:rotate(187deg);transform:rotate(187deg)}.wi-wind.from-8-deg{-webkit-transform:rotate(188deg);-moz-transform:rotate(188deg);-ms-transform:rotate(188deg);-o-transform:rotate(188deg);transform:rotate(188deg)}.wi-wind.from-9-deg{-webkit-transform:rotate(189deg);-moz-transform:rotate(189deg);-ms-transform:rotate(189deg);-o-transform:rotate(189deg);transform:rotate(189deg)}.wi-wind.from-10-deg{-webkit-transform:rotate(190deg);-moz-transform:rotate(190deg);-ms-transform:rotate(190deg);-o-transform:rotate(190deg);transform:rotate(190deg)}.wi-wind.from-11-deg{-webkit-transform:rotate(191deg);-moz-transform:rotate(191deg);-ms-transform:rotate(191deg);-o-transform:rotate(191deg);transform:rotate(191deg)}.wi-wind.from-12-deg{-webkit-transform:rotate(192deg);-moz-transform:rotate(192deg);-ms-transform:rotate(192deg);-o-transform:rotate(192deg);transform:rotate(192deg)}.wi-wind.from-13-deg{-webkit-transform:rotate(193deg);-moz-transform:rotate(193deg);-ms-transform:rotate(193deg);-o-transform:rotate(193deg);transform:rotate(193deg)}.wi-wind.from-14-deg{-webkit-transform:rotate(194deg);-moz-transform:rotate(194deg);-ms-transform:rotate(194deg);-o-transform:rotate(194deg);transform:rotate(194deg)}.wi-wind.from-15-deg{-webkit-transform:rotate(195deg);-moz-transform:rotate(195deg);-ms-transform:rotate(195deg);-o-transform:rotate(195deg);transform:rotate(195deg)}.wi-wind.from-16-deg{-webkit-transform:rotate(196deg);-moz-transform:rotate(196deg);-ms-transform:rotate(196deg);-o-transform:rotate(196deg);transform:rotate(196deg)}.wi-wind.from-17-deg{-webkit-transform:rotate(197deg);-moz-transform:rotate(197deg);-ms-transform:rotate(197deg);-o-transform:rotate(197deg);transform:rotate(197deg)}.wi-wind.from-18-deg{-webkit-transform:rotate(198deg);-moz-transform:rotate(198deg);-ms-transform:rotate(198deg);-o-transform:rotate(198deg);transform:rotate(198deg)}.wi-wind.from-19-deg{-webkit-transform:rotate(199deg);-moz-transform:rotate(199deg);-ms-transform:rotate(199deg);-o-transform:rotate(199deg);transform:rotate(199deg)}.wi-wind.from-20-deg{-webkit-transform:rotate(200deg);-moz-transform:rotate(200deg);-ms-transform:rotate(200deg);-o-transform:rotate(200deg);transform:rotate(200deg)}.wi-wind.from-21-deg{-webkit-transform:rotate(201deg);-moz-transform:rotate(201deg);-ms-transform:rotate(201deg);-o-transform:rotate(201deg);transform:rotate(201deg)}.wi-wind.from-22-deg{-webkit-transform:rotate(202deg);-moz-transform:rotate(202deg);-ms-transform:rotate(202deg);-o-transform:rotate(202deg);transform:rotate(202deg)}.wi-wind.from-23-deg{-webkit-transform:rotate(203deg);-moz-transform:rotate(203deg);-ms-transform:rotate(203deg);-o-transform:rotate(203deg);transform:rotate(203deg)}.wi-wind.from-24-deg{-webkit-transform:rotate(204deg);-moz-transform:rotate(204deg);-ms-transform:rotate(204deg);-o-transform:rotate(204deg);transform:rotate(204deg)}.wi-wind.from-25-deg{-webkit-transform:rotate(205deg);-moz-transform:rotate(205deg);-ms-transform:rotate(205deg);-o-transform:rotate(205deg);transform:rotate(205deg)}.wi-wind.from-26-deg{-webkit-transform:rotate(206deg);-moz-transform:rotate(206deg);-ms-transform:rotate(206deg);-o-transform:rotate(206deg);transform:rotate(206deg)}.wi-wind.from-27-deg{-webkit-transform:rotate(207deg);-moz-transform:rotate(207deg);-ms-transform:rotate(207deg);-o-transform:rotate(207deg);transform:rotate(207deg)}.wi-wind.from-28-deg{-webkit-transform:rotate(208deg);-moz-transform:rotate(208deg);-ms-transform:rotate(208deg);-o-transform:rotate(208deg);transform:rotate(208deg)}.wi-wind.from-29-deg{-webkit-transform:rotate(209deg);-moz-transform:rotate(209deg);-ms-transform:rotate(209deg);-o-transform:rotate(209deg);transform:rotate(209deg)}.wi-wind.from-30-deg{-webkit-transform:rotate(210deg);-moz-transform:rotate(210deg);-ms-transform:rotate(210deg);-o-transform:rotate(210deg);transform:rotate(210deg)}.wi-wind.from-31-deg{-webkit-transform:rotate(211deg);-moz-transform:rotate(211deg);-ms-transform:rotate(211deg);-o-transform:rotate(211deg);transform:rotate(211deg)}.wi-wind.from-32-deg{-webkit-transform:rotate(212deg);-moz-transform:rotate(212deg);-ms-transform:rotate(212deg);-o-transform:rotate(212deg);transform:rotate(212deg)}.wi-wind.from-33-deg{-webkit-transform:rotate(213deg);-moz-transform:rotate(213deg);-ms-transform:rotate(213deg);-o-transform:rotate(213deg);transform:rotate(213deg)}.wi-wind.from-34-deg{-webkit-transform:rotate(214deg);-moz-transform:rotate(214deg);-ms-transform:rotate(214deg);-o-transform:rotate(214deg);transform:rotate(214deg)}.wi-wind.from-35-deg{-webkit-transform:rotate(215deg);-moz-transform:rotate(215deg);-ms-transform:rotate(215deg);-o-transform:rotate(215deg);transform:rotate(215deg)}.wi-wind.from-36-deg{-webkit-transform:rotate(216deg);-moz-transform:rotate(216deg);-ms-transform:rotate(216deg);-o-transform:rotate(216deg);transform:rotate(216deg)}.wi-wind.from-37-deg{-webkit-transform:rotate(217deg);-moz-transform:rotate(217deg);-ms-transform:rotate(217deg);-o-transform:rotate(217deg);transform:rotate(217deg)}.wi-wind.from-38-deg{-webkit-transform:rotate(218deg);-moz-transform:rotate(218deg);-ms-transform:rotate(218deg);-o-transform:rotate(218deg);transform:rotate(218deg)}.wi-wind.from-39-deg{-webkit-transform:rotate(219deg);-moz-transform:rotate(219deg);-ms-transform:rotate(219deg);-o-transform:rotate(219deg);transform:rotate(219deg)}.wi-wind.from-40-deg{-webkit-transform:rotate(220deg);-moz-transform:rotate(220deg);-ms-transform:rotate(220deg);-o-transform:rotate(220deg);transform:rotate(220deg)}.wi-wind.from-41-deg{-webkit-transform:rotate(221deg);-moz-transform:rotate(221deg);-ms-transform:rotate(221deg);-o-transform:rotate(221deg);transform:rotate(221deg)}.wi-wind.from-42-deg{-webkit-transform:rotate(222deg);-moz-transform:rotate(222deg);-ms-transform:rotate(222deg);-o-transform:rotate(222deg);transform:rotate(222deg)}.wi-wind.from-43-deg{-webkit-transform:rotate(223deg);-moz-transform:rotate(223deg);-ms-transform:rotate(223deg);-o-transform:rotate(223deg);transform:rotate(223deg)}.wi-wind.from-44-deg{-webkit-transform:rotate(224deg);-moz-transform:rotate(224deg);-ms-transform:rotate(224deg);-o-transform:rotate(224deg);transform:rotate(224deg)}.wi-wind.from-45-deg{-webkit-transform:rotate(225deg);-moz-transform:rotate(225deg);-ms-transform:rotate(225deg);-o-transform:rotate(225deg);transform:rotate(225deg)}.wi-wind.from-46-deg{-webkit-transform:rotate(226deg);-moz-transform:rotate(226deg);-ms-transform:rotate(226deg);-o-transform:rotate(226deg);transform:rotate(226deg)}.wi-wind.from-47-deg{-webkit-transform:rotate(227deg);-moz-transform:rotate(227deg);-ms-transform:rotate(227deg);-o-transform:rotate(227deg);transform:rotate(227deg)}.wi-wind.from-48-deg{-webkit-transform:rotate(228deg);-moz-transform:rotate(228deg);-ms-transform:rotate(228deg);-o-transform:rotate(228deg);transform:rotate(228deg)}.wi-wind.from-49-deg{-webkit-transform:rotate(229deg);-moz-transform:rotate(229deg);-ms-transform:rotate(229deg);-o-transform:rotate(229deg);transform:rotate(229deg)}.wi-wind.from-50-deg{-webkit-transform:rotate(230deg);-moz-transform:rotate(230deg);-ms-transform:rotate(230deg);-o-transform:rotate(230deg);transform:rotate(230deg)}.wi-wind.from-51-deg{-webkit-transform:rotate(231deg);-moz-transform:rotate(231deg);-ms-transform:rotate(231deg);-o-transform:rotate(231deg);transform:rotate(231deg)}.wi-wind.from-52-deg{-webkit-transform:rotate(232deg);-moz-transform:rotate(232deg);-ms-transform:rotate(232deg);-o-transform:rotate(232deg);transform:rotate(232deg)}.wi-wind.from-53-deg{-webkit-transform:rotate(233deg);-moz-transform:rotate(233deg);-ms-transform:rotate(233deg);-o-transform:rotate(233deg);transform:rotate(233deg)}.wi-wind.from-54-deg{-webkit-transform:rotate(234deg);-moz-transform:rotate(234deg);-ms-transform:rotate(234deg);-o-transform:rotate(234deg);transform:rotate(234deg)}.wi-wind.from-55-deg{-webkit-transform:rotate(235deg);-moz-transform:rotate(235deg);-ms-transform:rotate(235deg);-o-transform:rotate(235deg);transform:rotate(235deg)}.wi-wind.from-56-deg{-webkit-transform:rotate(236deg);-moz-transform:rotate(236deg);-ms-transform:rotate(236deg);-o-transform:rotate(236deg);transform:rotate(236deg)}.wi-wind.from-57-deg{-webkit-transform:rotate(237deg);-moz-transform:rotate(237deg);-ms-transform:rotate(237deg);-o-transform:rotate(237deg);transform:rotate(237deg)}.wi-wind.from-58-deg{-webkit-transform:rotate(238deg);-moz-transform:rotate(238deg);-ms-transform:rotate(238deg);-o-transform:rotate(238deg);transform:rotate(238deg)}.wi-wind.from-59-deg{-webkit-transform:rotate(239deg);-moz-transform:rotate(239deg);-ms-transform:rotate(239deg);-o-transform:rotate(239deg);transform:rotate(239deg)}.wi-wind.from-60-deg{-webkit-transform:rotate(240deg);-moz-transform:rotate(240deg);-ms-transform:rotate(240deg);-o-transform:rotate(240deg);transform:rotate(240deg)}.wi-wind.from-61-deg{-webkit-transform:rotate(241deg);-moz-transform:rotate(241deg);-ms-transform:rotate(241deg);-o-transform:rotate(241deg);transform:rotate(241deg)}.wi-wind.from-62-deg{-webkit-transform:rotate(242deg);-moz-transform:rotate(242deg);-ms-transform:rotate(242deg);-o-transform:rotate(242deg);transform:rotate(242deg)}.wi-wind.from-63-deg{-webkit-transform:rotate(243deg);-moz-transform:rotate(243deg);-ms-transform:rotate(243deg);-o-transform:rotate(243deg);transform:rotate(243deg)}.wi-wind.from-64-deg{-webkit-transform:rotate(244deg);-moz-transform:rotate(244deg);-ms-transform:rotate(244deg);-o-transform:rotate(244deg);transform:rotate(244deg)}.wi-wind.from-65-deg{-webkit-transform:rotate(245deg);-moz-transform:rotate(245deg);-ms-transform:rotate(245deg);-o-transform:rotate(245deg);transform:rotate(245deg)}.wi-wind.from-66-deg{-webkit-transform:rotate(246deg);-moz-transform:rotate(246deg);-ms-transform:rotate(246deg);-o-transform:rotate(246deg);transform:rotate(246deg)}.wi-wind.from-67-deg{-webkit-transform:rotate(247deg);-moz-transform:rotate(247deg);-ms-transform:rotate(247deg);-o-transform:rotate(247deg);transform:rotate(247deg)}.wi-wind.from-68-deg{-webkit-transform:rotate(248deg);-moz-transform:rotate(248deg);-ms-transform:rotate(248deg);-o-transform:rotate(248deg);transform:rotate(248deg)}.wi-wind.from-69-deg{-webkit-transform:rotate(249deg);-moz-transform:rotate(249deg);-ms-transform:rotate(249deg);-o-transform:rotate(249deg);transform:rotate(249deg)}.wi-wind.from-70-deg{-webkit-transform:rotate(250deg);-moz-transform:rotate(250deg);-ms-transform:rotate(250deg);-o-transform:rotate(250deg);transform:rotate(250deg)}.wi-wind.from-71-deg{-webkit-transform:rotate(251deg);-moz-transform:rotate(251deg);-ms-transform:rotate(251deg);-o-transform:rotate(251deg);transform:rotate(251deg)}.wi-wind.from-72-deg{-webkit-transform:rotate(252deg);-moz-transform:rotate(252deg);-ms-transform:rotate(252deg);-o-transform:rotate(252deg);transform:rotate(252deg)}.wi-wind.from-73-deg{-webkit-transform:rotate(253deg);-moz-transform:rotate(253deg);-ms-transform:rotate(253deg);-o-transform:rotate(253deg);transform:rotate(253deg)}.wi-wind.from-74-deg{-webkit-transform:rotate(254deg);-moz-transform:rotate(254deg);-ms-transform:rotate(254deg);-o-transform:rotate(254deg);transform:rotate(254deg)}.wi-wind.from-75-deg{-webkit-transform:rotate(255deg);-moz-transform:rotate(255deg);-ms-transform:rotate(255deg);-o-transform:rotate(255deg);transform:rotate(255deg)}.wi-wind.from-76-deg{-webkit-transform:rotate(256deg);-moz-transform:rotate(256deg);-ms-transform:rotate(256deg);-o-transform:rotate(256deg);transform:rotate(256deg)}.wi-wind.from-77-deg{-webkit-transform:rotate(257deg);-moz-transform:rotate(257deg);-ms-transform:rotate(257deg);-o-transform:rotate(257deg);transform:rotate(257deg)}.wi-wind.from-78-deg{-webkit-transform:rotate(258deg);-moz-transform:rotate(258deg);-ms-transform:rotate(258deg);-o-transform:rotate(258deg);transform:rotate(258deg)}.wi-wind.from-79-deg{-webkit-transform:rotate(259deg);-moz-transform:rotate(259deg);-ms-transform:rotate(259deg);-o-transform:rotate(259deg);transform:rotate(259deg)}.wi-wind.from-80-deg{-webkit-transform:rotate(260deg);-moz-transform:rotate(260deg);-ms-transform:rotate(260deg);-o-transform:rotate(260deg);transform:rotate(260deg)}.wi-wind.from-81-deg{-webkit-transform:rotate(261deg);-moz-transform:rotate(261deg);-ms-transform:rotate(261deg);-o-transform:rotate(261deg);transform:rotate(261deg)}.wi-wind.from-82-deg{-webkit-transform:rotate(262deg);-moz-transform:rotate(262deg);-ms-transform:rotate(262deg);-o-transform:rotate(262deg);transform:rotate(262deg)}.wi-wind.from-83-deg{-webkit-transform:rotate(263deg);-moz-transform:rotate(263deg);-ms-transform:rotate(263deg);-o-transform:rotate(263deg);transform:rotate(263deg)}.wi-wind.from-84-deg{-webkit-transform:rotate(264deg);-moz-transform:rotate(264deg);-ms-transform:rotate(264deg);-o-transform:rotate(264deg);transform:rotate(264deg)}.wi-wind.from-85-deg{-webkit-transform:rotate(265deg);-moz-transform:rotate(265deg);-ms-transform:rotate(265deg);-o-transform:rotate(265deg);transform:rotate(265deg)}.wi-wind.from-86-deg{-webkit-transform:rotate(266deg);-moz-transform:rotate(266deg);-ms-transform:rotate(266deg);-o-transform:rotate(266deg);transform:rotate(266deg)}.wi-wind.from-87-deg{-webkit-transform:rotate(267deg);-moz-transform:rotate(267deg);-ms-transform:rotate(267deg);-o-transform:rotate(267deg);transform:rotate(267deg)}.wi-wind.from-88-deg{-webkit-transform:rotate(268deg);-moz-transform:rotate(268deg);-ms-transform:rotate(268deg);-o-transform:rotate(268deg);transform:rotate(268deg)}.wi-wind.from-89-deg{-webkit-transform:rotate(269deg);-moz-transform:rotate(269deg);-ms-transform:rotate(269deg);-o-transform:rotate(269deg);transform:rotate(269deg)}.wi-wind.from-90-deg{-webkit-transform:rotate(270deg);-moz-transform:rotate(270deg);-ms-transform:rotate(270deg);-o-transform:rotate(270deg);transform:rotate(270deg)}.wi-wind.from-91-deg{-webkit-transform:rotate(271deg);-moz-transform:rotate(271deg);-ms-transform:rotate(271deg);-o-transform:rotate(271deg);transform:rotate(271deg)}.wi-wind.from-92-deg{-webkit-transform:rotate(272deg);-moz-transform:rotate(272deg);-ms-transform:rotate(272deg);-o-transform:rotate(272deg);transform:rotate(272deg)}.wi-wind.from-93-deg{-webkit-transform:rotate(273deg);-moz-transform:rotate(273deg);-ms-transform:rotate(273deg);-o-transform:rotate(273deg);transform:rotate(273deg)}.wi-wind.from-94-deg{-webkit-transform:rotate(274deg);-moz-transform:rotate(274deg);-ms-transform:rotate(274deg);-o-transform:rotate(274deg);transform:rotate(274deg)}.wi-wind.from-95-deg{-webkit-transform:rotate(275deg);-moz-transform:rotate(275deg);-ms-transform:rotate(275deg);-o-transform:rotate(275deg);transform:rotate(275deg)}.wi-wind.from-96-deg{-webkit-transform:rotate(276deg);-moz-transform:rotate(276deg);-ms-transform:rotate(276deg);-o-transform:rotate(276deg);transform:rotate(276deg)}.wi-wind.from-97-deg{-webkit-transform:rotate(277deg);-moz-transform:rotate(277deg);-ms-transform:rotate(277deg);-o-transform:rotate(277deg);transform:rotate(277deg)}.wi-wind.from-98-deg{-webkit-transform:rotate(278deg);-moz-transform:rotate(278deg);-ms-transform:rotate(278deg);-o-transform:rotate(278deg);transform:rotate(278deg)}.wi-wind.from-99-deg{-webkit-transform:rotate(279deg);-moz-transform:rotate(279deg);-ms-transform:rotate(279deg);-o-transform:rotate(279deg);transform:rotate(279deg)}.wi-wind.from-100-deg{-webkit-transform:rotate(280deg);-moz-transform:rotate(280deg);-ms-transform:rotate(280deg);-o-transform:rotate(280deg);transform:rotate(280deg)}.wi-wind.from-101-deg{-webkit-transform:rotate(281deg);-moz-transform:rotate(281deg);-ms-transform:rotate(281deg);-o-transform:rotate(281deg);transform:rotate(281deg)}.wi-wind.from-102-deg{-webkit-transform:rotate(282deg);-moz-transform:rotate(282deg);-ms-transform:rotate(282deg);-o-transform:rotate(282deg);transform:rotate(282deg)}.wi-wind.from-103-deg{-webkit-transform:rotate(283deg);-moz-transform:rotate(283deg);-ms-transform:rotate(283deg);-o-transform:rotate(283deg);transform:rotate(283deg)}.wi-wind.from-104-deg{-webkit-transform:rotate(284deg);-moz-transform:rotate(284deg);-ms-transform:rotate(284deg);-o-transform:rotate(284deg);transform:rotate(284deg)}.wi-wind.from-105-deg{-webkit-transform:rotate(285deg);-moz-transform:rotate(285deg);-ms-transform:rotate(285deg);-o-transform:rotate(285deg);transform:rotate(285deg)}.wi-wind.from-106-deg{-webkit-transform:rotate(286deg);-moz-transform:rotate(286deg);-ms-transform:rotate(286deg);-o-transform:rotate(286deg);transform:rotate(286deg)}.wi-wind.from-107-deg{-webkit-transform:rotate(287deg);-moz-transform:rotate(287deg);-ms-transform:rotate(287deg);-o-transform:rotate(287deg);transform:rotate(287deg)}.wi-wind.from-108-deg{-webkit-transform:rotate(288deg);-moz-transform:rotate(288deg);-ms-transform:rotate(288deg);-o-transform:rotate(288deg);transform:rotate(288deg)}.wi-wind.from-109-deg{-webkit-transform:rotate(289deg);-moz-transform:rotate(289deg);-ms-transform:rotate(289deg);-o-transform:rotate(289deg);transform:rotate(289deg)}.wi-wind.from-110-deg{-webkit-transform:rotate(290deg);-moz-transform:rotate(290deg);-ms-transform:rotate(290deg);-o-transform:rotate(290deg);transform:rotate(290deg)}.wi-wind.from-111-deg{-webkit-transform:rotate(291deg);-moz-transform:rotate(291deg);-ms-transform:rotate(291deg);-o-transform:rotate(291deg);transform:rotate(291deg)}.wi-wind.from-112-deg{-webkit-transform:rotate(292deg);-moz-transform:rotate(292deg);-ms-transform:rotate(292deg);-o-transform:rotate(292deg);transform:rotate(292deg)}.wi-wind.from-113-deg{-webkit-transform:rotate(293deg);-moz-transform:rotate(293deg);-ms-transform:rotate(293deg);-o-transform:rotate(293deg);transform:rotate(293deg)}.wi-wind.from-114-deg{-webkit-transform:rotate(294deg);-moz-transform:rotate(294deg);-ms-transform:rotate(294deg);-o-transform:rotate(294deg);transform:rotate(294deg)}.wi-wind.from-115-deg{-webkit-transform:rotate(295deg);-moz-transform:rotate(295deg);-ms-transform:rotate(295deg);-o-transform:rotate(295deg);transform:rotate(295deg)}.wi-wind.from-116-deg{-webkit-transform:rotate(296deg);-moz-transform:rotate(296deg);-ms-transform:rotate(296deg);-o-transform:rotate(296deg);transform:rotate(296deg)}.wi-wind.from-117-deg{-webkit-transform:rotate(297deg);-moz-transform:rotate(297deg);-ms-transform:rotate(297deg);-o-transform:rotate(297deg);transform:rotate(297deg)}.wi-wind.from-118-deg{-webkit-transform:rotate(298deg);-moz-transform:rotate(298deg);-ms-transform:rotate(298deg);-o-transform:rotate(298deg);transform:rotate(298deg)}.wi-wind.from-119-deg{-webkit-transform:rotate(299deg);-moz-transform:rotate(299deg);-ms-transform:rotate(299deg);-o-transform:rotate(299deg);transform:rotate(299deg)}.wi-wind.from-120-deg{-webkit-transform:rotate(300deg);-moz-transform:rotate(300deg);-ms-transform:rotate(300deg);-o-transform:rotate(300deg);transform:rotate(300deg)}.wi-wind.from-121-deg{-webkit-transform:rotate(301deg);-moz-transform:rotate(301deg);-ms-transform:rotate(301deg);-o-transform:rotate(301deg);transform:rotate(301deg)}.wi-wind.from-122-deg{-webkit-transform:rotate(302deg);-moz-transform:rotate(302deg);-ms-transform:rotate(302deg);-o-transform:rotate(302deg);transform:rotate(302deg)}.wi-wind.from-123-deg{-webkit-transform:rotate(303deg);-moz-transform:rotate(303deg);-ms-transform:rotate(303deg);-o-transform:rotate(303deg);transform:rotate(303deg)}.wi-wind.from-124-deg{-webkit-transform:rotate(304deg);-moz-transform:rotate(304deg);-ms-transform:rotate(304deg);-o-transform:rotate(304deg);transform:rotate(304deg)}.wi-wind.from-125-deg{-webkit-transform:rotate(305deg);-moz-transform:rotate(305deg);-ms-transform:rotate(305deg);-o-transform:rotate(305deg);transform:rotate(305deg)}.wi-wind.from-126-deg{-webkit-transform:rotate(306deg);-moz-transform:rotate(306deg);-ms-transform:rotate(306deg);-o-transform:rotate(306deg);transform:rotate(306deg)}.wi-wind.from-127-deg{-webkit-transform:rotate(307deg);-moz-transform:rotate(307deg);-ms-transform:rotate(307deg);-o-transform:rotate(307deg);transform:rotate(307deg)}.wi-wind.from-128-deg{-webkit-transform:rotate(308deg);-moz-transform:rotate(308deg);-ms-transform:rotate(308deg);-o-transform:rotate(308deg);transform:rotate(308deg)}.wi-wind.from-129-deg{-webkit-transform:rotate(309deg);-moz-transform:rotate(309deg);-ms-transform:rotate(309deg);-o-transform:rotate(309deg);transform:rotate(309deg)}.wi-wind.from-130-deg{-webkit-transform:rotate(310deg);-moz-transform:rotate(310deg);-ms-transform:rotate(310deg);-o-transform:rotate(310deg);transform:rotate(310deg)}.wi-wind.from-131-deg{-webkit-transform:rotate(311deg);-moz-transform:rotate(311deg);-ms-transform:rotate(311deg);-o-transform:rotate(311deg);transform:rotate(311deg)}.wi-wind.from-132-deg{-webkit-transform:rotate(312deg);-moz-transform:rotate(312deg);-ms-transform:rotate(312deg);-o-transform:rotate(312deg);transform:rotate(312deg)}.wi-wind.from-133-deg{-webkit-transform:rotate(313deg);-moz-transform:rotate(313deg);-ms-transform:rotate(313deg);-o-transform:rotate(313deg);transform:rotate(313deg)}.wi-wind.from-134-deg{-webkit-transform:rotate(314deg);-moz-transform:rotate(314deg);-ms-transform:rotate(314deg);-o-transform:rotate(314deg);transform:rotate(314deg)}.wi-wind.from-135-deg{-webkit-transform:rotate(315deg);-moz-transform:rotate(315deg);-ms-transform:rotate(315deg);-o-transform:rotate(315deg);transform:rotate(315deg)}.wi-wind.from-136-deg{-webkit-transform:rotate(316deg);-moz-transform:rotate(316deg);-ms-transform:rotate(316deg);-o-transform:rotate(316deg);transform:rotate(316deg)}.wi-wind.from-137-deg{-webkit-transform:rotate(317deg);-moz-transform:rotate(317deg);-ms-transform:rotate(317deg);-o-transform:rotate(317deg);transform:rotate(317deg)}.wi-wind.from-138-deg{-webkit-transform:rotate(318deg);-moz-transform:rotate(318deg);-ms-transform:rotate(318deg);-o-transform:rotate(318deg);transform:rotate(318deg)}.wi-wind.from-139-deg{-webkit-transform:rotate(319deg);-moz-transform:rotate(319deg);-ms-transform:rotate(319deg);-o-transform:rotate(319deg);transform:rotate(319deg)}.wi-wind.from-140-deg{-webkit-transform:rotate(320deg);-moz-transform:rotate(320deg);-ms-transform:rotate(320deg);-o-transform:rotate(320deg);transform:rotate(320deg)}.wi-wind.from-141-deg{-webkit-transform:rotate(321deg);-moz-transform:rotate(321deg);-ms-transform:rotate(321deg);-o-transform:rotate(321deg);transform:rotate(321deg)}.wi-wind.from-142-deg{-webkit-transform:rotate(322deg);-moz-transform:rotate(322deg);-ms-transform:rotate(322deg);-o-transform:rotate(322deg);transform:rotate(322deg)}.wi-wind.from-143-deg{-webkit-transform:rotate(323deg);-moz-transform:rotate(323deg);-ms-transform:rotate(323deg);-o-transform:rotate(323deg);transform:rotate(323deg)}.wi-wind.from-144-deg{-webkit-transform:rotate(324deg);-moz-transform:rotate(324deg);-ms-transform:rotate(324deg);-o-transform:rotate(324deg);transform:rotate(324deg)}.wi-wind.from-145-deg{-webkit-transform:rotate(325deg);-moz-transform:rotate(325deg);-ms-transform:rotate(325deg);-o-transform:rotate(325deg);transform:rotate(325deg)}.wi-wind.from-146-deg{-webkit-transform:rotate(326deg);-moz-transform:rotate(326deg);-ms-transform:rotate(326deg);-o-transform:rotate(326deg);transform:rotate(326deg)}.wi-wind.from-147-deg{-webkit-transform:rotate(327deg);-moz-transform:rotate(327deg);-ms-transform:rotate(327deg);-o-transform:rotate(327deg);transform:rotate(327deg)}.wi-wind.from-148-deg{-webkit-transform:rotate(328deg);-moz-transform:rotate(328deg);-ms-transform:rotate(328deg);-o-transform:rotate(328deg);transform:rotate(328deg)}.wi-wind.from-149-deg{-webkit-transform:rotate(329deg);-moz-transform:rotate(329deg);-ms-transform:rotate(329deg);-o-transform:rotate(329deg);transform:rotate(329deg)}.wi-wind.from-150-deg{-webkit-transform:rotate(330deg);-moz-transform:rotate(330deg);-ms-transform:rotate(330deg);-o-transform:rotate(330deg);transform:rotate(330deg)}.wi-wind.from-151-deg{-webkit-transform:rotate(331deg);-moz-transform:rotate(331deg);-ms-transform:rotate(331deg);-o-transform:rotate(331deg);transform:rotate(331deg)}.wi-wind.from-152-deg{-webkit-transform:rotate(332deg);-moz-transform:rotate(332deg);-ms-transform:rotate(332deg);-o-transform:rotate(332deg);transform:rotate(332deg)}.wi-wind.from-153-deg{-webkit-transform:rotate(333deg);-moz-transform:rotate(333deg);-ms-transform:rotate(333deg);-o-transform:rotate(333deg);transform:rotate(333deg)}.wi-wind.from-154-deg{-webkit-transform:rotate(334deg);-moz-transform:rotate(334deg);-ms-transform:rotate(334deg);-o-transform:rotate(334deg);transform:rotate(334deg)}.wi-wind.from-155-deg{-webkit-transform:rotate(335deg);-moz-transform:rotate(335deg);-ms-transform:rotate(335deg);-o-transform:rotate(335deg);transform:rotate(335deg)}.wi-wind.from-156-deg{-webkit-transform:rotate(336deg);-moz-transform:rotate(336deg);-ms-transform:rotate(336deg);-o-transform:rotate(336deg);transform:rotate(336deg)}.wi-wind.from-157-deg{-webkit-transform:rotate(337deg);-moz-transform:rotate(337deg);-ms-transform:rotate(337deg);-o-transform:rotate(337deg);transform:rotate(337deg)}.wi-wind.from-158-deg{-webkit-transform:rotate(338deg);-moz-transform:rotate(338deg);-ms-transform:rotate(338deg);-o-transform:rotate(338deg);transform:rotate(338deg)}.wi-wind.from-159-deg{-webkit-transform:rotate(339deg);-moz-transform:rotate(339deg);-ms-transform:rotate(339deg);-o-transform:rotate(339deg);transform:rotate(339deg)}.wi-wind.from-160-deg{-webkit-transform:rotate(340deg);-moz-transform:rotate(340deg);-ms-transform:rotate(340deg);-o-transform:rotate(340deg);transform:rotate(340deg)}.wi-wind.from-161-deg{-webkit-transform:rotate(341deg);-moz-transform:rotate(341deg);-ms-transform:rotate(341deg);-o-transform:rotate(341deg);transform:rotate(341deg)}.wi-wind.from-162-deg{-webkit-transform:rotate(342deg);-moz-transform:rotate(342deg);-ms-transform:rotate(342deg);-o-transform:rotate(342deg);transform:rotate(342deg)}.wi-wind.from-163-deg{-webkit-transform:rotate(343deg);-moz-transform:rotate(343deg);-ms-transform:rotate(343deg);-o-transform:rotate(343deg);transform:rotate(343deg)}.wi-wind.from-164-deg{-webkit-transform:rotate(344deg);-moz-transform:rotate(344deg);-ms-transform:rotate(344deg);-o-transform:rotate(344deg);transform:rotate(344deg)}.wi-wind.from-165-deg{-webkit-transform:rotate(345deg);-moz-transform:rotate(345deg);-ms-transform:rotate(345deg);-o-transform:rotate(345deg);transform:rotate(345deg)}.wi-wind.from-166-deg{-webkit-transform:rotate(346deg);-moz-transform:rotate(346deg);-ms-transform:rotate(346deg);-o-transform:rotate(346deg);transform:rotate(346deg)}.wi-wind.from-167-deg{-webkit-transform:rotate(347deg);-moz-transform:rotate(347deg);-ms-transform:rotate(347deg);-o-transform:rotate(347deg);transform:rotate(347deg)}.wi-wind.from-168-deg{-webkit-transform:rotate(348deg);-moz-transform:rotate(348deg);-ms-transform:rotate(348deg);-o-transform:rotate(348deg);transform:rotate(348deg)}.wi-wind.from-169-deg{-webkit-transform:rotate(349deg);-moz-transform:rotate(349deg);-ms-transform:rotate(349deg);-o-transform:rotate(349deg);transform:rotate(349deg)}.wi-wind.from-170-deg{-webkit-transform:rotate(350deg);-moz-transform:rotate(350deg);-ms-transform:rotate(350deg);-o-transform:rotate(350deg);transform:rotate(350deg)}.wi-wind.from-171-deg{-webkit-transform:rotate(351deg);-moz-transform:rotate(351deg);-ms-transform:rotate(351deg);-o-transform:rotate(351deg);transform:rotate(351deg)}.wi-wind.from-172-deg{-webkit-transform:rotate(352deg);-moz-transform:rotate(352deg);-ms-transform:rotate(352deg);-o-transform:rotate(352deg);transform:rotate(352deg)}.wi-wind.from-173-deg{-webkit-transform:rotate(353deg);-moz-transform:rotate(353deg);-ms-transform:rotate(353deg);-o-transform:rotate(353deg);transform:rotate(353deg)}.wi-wind.from-174-deg{-webkit-transform:rotate(354deg);-moz-transform:rotate(354deg);-ms-transform:rotate(354deg);-o-transform:rotate(354deg);transform:rotate(354deg)}.wi-wind.from-175-deg{-webkit-transform:rotate(355deg);-moz-transform:rotate(355deg);-ms-transform:rotate(355deg);-o-transform:rotate(355deg);transform:rotate(355deg)}.wi-wind.from-176-deg{-webkit-transform:rotate(356deg);-moz-transform:rotate(356deg);-ms-transform:rotate(356deg);-o-transform:rotate(356deg);transform:rotate(356deg)}.wi-wind.from-177-deg{-webkit-transform:rotate(357deg);-moz-transform:rotate(357deg);-ms-transform:rotate(357deg);-o-transform:rotate(357deg);transform:rotate(357deg)}.wi-wind.from-178-deg{-webkit-transform:rotate(358deg);-moz-transform:rotate(358deg);-ms-transform:rotate(358deg);-o-transform:rotate(358deg);transform:rotate(358deg)}.wi-wind.from-179-deg{-webkit-transform:rotate(359deg);-moz-transform:rotate(359deg);-ms-transform:rotate(359deg);-o-transform:rotate(359deg);transform:rotate(359deg)}.wi-wind.from-180-deg{-webkit-transform:rotate(0);-moz-transform:rotate(0);-ms-transform:rotate(0);-o-transform:rotate(0);transform:rotate(0)}.wi-wind.from-181-deg{-webkit-transform:rotate(1deg);-moz-transform:rotate(1deg);-ms-transform:rotate(1deg);-o-transform:rotate(1deg);transform:rotate(1deg)}.wi-wind.from-182-deg{-webkit-transform:rotate(2deg);-moz-transform:rotate(2deg);-ms-transform:rotate(2deg);-o-transform:rotate(2deg);transform:rotate(2deg)}.wi-wind.from-183-deg{-webkit-transform:rotate(3deg);-moz-transform:rotate(3deg);-ms-transform:rotate(3deg);-o-transform:rotate(3deg);transform:rotate(3deg)}.wi-wind.from-184-deg{-webkit-transform:rotate(4deg);-moz-transform:rotate(4deg);-ms-transform:rotate(4deg);-o-transform:rotate(4deg);transform:rotate(4deg)}.wi-wind.from-185-deg{-webkit-transform:rotate(5deg);-moz-transform:rotate(5deg);-ms-transform:rotate(5deg);-o-transform:rotate(5deg);transform:rotate(5deg)}.wi-wind.from-186-deg{-webkit-transform:rotate(6deg);-moz-transform:rotate(6deg);-ms-transform:rotate(6deg);-o-transform:rotate(6deg);transform:rotate(6deg)}.wi-wind.from-187-deg{-webkit-transform:rotate(7deg);-moz-transform:rotate(7deg);-ms-transform:rotate(7deg);-o-transform:rotate(7deg);transform:rotate(7deg)}.wi-wind.from-188-deg{-webkit-transform:rotate(8deg);-moz-transform:rotate(8deg);-ms-transform:rotate(8deg);-o-transform:rotate(8deg);transform:rotate(8deg)}.wi-wind.from-189-deg{-webkit-transform:rotate(9deg);-moz-transform:rotate(9deg);-ms-transform:rotate(9deg);-o-transform:rotate(9deg);transform:rotate(9deg)}.wi-wind.from-190-deg{-webkit-transform:rotate(10deg);-moz-transform:rotate(10deg);-ms-transform:rotate(10deg);-o-transform:rotate(10deg);transform:rotate(10deg)}.wi-wind.from-191-deg{-webkit-transform:rotate(11deg);-moz-transform:rotate(11deg);-ms-transform:rotate(11deg);-o-transform:rotate(11deg);transform:rotate(11deg)}.wi-wind.from-192-deg{-webkit-transform:rotate(12deg);-moz-transform:rotate(12deg);-ms-transform:rotate(12deg);-o-transform:rotate(12deg);transform:rotate(12deg)}.wi-wind.from-193-deg{-webkit-transform:rotate(13deg);-moz-transform:rotate(13deg);-ms-transform:rotate(13deg);-o-transform:rotate(13deg);transform:rotate(13deg)}.wi-wind.from-194-deg{-webkit-transform:rotate(14deg);-moz-transform:rotate(14deg);-ms-transform:rotate(14deg);-o-transform:rotate(14deg);transform:rotate(14deg)}.wi-wind.from-195-deg{-webkit-transform:rotate(15deg);-moz-transform:rotate(15deg);-ms-transform:rotate(15deg);-o-transform:rotate(15deg);transform:rotate(15deg)}.wi-wind.from-196-deg{-webkit-transform:rotate(16deg);-moz-transform:rotate(16deg);-ms-transform:rotate(16deg);-o-transform:rotate(16deg);transform:rotate(16deg)}.wi-wind.from-197-deg{-webkit-transform:rotate(17deg);-moz-transform:rotate(17deg);-ms-transform:rotate(17deg);-o-transform:rotate(17deg);transform:rotate(17deg)}.wi-wind.from-198-deg{-webkit-transform:rotate(18deg);-moz-transform:rotate(18deg);-ms-transform:rotate(18deg);-o-transform:rotate(18deg);transform:rotate(18deg)}.wi-wind.from-199-deg{-webkit-transform:rotate(19deg);-moz-transform:rotate(19deg);-ms-transform:rotate(19deg);-o-transform:rotate(19deg);transform:rotate(19deg)}.wi-wind.from-200-deg{-webkit-transform:rotate(20deg);-moz-transform:rotate(20deg);-ms-transform:rotate(20deg);-o-transform:rotate(20deg);transform:rotate(20deg)}.wi-wind.from-201-deg{-webkit-transform:rotate(21deg);-moz-transform:rotate(21deg);-ms-transform:rotate(21deg);-o-transform:rotate(21deg);transform:rotate(21deg)}.wi-wind.from-202-deg{-webkit-transform:rotate(22deg);-moz-transform:rotate(22deg);-ms-transform:rotate(22deg);-o-transform:rotate(22deg);transform:rotate(22deg)}.wi-wind.from-203-deg{-webkit-transform:rotate(23deg);-moz-transform:rotate(23deg);-ms-transform:rotate(23deg);-o-transform:rotate(23deg);transform:rotate(23deg)}.wi-wind.from-204-deg{-webkit-transform:rotate(24deg);-moz-transform:rotate(24deg);-ms-transform:rotate(24deg);-o-transform:rotate(24deg);transform:rotate(24deg)}.wi-wind.from-205-deg{-webkit-transform:rotate(25deg);-moz-transform:rotate(25deg);-ms-transform:rotate(25deg);-o-transform:rotate(25deg);transform:rotate(25deg)}.wi-wind.from-206-deg{-webkit-transform:rotate(26deg);-moz-transform:rotate(26deg);-ms-transform:rotate(26deg);-o-transform:rotate(26deg);transform:rotate(26deg)}.wi-wind.from-207-deg{-webkit-transform:rotate(27deg);-moz-transform:rotate(27deg);-ms-transform:rotate(27deg);-o-transform:rotate(27deg);transform:rotate(27deg)}.wi-wind.from-208-deg{-webkit-transform:rotate(28deg);-moz-transform:rotate(28deg);-ms-transform:rotate(28deg);-o-transform:rotate(28deg);transform:rotate(28deg)}.wi-wind.from-209-deg{-webkit-transform:rotate(29deg);-moz-transform:rotate(29deg);-ms-transform:rotate(29deg);-o-transform:rotate(29deg);transform:rotate(29deg)}.wi-wind.from-210-deg{-webkit-transform:rotate(30deg);-moz-transform:rotate(30deg);-ms-transform:rotate(30deg);-o-transform:rotate(30deg);transform:rotate(30deg)}.wi-wind.from-211-deg{-webkit-transform:rotate(31deg);-moz-transform:rotate(31deg);-ms-transform:rotate(31deg);-o-transform:rotate(31deg);transform:rotate(31deg)}.wi-wind.from-212-deg{-webkit-transform:rotate(32deg);-moz-transform:rotate(32deg);-ms-transform:rotate(32deg);-o-transform:rotate(32deg);transform:rotate(32deg)}.wi-wind.from-213-deg{-webkit-transform:rotate(33deg);-moz-transform:rotate(33deg);-ms-transform:rotate(33deg);-o-transform:rotate(33deg);transform:rotate(33deg)}.wi-wind.from-214-deg{-webkit-transform:rotate(34deg);-moz-transform:rotate(34deg);-ms-transform:rotate(34deg);-o-transform:rotate(34deg);transform:rotate(34deg)}.wi-wind.from-215-deg{-webkit-transform:rotate(35deg);-moz-transform:rotate(35deg);-ms-transform:rotate(35deg);-o-transform:rotate(35deg);transform:rotate(35deg)}.wi-wind.from-216-deg{-webkit-transform:rotate(36deg);-moz-transform:rotate(36deg);-ms-transform:rotate(36deg);-o-transform:rotate(36deg);transform:rotate(36deg)}.wi-wind.from-217-deg{-webkit-transform:rotate(37deg);-moz-transform:rotate(37deg);-ms-transform:rotate(37deg);-o-transform:rotate(37deg);transform:rotate(37deg)}.wi-wind.from-218-deg{-webkit-transform:rotate(38deg);-moz-transform:rotate(38deg);-ms-transform:rotate(38deg);-o-transform:rotate(38deg);transform:rotate(38deg)}.wi-wind.from-219-deg{-webkit-transform:rotate(39deg);-moz-transform:rotate(39deg);-ms-transform:rotate(39deg);-o-transform:rotate(39deg);transform:rotate(39deg)}.wi-wind.from-220-deg{-webkit-transform:rotate(40deg);-moz-transform:rotate(40deg);-ms-transform:rotate(40deg);-o-transform:rotate(40deg);transform:rotate(40deg)}.wi-wind.from-221-deg{-webkit-transform:rotate(41deg);-moz-transform:rotate(41deg);-ms-transform:rotate(41deg);-o-transform:rotate(41deg);transform:rotate(41deg)}.wi-wind.from-222-deg{-webkit-transform:rotate(42deg);-moz-transform:rotate(42deg);-ms-transform:rotate(42deg);-o-transform:rotate(42deg);transform:rotate(42deg)}.wi-wind.from-223-deg{-webkit-transform:rotate(43deg);-moz-transform:rotate(43deg);-ms-transform:rotate(43deg);-o-transform:rotate(43deg);transform:rotate(43deg)}.wi-wind.from-224-deg{-webkit-transform:rotate(44deg);-moz-transform:rotate(44deg);-ms-transform:rotate(44deg);-o-transform:rotate(44deg);transform:rotate(44deg)}.wi-wind.from-225-deg{-webkit-transform:rotate(45deg);-moz-transform:rotate(45deg);-ms-transform:rotate(45deg);-o-transform:rotate(45deg);transform:rotate(45deg)}.wi-wind.from-226-deg{-webkit-transform:rotate(46deg);-moz-transform:rotate(46deg);-ms-transform:rotate(46deg);-o-transform:rotate(46deg);transform:rotate(46deg)}.wi-wind.from-227-deg{-webkit-transform:rotate(47deg);-moz-transform:rotate(47deg);-ms-transform:rotate(47deg);-o-transform:rotate(47deg);transform:rotate(47deg)}.wi-wind.from-228-deg{-webkit-transform:rotate(48deg);-moz-transform:rotate(48deg);-ms-transform:rotate(48deg);-o-transform:rotate(48deg);transform:rotate(48deg)}.wi-wind.from-229-deg{-webkit-transform:rotate(49deg);-moz-transform:rotate(49deg);-ms-transform:rotate(49deg);-o-transform:rotate(49deg);transform:rotate(49deg)}.wi-wind.from-230-deg{-webkit-transform:rotate(50deg);-moz-transform:rotate(50deg);-ms-transform:rotate(50deg);-o-transform:rotate(50deg);transform:rotate(50deg)}.wi-wind.from-231-deg{-webkit-transform:rotate(51deg);-moz-transform:rotate(51deg);-ms-transform:rotate(51deg);-o-transform:rotate(51deg);transform:rotate(51deg)}.wi-wind.from-232-deg{-webkit-transform:rotate(52deg);-moz-transform:rotate(52deg);-ms-transform:rotate(52deg);-o-transform:rotate(52deg);transform:rotate(52deg)}.wi-wind.from-233-deg{-webkit-transform:rotate(53deg);-moz-transform:rotate(53deg);-ms-transform:rotate(53deg);-o-transform:rotate(53deg);transform:rotate(53deg)}.wi-wind.from-234-deg{-webkit-transform:rotate(54deg);-moz-transform:rotate(54deg);-ms-transform:rotate(54deg);-o-transform:rotate(54deg);transform:rotate(54deg)}.wi-wind.from-235-deg{-webkit-transform:rotate(55deg);-moz-transform:rotate(55deg);-ms-transform:rotate(55deg);-o-transform:rotate(55deg);transform:rotate(55deg)}.wi-wind.from-236-deg{-webkit-transform:rotate(56deg);-moz-transform:rotate(56deg);-ms-transform:rotate(56deg);-o-transform:rotate(56deg);transform:rotate(56deg)}.wi-wind.from-237-deg{-webkit-transform:rotate(57deg);-moz-transform:rotate(57deg);-ms-transform:rotate(57deg);-o-transform:rotate(57deg);transform:rotate(57deg)}.wi-wind.from-238-deg{-webkit-transform:rotate(58deg);-moz-transform:rotate(58deg);-ms-transform:rotate(58deg);-o-transform:rotate(58deg);transform:rotate(58deg)}.wi-wind.from-239-deg{-webkit-transform:rotate(59deg);-moz-transform:rotate(59deg);-ms-transform:rotate(59deg);-o-transform:rotate(59deg);transform:rotate(59deg)}.wi-wind.from-240-deg{-webkit-transform:rotate(60deg);-moz-transform:rotate(60deg);-ms-transform:rotate(60deg);-o-transform:rotate(60deg);transform:rotate(60deg)}.wi-wind.from-241-deg{-webkit-transform:rotate(61deg);-moz-transform:rotate(61deg);-ms-transform:rotate(61deg);-o-transform:rotate(61deg);transform:rotate(61deg)}.wi-wind.from-242-deg{-webkit-transform:rotate(62deg);-moz-transform:rotate(62deg);-ms-transform:rotate(62deg);-o-transform:rotate(62deg);transform:rotate(62deg)}.wi-wind.from-243-deg{-webkit-transform:rotate(63deg);-moz-transform:rotate(63deg);-ms-transform:rotate(63deg);-o-transform:rotate(63deg);transform:rotate(63deg)}.wi-wind.from-244-deg{-webkit-transform:rotate(64deg);-moz-transform:rotate(64deg);-ms-transform:rotate(64deg);-o-transform:rotate(64deg);transform:rotate(64deg)}.wi-wind.from-245-deg{-webkit-transform:rotate(65deg);-moz-transform:rotate(65deg);-ms-transform:rotate(65deg);-o-transform:rotate(65deg);transform:rotate(65deg)}.wi-wind.from-246-deg{-webkit-transform:rotate(66deg);-moz-transform:rotate(66deg);-ms-transform:rotate(66deg);-o-transform:rotate(66deg);transform:rotate(66deg)}.wi-wind.from-247-deg{-webkit-transform:rotate(67deg);-moz-transform:rotate(67deg);-ms-transform:rotate(67deg);-o-transform:rotate(67deg);transform:rotate(67deg)}.wi-wind.from-248-deg{-webkit-transform:rotate(68deg);-moz-transform:rotate(68deg);-ms-transform:rotate(68deg);-o-transform:rotate(68deg);transform:rotate(68deg)}.wi-wind.from-249-deg{-webkit-transform:rotate(69deg);-moz-transform:rotate(69deg);-ms-transform:rotate(69deg);-o-transform:rotate(69deg);transform:rotate(69deg)}.wi-wind.from-250-deg{-webkit-transform:rotate(70deg);-moz-transform:rotate(70deg);-ms-transform:rotate(70deg);-o-transform:rotate(70deg);transform:rotate(70deg)}.wi-wind.from-251-deg{-webkit-transform:rotate(71deg);-moz-transform:rotate(71deg);-ms-transform:rotate(71deg);-o-transform:rotate(71deg);transform:rotate(71deg)}.wi-wind.from-252-deg{-webkit-transform:rotate(72deg);-moz-transform:rotate(72deg);-ms-transform:rotate(72deg);-o-transform:rotate(72deg);transform:rotate(72deg)}.wi-wind.from-253-deg{-webkit-transform:rotate(73deg);-moz-transform:rotate(73deg);-ms-transform:rotate(73deg);-o-transform:rotate(73deg);transform:rotate(73deg)}.wi-wind.from-254-deg{-webkit-transform:rotate(74deg);-moz-transform:rotate(74deg);-ms-transform:rotate(74deg);-o-transform:rotate(74deg);transform:rotate(74deg)}.wi-wind.from-255-deg{-webkit-transform:rotate(75deg);-moz-transform:rotate(75deg);-ms-transform:rotate(75deg);-o-transform:rotate(75deg);transform:rotate(75deg)}.wi-wind.from-256-deg{-webkit-transform:rotate(76deg);-moz-transform:rotate(76deg);-ms-transform:rotate(76deg);-o-transform:rotate(76deg);transform:rotate(76deg)}.wi-wind.from-257-deg{-webkit-transform:rotate(77deg);-moz-transform:rotate(77deg);-ms-transform:rotate(77deg);-o-transform:rotate(77deg);transform:rotate(77deg)}.wi-wind.from-258-deg{-webkit-transform:rotate(78deg);-moz-transform:rotate(78deg);-ms-transform:rotate(78deg);-o-transform:rotate(78deg);transform:rotate(78deg)}.wi-wind.from-259-deg{-webkit-transform:rotate(79deg);-moz-transform:rotate(79deg);-ms-transform:rotate(79deg);-o-transform:rotate(79deg);transform:rotate(79deg)}.wi-wind.from-260-deg{-webkit-transform:rotate(80deg);-moz-transform:rotate(80deg);-ms-transform:rotate(80deg);-o-transform:rotate(80deg);transform:rotate(80deg)}.wi-wind.from-261-deg{-webkit-transform:rotate(81deg);-moz-transform:rotate(81deg);-ms-transform:rotate(81deg);-o-transform:rotate(81deg);transform:rotate(81deg)}.wi-wind.from-262-deg{-webkit-transform:rotate(82deg);-moz-transform:rotate(82deg);-ms-transform:rotate(82deg);-o-transform:rotate(82deg);transform:rotate(82deg)}.wi-wind.from-263-deg{-webkit-transform:rotate(83deg);-moz-transform:rotate(83deg);-ms-transform:rotate(83deg);-o-transform:rotate(83deg);transform:rotate(83deg)}.wi-wind.from-264-deg{-webkit-transform:rotate(84deg);-moz-transform:rotate(84deg);-ms-transform:rotate(84deg);-o-transform:rotate(84deg);transform:rotate(84deg)}.wi-wind.from-265-deg{-webkit-transform:rotate(85deg);-moz-transform:rotate(85deg);-ms-transform:rotate(85deg);-o-transform:rotate(85deg);transform:rotate(85deg)}.wi-wind.from-266-deg{-webkit-transform:rotate(86deg);-moz-transform:rotate(86deg);-ms-transform:rotate(86deg);-o-transform:rotate(86deg);transform:rotate(86deg)}.wi-wind.from-267-deg{-webkit-transform:rotate(87deg);-moz-transform:rotate(87deg);-ms-transform:rotate(87deg);-o-transform:rotate(87deg);transform:rotate(87deg)}.wi-wind.from-268-deg{-webkit-transform:rotate(88deg);-moz-transform:rotate(88deg);-ms-transform:rotate(88deg);-o-transform:rotate(88deg);transform:rotate(88deg)}.wi-wind.from-269-deg{-webkit-transform:rotate(89deg);-moz-transform:rotate(89deg);-ms-transform:rotate(89deg);-o-transform:rotate(89deg);transform:rotate(89deg)}.wi-wind.from-270-deg{-webkit-transform:rotate(90deg);-moz-transform:rotate(90deg);-ms-transform:rotate(90deg);-o-transform:rotate(90deg);transform:rotate(90deg)}.wi-wind.from-271-deg{-webkit-transform:rotate(91deg);-moz-transform:rotate(91deg);-ms-transform:rotate(91deg);-o-transform:rotate(91deg);transform:rotate(91deg)}.wi-wind.from-272-deg{-webkit-transform:rotate(92deg);-moz-transform:rotate(92deg);-ms-transform:rotate(92deg);-o-transform:rotate(92deg);transform:rotate(92deg)}.wi-wind.from-273-deg{-webkit-transform:rotate(93deg);-moz-transform:rotate(93deg);-ms-transform:rotate(93deg);-o-transform:rotate(93deg);transform:rotate(93deg)}.wi-wind.from-274-deg{-webkit-transform:rotate(94deg);-moz-transform:rotate(94deg);-ms-transform:rotate(94deg);-o-transform:rotate(94deg);transform:rotate(94deg)}.wi-wind.from-275-deg{-webkit-transform:rotate(95deg);-moz-transform:rotate(95deg);-ms-transform:rotate(95deg);-o-transform:rotate(95deg);transform:rotate(95deg)}.wi-wind.from-276-deg{-webkit-transform:rotate(96deg);-moz-transform:rotate(96deg);-ms-transform:rotate(96deg);-o-transform:rotate(96deg);transform:rotate(96deg)}.wi-wind.from-277-deg{-webkit-transform:rotate(97deg);-moz-transform:rotate(97deg);-ms-transform:rotate(97deg);-o-transform:rotate(97deg);transform:rotate(97deg)}.wi-wind.from-278-deg{-webkit-transform:rotate(98deg);-moz-transform:rotate(98deg);-ms-transform:rotate(98deg);-o-transform:rotate(98deg);transform:rotate(98deg)}.wi-wind.from-279-deg{-webkit-transform:rotate(99deg);-moz-transform:rotate(99deg);-ms-transform:rotate(99deg);-o-transform:rotate(99deg);transform:rotate(99deg)}.wi-wind.from-280-deg{-webkit-transform:rotate(100deg);-moz-transform:rotate(100deg);-ms-transform:rotate(100deg);-o-transform:rotate(100deg);transform:rotate(100deg)}.wi-wind.from-281-deg{-webkit-transform:rotate(101deg);-moz-transform:rotate(101deg);-ms-transform:rotate(101deg);-o-transform:rotate(101deg);transform:rotate(101deg)}.wi-wind.from-282-deg{-webkit-transform:rotate(102deg);-moz-transform:rotate(102deg);-ms-transform:rotate(102deg);-o-transform:rotate(102deg);transform:rotate(102deg)}.wi-wind.from-283-deg{-webkit-transform:rotate(103deg);-moz-transform:rotate(103deg);-ms-transform:rotate(103deg);-o-transform:rotate(103deg);transform:rotate(103deg)}.wi-wind.from-284-deg{-webkit-transform:rotate(104deg);-moz-transform:rotate(104deg);-ms-transform:rotate(104deg);-o-transform:rotate(104deg);transform:rotate(104deg)}.wi-wind.from-285-deg{-webkit-transform:rotate(105deg);-moz-transform:rotate(105deg);-ms-transform:rotate(105deg);-o-transform:rotate(105deg);transform:rotate(105deg)}.wi-wind.from-286-deg{-webkit-transform:rotate(106deg);-moz-transform:rotate(106deg);-ms-transform:rotate(106deg);-o-transform:rotate(106deg);transform:rotate(106deg)}.wi-wind.from-287-deg{-webkit-transform:rotate(107deg);-moz-transform:rotate(107deg);-ms-transform:rotate(107deg);-o-transform:rotate(107deg);transform:rotate(107deg)}.wi-wind.from-288-deg{-webkit-transform:rotate(108deg);-moz-transform:rotate(108deg);-ms-transform:rotate(108deg);-o-transform:rotate(108deg);transform:rotate(108deg)}.wi-wind.from-289-deg{-webkit-transform:rotate(109deg);-moz-transform:rotate(109deg);-ms-transform:rotate(109deg);-o-transform:rotate(109deg);transform:rotate(109deg)}.wi-wind.from-290-deg{-webkit-transform:rotate(110deg);-moz-transform:rotate(110deg);-ms-transform:rotate(110deg);-o-transform:rotate(110deg);transform:rotate(110deg)}.wi-wind.from-291-deg{-webkit-transform:rotate(111deg);-moz-transform:rotate(111deg);-ms-transform:rotate(111deg);-o-transform:rotate(111deg);transform:rotate(111deg)}.wi-wind.from-292-deg{-webkit-transform:rotate(112deg);-moz-transform:rotate(112deg);-ms-transform:rotate(112deg);-o-transform:rotate(112deg);transform:rotate(112deg)}.wi-wind.from-293-deg{-webkit-transform:rotate(113deg);-moz-transform:rotate(113deg);-ms-transform:rotate(113deg);-o-transform:rotate(113deg);transform:rotate(113deg)}.wi-wind.from-294-deg{-webkit-transform:rotate(114deg);-moz-transform:rotate(114deg);-ms-transform:rotate(114deg);-o-transform:rotate(114deg);transform:rotate(114deg)}.wi-wind.from-295-deg{-webkit-transform:rotate(115deg);-moz-transform:rotate(115deg);-ms-transform:rotate(115deg);-o-transform:rotate(115deg);transform:rotate(115deg)}.wi-wind.from-296-deg{-webkit-transform:rotate(116deg);-moz-transform:rotate(116deg);-ms-transform:rotate(116deg);-o-transform:rotate(116deg);transform:rotate(116deg)}.wi-wind.from-297-deg{-webkit-transform:rotate(117deg);-moz-transform:rotate(117deg);-ms-transform:rotate(117deg);-o-transform:rotate(117deg);transform:rotate(117deg)}.wi-wind.from-298-deg{-webkit-transform:rotate(118deg);-moz-transform:rotate(118deg);-ms-transform:rotate(118deg);-o-transform:rotate(118deg);transform:rotate(118deg)}.wi-wind.from-299-deg{-webkit-transform:rotate(119deg);-moz-transform:rotate(119deg);-ms-transform:rotate(119deg);-o-transform:rotate(119deg);transform:rotate(119deg)}.wi-wind.from-300-deg{-webkit-transform:rotate(120deg);-moz-transform:rotate(120deg);-ms-transform:rotate(120deg);-o-transform:rotate(120deg);transform:rotate(120deg)}.wi-wind.from-301-deg{-webkit-transform:rotate(121deg);-moz-transform:rotate(121deg);-ms-transform:rotate(121deg);-o-transform:rotate(121deg);transform:rotate(121deg)}.wi-wind.from-302-deg{-webkit-transform:rotate(122deg);-moz-transform:rotate(122deg);-ms-transform:rotate(122deg);-o-transform:rotate(122deg);transform:rotate(122deg)}.wi-wind.from-303-deg{-webkit-transform:rotate(123deg);-moz-transform:rotate(123deg);-ms-transform:rotate(123deg);-o-transform:rotate(123deg);transform:rotate(123deg)}.wi-wind.from-304-deg{-webkit-transform:rotate(124deg);-moz-transform:rotate(124deg);-ms-transform:rotate(124deg);-o-transform:rotate(124deg);transform:rotate(124deg)}.wi-wind.from-305-deg{-webkit-transform:rotate(125deg);-moz-transform:rotate(125deg);-ms-transform:rotate(125deg);-o-transform:rotate(125deg);transform:rotate(125deg)}.wi-wind.from-306-deg{-webkit-transform:rotate(126deg);-moz-transform:rotate(126deg);-ms-transform:rotate(126deg);-o-transform:rotate(126deg);transform:rotate(126deg)}.wi-wind.from-307-deg{-webkit-transform:rotate(127deg);-moz-transform:rotate(127deg);-ms-transform:rotate(127deg);-o-transform:rotate(127deg);transform:rotate(127deg)}.wi-wind.from-308-deg{-webkit-transform:rotate(128deg);-moz-transform:rotate(128deg);-ms-transform:rotate(128deg);-o-transform:rotate(128deg);transform:rotate(128deg)}.wi-wind.from-309-deg{-webkit-transform:rotate(129deg);-moz-transform:rotate(129deg);-ms-transform:rotate(129deg);-o-transform:rotate(129deg);transform:rotate(129deg)}.wi-wind.from-310-deg{-webkit-transform:rotate(130deg);-moz-transform:rotate(130deg);-ms-transform:rotate(130deg);-o-transform:rotate(130deg);transform:rotate(130deg)}.wi-wind.from-311-deg{-webkit-transform:rotate(131deg);-moz-transform:rotate(131deg);-ms-transform:rotate(131deg);-o-transform:rotate(131deg);transform:rotate(131deg)}.wi-wind.from-312-deg{-webkit-transform:rotate(132deg);-moz-transform:rotate(132deg);-ms-transform:rotate(132deg);-o-transform:rotate(132deg);transform:rotate(132deg)}.wi-wind.from-313-deg{-webkit-transform:rotate(133deg);-moz-transform:rotate(133deg);-ms-transform:rotate(133deg);-o-transform:rotate(133deg);transform:rotate(133deg)}.wi-wind.from-314-deg{-webkit-transform:rotate(134deg);-moz-transform:rotate(134deg);-ms-transform:rotate(134deg);-o-transform:rotate(134deg);transform:rotate(134deg)}.wi-wind.from-315-deg{-webkit-transform:rotate(135deg);-moz-transform:rotate(135deg);-ms-transform:rotate(135deg);-o-transform:rotate(135deg);transform:rotate(135deg)}.wi-wind.from-316-deg{-webkit-transform:rotate(136deg);-moz-transform:rotate(136deg);-ms-transform:rotate(136deg);-o-transform:rotate(136deg);transform:rotate(136deg)}.wi-wind.from-317-deg{-webkit-transform:rotate(137deg);-moz-transform:rotate(137deg);-ms-transform:rotate(137deg);-o-transform:rotate(137deg);transform:rotate(137deg)}.wi-wind.from-318-deg{-webkit-transform:rotate(138deg);-moz-transform:rotate(138deg);-ms-transform:rotate(138deg);-o-transform:rotate(138deg);transform:rotate(138deg)}.wi-wind.from-319-deg{-webkit-transform:rotate(139deg);-moz-transform:rotate(139deg);-ms-transform:rotate(139deg);-o-transform:rotate(139deg);transform:rotate(139deg)}.wi-wind.from-320-deg{-webkit-transform:rotate(140deg);-moz-transform:rotate(140deg);-ms-transform:rotate(140deg);-o-transform:rotate(140deg);transform:rotate(140deg)}.wi-wind.from-321-deg{-webkit-transform:rotate(141deg);-moz-transform:rotate(141deg);-ms-transform:rotate(141deg);-o-transform:rotate(141deg);transform:rotate(141deg)}.wi-wind.from-322-deg{-webkit-transform:rotate(142deg);-moz-transform:rotate(142deg);-ms-transform:rotate(142deg);-o-transform:rotate(142deg);transform:rotate(142deg)}.wi-wind.from-323-deg{-webkit-transform:rotate(143deg);-moz-transform:rotate(143deg);-ms-transform:rotate(143deg);-o-transform:rotate(143deg);transform:rotate(143deg)}.wi-wind.from-324-deg{-webkit-transform:rotate(144deg);-moz-transform:rotate(144deg);-ms-transform:rotate(144deg);-o-transform:rotate(144deg);transform:rotate(144deg)}.wi-wind.from-325-deg{-webkit-transform:rotate(145deg);-moz-transform:rotate(145deg);-ms-transform:rotate(145deg);-o-transform:rotate(145deg);transform:rotate(145deg)}.wi-wind.from-326-deg{-webkit-transform:rotate(146deg);-moz-transform:rotate(146deg);-ms-transform:rotate(146deg);-o-transform:rotate(146deg);transform:rotate(146deg)}.wi-wind.from-327-deg{-webkit-transform:rotate(147deg);-moz-transform:rotate(147deg);-ms-transform:rotate(147deg);-o-transform:rotate(147deg);transform:rotate(147deg)}.wi-wind.from-328-deg{-webkit-transform:rotate(148deg);-moz-transform:rotate(148deg);-ms-transform:rotate(148deg);-o-transform:rotate(148deg);transform:rotate(148deg)}.wi-wind.from-329-deg{-webkit-transform:rotate(149deg);-moz-transform:rotate(149deg);-ms-transform:rotate(149deg);-o-transform:rotate(149deg);transform:rotate(149deg)}.wi-wind.from-330-deg{-webkit-transform:rotate(150deg);-moz-transform:rotate(150deg);-ms-transform:rotate(150deg);-o-transform:rotate(150deg);transform:rotate(150deg)}.wi-wind.from-331-deg{-webkit-transform:rotate(151deg);-moz-transform:rotate(151deg);-ms-transform:rotate(151deg);-o-transform:rotate(151deg);transform:rotate(151deg)}.wi-wind.from-332-deg{-webkit-transform:rotate(152deg);-moz-transform:rotate(152deg);-ms-transform:rotate(152deg);-o-transform:rotate(152deg);transform:rotate(152deg)}.wi-wind.from-333-deg{-webkit-transform:rotate(153deg);-moz-transform:rotate(153deg);-ms-transform:rotate(153deg);-o-transform:rotate(153deg);transform:rotate(153deg)}.wi-wind.from-334-deg{-webkit-transform:rotate(154deg);-moz-transform:rotate(154deg);-ms-transform:rotate(154deg);-o-transform:rotate(154deg);transform:rotate(154deg)}.wi-wind.from-335-deg{-webkit-transform:rotate(155deg);-moz-transform:rotate(155deg);-ms-transform:rotate(155deg);-o-transform:rotate(155deg);transform:rotate(155deg)}.wi-wind.from-336-deg{-webkit-transform:rotate(156deg);-moz-transform:rotate(156deg);-ms-transform:rotate(156deg);-o-transform:rotate(156deg);transform:rotate(156deg)}.wi-wind.from-337-deg{-webkit-transform:rotate(157deg);-moz-transform:rotate(157deg);-ms-transform:rotate(157deg);-o-transform:rotate(157deg);transform:rotate(157deg)}.wi-wind.from-338-deg{-webkit-transform:rotate(158deg);-moz-transform:rotate(158deg);-ms-transform:rotate(158deg);-o-transform:rotate(158deg);transform:rotate(158deg)}.wi-wind.from-339-deg{-webkit-transform:rotate(159deg);-moz-transform:rotate(159deg);-ms-transform:rotate(159deg);-o-transform:rotate(159deg);transform:rotate(159deg)}.wi-wind.from-340-deg{-webkit-transform:rotate(160deg);-moz-transform:rotate(160deg);-ms-transform:rotate(160deg);-o-transform:rotate(160deg);transform:rotate(160deg)}.wi-wind.from-341-deg{-webkit-transform:rotate(161deg);-moz-transform:rotate(161deg);-ms-transform:rotate(161deg);-o-transform:rotate(161deg);transform:rotate(161deg)}.wi-wind.from-342-deg{-webkit-transform:rotate(162deg);-moz-transform:rotate(162deg);-ms-transform:rotate(162deg);-o-transform:rotate(162deg);transform:rotate(162deg)}.wi-wind.from-343-deg{-webkit-transform:rotate(163deg);-moz-transform:rotate(163deg);-ms-transform:rotate(163deg);-o-transform:rotate(163deg);transform:rotate(163deg)}.wi-wind.from-344-deg{-webkit-transform:rotate(164deg);-moz-transform:rotate(164deg);-ms-transform:rotate(164deg);-o-transform:rotate(164deg);transform:rotate(164deg)}.wi-wind.from-345-deg{-webkit-transform:rotate(165deg);-moz-transform:rotate(165deg);-ms-transform:rotate(165deg);-o-transform:rotate(165deg);transform:rotate(165deg)}.wi-wind.from-346-deg{-webkit-transform:rotate(166deg);-moz-transform:rotate(166deg);-ms-transform:rotate(166deg);-o-transform:rotate(166deg);transform:rotate(166deg)}.wi-wind.from-347-deg{-webkit-transform:rotate(167deg);-moz-transform:rotate(167deg);-ms-transform:rotate(167deg);-o-transform:rotate(167deg);transform:rotate(167deg)}.wi-wind.from-348-deg{-webkit-transform:rotate(168deg);-moz-transform:rotate(168deg);-ms-transform:rotate(168deg);-o-transform:rotate(168deg);transform:rotate(168deg)}.wi-wind.from-349-deg{-webkit-transform:rotate(169deg);-moz-transform:rotate(169deg);-ms-transform:rotate(169deg);-o-transform:rotate(169deg);transform:rotate(169deg)}.wi-wind.from-350-deg{-webkit-transform:rotate(170deg);-moz-transform:rotate(170deg);-ms-transform:rotate(170deg);-o-transform:rotate(170deg);transform:rotate(170deg)}.wi-wind.from-351-deg{-webkit-transform:rotate(171deg);-moz-transform:rotate(171deg);-ms-transform:rotate(171deg);-o-transform:rotate(171deg);transform:rotate(171deg)}.wi-wind.from-352-deg{-webkit-transform:rotate(172deg);-moz-transform:rotate(172deg);-ms-transform:rotate(172deg);-o-transform:rotate(172deg);transform:rotate(172deg)}.wi-wind.from-353-deg{-webkit-transform:rotate(173deg);-moz-transform:rotate(173deg);-ms-transform:rotate(173deg);-o-transform:rotate(173deg);transform:rotate(173deg)}.wi-wind.from-354-deg{-webkit-transform:rotate(174deg);-moz-transform:rotate(174deg);-ms-transform:rotate(174deg);-o-transform:rotate(174deg);transform:rotate(174deg)}.wi-wind.from-355-deg{-webkit-transform:rotate(175deg);-moz-transform:rotate(175deg);-ms-transform:rotate(175deg);-o-transform:rotate(175deg);transform:rotate(175deg)}.wi-wind.from-356-deg{-webkit-transform:rotate(176deg);-moz-transform:rotate(176deg);-ms-transform:rotate(176deg);-o-transform:rotate(176deg);transform:rotate(176deg)}.wi-wind.from-357-deg{-webkit-transform:rotate(177deg);-moz-transform:rotate(177deg);-ms-transform:rotate(177deg);-o-transform:rotate(177deg);transform:rotate(177deg)}.wi-wind.from-358-deg{-webkit-transform:rotate(178deg);-moz-transform:rotate(178deg);-ms-transform:rotate(178deg);-o-transform:rotate(178deg);transform:rotate(178deg)}.wi-wind.from-359-deg{-webkit-transform:rotate(179deg);-moz-transform:rotate(179deg);-ms-transform:rotate(179deg);-o-transform:rotate(179deg);transform:rotate(179deg)}.wi-wind.from-360-deg{-webkit-transform:rotate(180deg);-moz-transform:rotate(180deg);-ms-transform:rotate(180deg);-o-transform:rotate(180deg);transform:rotate(180deg)}.wi-towards-n{-webkit-transform:rotate(0);-moz-transform:rotate(0);-ms-transform:rotate(0);-o-transform:rotate(0);transform:rotate(0)}.wi-towards-nne{-webkit-transform:rotate(23deg);-moz-transform:rotate(23deg);-ms-transform:rotate(23deg);-o-transform:rotate(23deg);transform:rotate(23deg)}.wi-towards-ne{-webkit-transform:rotate(45deg);-moz-transform:rotate(45deg);-ms-transform:rotate(45deg);-o-transform:rotate(45deg);transform:rotate(45deg)}.wi-towards-ene{-webkit-transform:rotate(68deg);-moz-transform:rotate(68deg);-ms-transform:rotate(68deg);-o-transform:rotate(68deg);transform:rotate(68deg)}.wi-towards-e{-webkit-transform:rotate(90deg);-moz-transform:rotate(90deg);-ms-transform:rotate(90deg);-o-transform:rotate(90deg);transform:rotate(90deg)}.wi-towards-ese{-webkit-transform:rotate(113deg);-moz-transform:rotate(113deg);-ms-transform:rotate(113deg);-o-transform:rotate(113deg);transform:rotate(113deg)}.wi-towards-se{-webkit-transform:rotate(135deg);-moz-transform:rotate(135deg);-ms-transform:rotate(135deg);-o-transform:rotate(135deg);transform:rotate(135deg)}.wi-towards-sse{-webkit-transform:rotate(158deg);-moz-transform:rotate(158deg);-ms-transform:rotate(158deg);-o-transform:rotate(158deg);transform:rotate(158deg)}.wi-towards-s{-webkit-transform:rotate(180deg);-moz-transform:rotate(180deg);-ms-transform:rotate(180deg);-o-transform:rotate(180deg);transform:rotate(180deg)}.wi-towards-ssw{-webkit-transform:rotate(203deg);-moz-transform:rotate(203deg);-ms-transform:rotate(203deg);-o-transform:rotate(203deg);transform:rotate(203deg)}.wi-towards-sw{-webkit-transform:rotate(225deg);-moz-transform:rotate(225deg);-ms-transform:rotate(225deg);-o-transform:rotate(225deg);transform:rotate(225deg)}.wi-towards-wsw{-webkit-transform:rotate(248deg);-moz-transform:rotate(248deg);-ms-transform:rotate(248deg);-o-transform:rotate(248deg);transform:rotate(248deg)}.wi-towards-w{-webkit-transform:rotate(270deg);-moz-transform:rotate(270deg);-ms-transform:rotate(270deg);-o-transform:rotate(270deg);transform:rotate(270deg)}.wi-towards-wnw{-webkit-transform:rotate(293deg);-moz-transform:rotate(293deg);-ms-transform:rotate(293deg);-o-transform:rotate(293deg);transform:rotate(293deg)}.wi-towards-nw{-webkit-transform:rotate(313deg);-moz-transform:rotate(313deg);-ms-transform:rotate(313deg);-o-transform:rotate(313deg);transform:rotate(313deg)}.wi-towards-nnw{-webkit-transform:rotate(336deg);-moz-transform:rotate(336deg);-ms-transform:rotate(336deg);-o-transform:rotate(336deg);transform:rotate(336deg)}.wi-from-n{-webkit-transform:rotate(180deg);-moz-transform:rotate(180deg);-ms-transform:rotate(180deg);-o-transform:rotate(180deg);transform:rotate(180deg)}.wi-from-nne{-webkit-transform:rotate(203deg);-moz-transform:rotate(203deg);-ms-transform:rotate(203deg);-o-transform:rotate(203deg);transform:rotate(203deg)}.wi-from-ne{-webkit-transform:rotate(225deg);-moz-transform:rotate(225deg);-ms-transform:rotate(225deg);-o-transform:rotate(225deg);transform:rotate(225deg)}.wi-from-ene{-webkit-transform:rotate(248deg);-moz-transform:rotate(248deg);-ms-transform:rotate(248deg);-o-transform:rotate(248deg);transform:rotate(248deg)}.wi-from-e{-webkit-transform:rotate(270deg);-moz-transform:rotate(270deg);-ms-transform:rotate(270deg);-o-transform:rotate(270deg);transform:rotate(270deg)}.wi-from-ese{-webkit-transform:rotate(293deg);-moz-transform:rotate(293deg);-ms-transform:rotate(293deg);-o-transform:rotate(293deg);transform:rotate(293deg)}.wi-from-se{-webkit-transform:rotate(315deg);-moz-transform:rotate(315deg);-ms-transform:rotate(315deg);-o-transform:rotate(315deg);transform:rotate(315deg)}.wi-from-sse{-webkit-transform:rotate(338deg);-moz-transform:rotate(338deg);-ms-transform:rotate(338deg);-o-transform:rotate(338deg);transform:rotate(338deg)}.wi-from-s{-webkit-transform:rotate(0);-moz-transform:rotate(0);-ms-transform:rotate(0);-o-transform:rotate(0);transform:rotate(0)}.wi-from-ssw{-webkit-transform:rotate(23deg);-moz-transform:rotate(23deg);-ms-transform:rotate(23deg);-o-transform:rotate(23deg);transform:rotate(23deg)}.wi-from-sw{-webkit-transform:rotate(45deg);-moz-transform:rotate(45deg);-ms-transform:rotate(45deg);-o-transform:rotate(45deg);transform:rotate(45deg)}.wi-from-wsw{-webkit-transform:rotate(68deg);-moz-transform:rotate(68deg);-ms-transform:rotate(68deg);-o-transform:rotate(68deg);transform:rotate(68deg)}.wi-from-w{-webkit-transform:rotate(90deg);-moz-transform:rotate(90deg);-ms-transform:rotate(90deg);-o-transform:rotate(90deg);transform:rotate(90deg)}.wi-from-wnw{-webkit-transform:rotate(113deg);-moz-transform:rotate(113deg);-ms-transform:rotate(113deg);-o-transform:rotate(113deg);transform:rotate(113deg)}.wi-from-nw{-webkit-transform:rotate(133deg);-moz-transform:rotate(133deg);-ms-transform:rotate(133deg);-o-transform:rotate(133deg);transform:rotate(133deg)}.wi-from-nnw{-webkit-transform:rotate(156deg);-moz-transform:rotate(156deg);-ms-transform:rotate(156deg);-o-transform:rotate(156deg);transform:rotate(156deg)} \ No newline at end of file diff --git a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/weather-icons/css/weather-icons.css b/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/weather-icons/css/weather-icons.css deleted file mode 100755 index 3c1f1543..00000000 --- a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/weather-icons/css/weather-icons.css +++ /dev/null @@ -1,1838 +0,0 @@ -/*! - * Weather Icons 2.0.8 - * Updated September 19, 2015 - * Weather themed icons for Bootstrap - * Author - Erik Flowers - erik@helloerik.com - * Email: erik@helloerik.com - * Twitter: http://twitter.com/Erik_UX - * ------------------------------------------------------------------------------ - * Maintained at http://erikflowers.github.io/weather-icons - * - * License - * ------------------------------------------------------------------------------ - * - Font licensed under SIL OFL 1.1 - - * http://scripts.sil.org/OFL - * - CSS, SCSS and LESS are licensed under MIT License - - * http://opensource.org/licenses/mit-license.html - * - Documentation licensed under CC BY 3.0 - - * http://creativecommons.org/licenses/by/3.0/ - * - Inspired by and works great as a companion with Font Awesome - * "Font Awesome by Dave Gandy - http://fontawesome.io" - */ -@font-face { - font-family: 'weathericons'; - src: url('../font/weathericons-regular-webfont.eot'); - src: url('../font/weathericons-regular-webfont.eot?#iefix') format('embedded-opentype'), url('../font/weathericons-regular-webfont.woff2') format('woff2'), url('../font/weathericons-regular-webfont.woff') format('woff'), url('../font/weathericons-regular-webfont.ttf') format('truetype'), url('../font/weathericons-regular-webfont.svg#weather_iconsregular') format('svg'); - font-weight: normal; - font-style: normal; -} -.wi { - display: inline-block; - font-family: 'weathericons'; - font-style: normal; - font-weight: normal; - line-height: 1; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} -.wi-fw { - text-align: center; - width: 1.4em; -} -.wi-rotate-90 { - filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=1); - -webkit-transform: rotate(90deg); - -ms-transform: rotate(90deg); - transform: rotate(90deg); -} -.wi-rotate-180 { - filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2); - -webkit-transform: rotate(180deg); - -ms-transform: rotate(180deg); - transform: rotate(180deg); -} -.wi-rotate-270 { - filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=3); - -webkit-transform: rotate(270deg); - -ms-transform: rotate(270deg); - transform: rotate(270deg); -} -.wi-flip-horizontal { - filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1); - -webkit-transform: scale(-1, 1); - -ms-transform: scale(-1, 1); - transform: scale(-1, 1); -} -.wi-flip-vertical { - filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1); - -webkit-transform: scale(1, -1); - -ms-transform: scale(1, -1); - transform: scale(1, -1); -} -.wi-day-sunny:before { - content: "\f00d"; -} -.wi-day-cloudy:before { - content: "\f002"; -} -.wi-day-cloudy-gusts:before { - content: "\f000"; -} -.wi-day-cloudy-windy:before { - content: "\f001"; -} -.wi-day-fog:before { - content: "\f003"; -} -.wi-day-hail:before { - content: "\f004"; -} -.wi-day-haze:before { - content: "\f0b6"; -} -.wi-day-lightning:before { - content: "\f005"; -} -.wi-day-rain:before { - content: "\f008"; -} -.wi-day-rain-mix:before { - content: "\f006"; -} -.wi-day-rain-wind:before { - content: "\f007"; -} -.wi-day-showers:before { - content: "\f009"; -} -.wi-day-sleet:before { - content: "\f0b2"; -} -.wi-day-sleet-storm:before { - content: "\f068"; -} -.wi-day-snow:before { - content: "\f00a"; -} -.wi-day-snow-thunderstorm:before { - content: "\f06b"; -} -.wi-day-snow-wind:before { - content: "\f065"; -} -.wi-day-sprinkle:before { - content: "\f00b"; -} -.wi-day-storm-showers:before { - content: "\f00e"; -} -.wi-day-sunny-overcast:before { - content: "\f00c"; -} -.wi-day-thunderstorm:before { - content: "\f010"; -} -.wi-day-windy:before { - content: "\f085"; -} -.wi-solar-eclipse:before { - content: "\f06e"; -} -.wi-hot:before { - content: "\f072"; -} -.wi-day-cloudy-high:before { - content: "\f07d"; -} -.wi-day-light-wind:before { - content: "\f0c4"; -} -.wi-night-clear:before { - content: "\f02e"; -} -.wi-night-alt-cloudy:before { - content: "\f086"; -} -.wi-night-alt-cloudy-gusts:before { - content: "\f022"; -} -.wi-night-alt-cloudy-windy:before { - content: "\f023"; -} -.wi-night-alt-hail:before { - content: "\f024"; -} -.wi-night-alt-lightning:before { - content: "\f025"; -} -.wi-night-alt-rain:before { - content: "\f028"; -} -.wi-night-alt-rain-mix:before { - content: "\f026"; -} -.wi-night-alt-rain-wind:before { - content: "\f027"; -} -.wi-night-alt-showers:before { - content: "\f029"; -} -.wi-night-alt-sleet:before { - content: "\f0b4"; -} -.wi-night-alt-sleet-storm:before { - content: "\f06a"; -} -.wi-night-alt-snow:before { - content: "\f02a"; -} -.wi-night-alt-snow-thunderstorm:before { - content: "\f06d"; -} -.wi-night-alt-snow-wind:before { - content: "\f067"; -} -.wi-night-alt-sprinkle:before { - content: "\f02b"; -} -.wi-night-alt-storm-showers:before { - content: "\f02c"; -} -.wi-night-alt-thunderstorm:before { - content: "\f02d"; -} -.wi-night-cloudy:before { - content: "\f031"; -} -.wi-night-cloudy-gusts:before { - content: "\f02f"; -} -.wi-night-cloudy-windy:before { - content: "\f030"; -} -.wi-night-fog:before { - content: "\f04a"; -} -.wi-night-hail:before { - content: "\f032"; -} -.wi-night-lightning:before { - content: "\f033"; -} -.wi-night-partly-cloudy:before { - content: "\f083"; -} -.wi-night-rain:before { - content: "\f036"; -} -.wi-night-rain-mix:before { - content: "\f034"; -} -.wi-night-rain-wind:before { - content: "\f035"; -} -.wi-night-showers:before { - content: "\f037"; -} -.wi-night-sleet:before { - content: "\f0b3"; -} -.wi-night-sleet-storm:before { - content: "\f069"; -} -.wi-night-snow:before { - content: "\f038"; -} -.wi-night-snow-thunderstorm:before { - content: "\f06c"; -} -.wi-night-snow-wind:before { - content: "\f066"; -} -.wi-night-sprinkle:before { - content: "\f039"; -} -.wi-night-storm-showers:before { - content: "\f03a"; -} -.wi-night-thunderstorm:before { - content: "\f03b"; -} -.wi-lunar-eclipse:before { - content: "\f070"; -} -.wi-stars:before { - content: "\f077"; -} -.wi-storm-showers:before { - content: "\f01d"; -} -.wi-thunderstorm:before { - content: "\f01e"; -} -.wi-night-alt-cloudy-high:before { - content: "\f07e"; -} -.wi-night-cloudy-high:before { - content: "\f080"; -} -.wi-night-alt-partly-cloudy:before { - content: "\f081"; -} -.wi-cloud:before { - content: "\f041"; -} -.wi-cloudy:before { - content: "\f013"; -} -.wi-cloudy-gusts:before { - content: "\f011"; -} -.wi-cloudy-windy:before { - content: "\f012"; -} -.wi-fog:before { - content: "\f014"; -} -.wi-hail:before { - content: "\f015"; -} -.wi-rain:before { - content: "\f019"; -} -.wi-rain-mix:before { - content: "\f017"; -} -.wi-rain-wind:before { - content: "\f018"; -} -.wi-showers:before { - content: "\f01a"; -} -.wi-sleet:before { - content: "\f0b5"; -} -.wi-snow:before { - content: "\f01b"; -} -.wi-sprinkle:before { - content: "\f01c"; -} -.wi-storm-showers:before { - content: "\f01d"; -} -.wi-thunderstorm:before { - content: "\f01e"; -} -.wi-snow-wind:before { - content: "\f064"; -} -.wi-snow:before { - content: "\f01b"; -} -.wi-smog:before { - content: "\f074"; -} -.wi-smoke:before { - content: "\f062"; -} -.wi-lightning:before { - content: "\f016"; -} -.wi-raindrops:before { - content: "\f04e"; -} -.wi-raindrop:before { - content: "\f078"; -} -.wi-dust:before { - content: "\f063"; -} -.wi-snowflake-cold:before { - content: "\f076"; -} -.wi-windy:before { - content: "\f021"; -} -.wi-strong-wind:before { - content: "\f050"; -} -.wi-sandstorm:before { - content: "\f082"; -} -.wi-earthquake:before { - content: "\f0c6"; -} -.wi-fire:before { - content: "\f0c7"; -} -.wi-flood:before { - content: "\f07c"; -} -.wi-meteor:before { - content: "\f071"; -} -.wi-tsunami:before { - content: "\f0c5"; -} -.wi-volcano:before { - content: "\f0c8"; -} -.wi-hurricane:before { - content: "\f073"; -} -.wi-tornado:before { - content: "\f056"; -} -.wi-small-craft-advisory:before { - content: "\f0cc"; -} -.wi-gale-warning:before { - content: "\f0cd"; -} -.wi-storm-warning:before { - content: "\f0ce"; -} -.wi-hurricane-warning:before { - content: "\f0cf"; -} -.wi-wind-direction:before { - content: "\f0b1"; -} -.wi-alien:before { - content: "\f075"; -} -.wi-celsius:before { - content: "\f03c"; -} -.wi-fahrenheit:before { - content: "\f045"; -} -.wi-degrees:before { - content: "\f042"; -} -.wi-thermometer:before { - content: "\f055"; -} -.wi-thermometer-exterior:before { - content: "\f053"; -} -.wi-thermometer-internal:before { - content: "\f054"; -} -.wi-cloud-down:before { - content: "\f03d"; -} -.wi-cloud-up:before { - content: "\f040"; -} -.wi-cloud-refresh:before { - content: "\f03e"; -} -.wi-horizon:before { - content: "\f047"; -} -.wi-horizon-alt:before { - content: "\f046"; -} -.wi-sunrise:before { - content: "\f051"; -} -.wi-sunset:before { - content: "\f052"; -} -.wi-moonrise:before { - content: "\f0c9"; -} -.wi-moonset:before { - content: "\f0ca"; -} -.wi-refresh:before { - content: "\f04c"; -} -.wi-refresh-alt:before { - content: "\f04b"; -} -.wi-umbrella:before { - content: "\f084"; -} -.wi-barometer:before { - content: "\f079"; -} -.wi-humidity:before { - content: "\f07a"; -} -.wi-na:before { - content: "\f07b"; -} -.wi-train:before { - content: "\f0cb"; -} -.wi-moon-new:before { - content: "\f095"; -} -.wi-moon-waxing-crescent-1:before { - content: "\f096"; -} -.wi-moon-waxing-crescent-2:before { - content: "\f097"; -} -.wi-moon-waxing-crescent-3:before { - content: "\f098"; -} -.wi-moon-waxing-crescent-4:before { - content: "\f099"; -} -.wi-moon-waxing-crescent-5:before { - content: "\f09a"; -} -.wi-moon-waxing-crescent-6:before { - content: "\f09b"; -} -.wi-moon-first-quarter:before { - content: "\f09c"; -} -.wi-moon-waxing-gibbous-1:before { - content: "\f09d"; -} -.wi-moon-waxing-gibbous-2:before { - content: "\f09e"; -} -.wi-moon-waxing-gibbous-3:before { - content: "\f09f"; -} -.wi-moon-waxing-gibbous-4:before { - content: "\f0a0"; -} -.wi-moon-waxing-gibbous-5:before { - content: "\f0a1"; -} -.wi-moon-waxing-gibbous-6:before { - content: "\f0a2"; -} -.wi-moon-full:before { - content: "\f0a3"; -} -.wi-moon-waning-gibbous-1:before { - content: "\f0a4"; -} -.wi-moon-waning-gibbous-2:before { - content: "\f0a5"; -} -.wi-moon-waning-gibbous-3:before { - content: "\f0a6"; -} -.wi-moon-waning-gibbous-4:before { - content: "\f0a7"; -} -.wi-moon-waning-gibbous-5:before { - content: "\f0a8"; -} -.wi-moon-waning-gibbous-6:before { - content: "\f0a9"; -} -.wi-moon-third-quarter:before { - content: "\f0aa"; -} -.wi-moon-waning-crescent-1:before { - content: "\f0ab"; -} -.wi-moon-waning-crescent-2:before { - content: "\f0ac"; -} -.wi-moon-waning-crescent-3:before { - content: "\f0ad"; -} -.wi-moon-waning-crescent-4:before { - content: "\f0ae"; -} -.wi-moon-waning-crescent-5:before { - content: "\f0af"; -} -.wi-moon-waning-crescent-6:before { - content: "\f0b0"; -} -.wi-moon-alt-new:before { - content: "\f0eb"; -} -.wi-moon-alt-waxing-crescent-1:before { - content: "\f0d0"; -} -.wi-moon-alt-waxing-crescent-2:before { - content: "\f0d1"; -} -.wi-moon-alt-waxing-crescent-3:before { - content: "\f0d2"; -} -.wi-moon-alt-waxing-crescent-4:before { - content: "\f0d3"; -} -.wi-moon-alt-waxing-crescent-5:before { - content: "\f0d4"; -} -.wi-moon-alt-waxing-crescent-6:before { - content: "\f0d5"; -} -.wi-moon-alt-first-quarter:before { - content: "\f0d6"; -} -.wi-moon-alt-waxing-gibbous-1:before { - content: "\f0d7"; -} -.wi-moon-alt-waxing-gibbous-2:before { - content: "\f0d8"; -} -.wi-moon-alt-waxing-gibbous-3:before { - content: "\f0d9"; -} -.wi-moon-alt-waxing-gibbous-4:before { - content: "\f0da"; -} -.wi-moon-alt-waxing-gibbous-5:before { - content: "\f0db"; -} -.wi-moon-alt-waxing-gibbous-6:before { - content: "\f0dc"; -} -.wi-moon-alt-full:before { - content: "\f0dd"; -} -.wi-moon-alt-waning-gibbous-1:before { - content: "\f0de"; -} -.wi-moon-alt-waning-gibbous-2:before { - content: "\f0df"; -} -.wi-moon-alt-waning-gibbous-3:before { - content: "\f0e0"; -} -.wi-moon-alt-waning-gibbous-4:before { - content: "\f0e1"; -} -.wi-moon-alt-waning-gibbous-5:before { - content: "\f0e2"; -} -.wi-moon-alt-waning-gibbous-6:before { - content: "\f0e3"; -} -.wi-moon-alt-third-quarter:before { - content: "\f0e4"; -} -.wi-moon-alt-waning-crescent-1:before { - content: "\f0e5"; -} -.wi-moon-alt-waning-crescent-2:before { - content: "\f0e6"; -} -.wi-moon-alt-waning-crescent-3:before { - content: "\f0e7"; -} -.wi-moon-alt-waning-crescent-4:before { - content: "\f0e8"; -} -.wi-moon-alt-waning-crescent-5:before { - content: "\f0e9"; -} -.wi-moon-alt-waning-crescent-6:before { - content: "\f0ea"; -} -.wi-moon-0:before { - content: "\f095"; -} -.wi-moon-1:before { - content: "\f096"; -} -.wi-moon-2:before { - content: "\f097"; -} -.wi-moon-3:before { - content: "\f098"; -} -.wi-moon-4:before { - content: "\f099"; -} -.wi-moon-5:before { - content: "\f09a"; -} -.wi-moon-6:before { - content: "\f09b"; -} -.wi-moon-7:before { - content: "\f09c"; -} -.wi-moon-8:before { - content: "\f09d"; -} -.wi-moon-9:before { - content: "\f09e"; -} -.wi-moon-10:before { - content: "\f09f"; -} -.wi-moon-11:before { - content: "\f0a0"; -} -.wi-moon-12:before { - content: "\f0a1"; -} -.wi-moon-13:before { - content: "\f0a2"; -} -.wi-moon-14:before { - content: "\f0a3"; -} -.wi-moon-15:before { - content: "\f0a4"; -} -.wi-moon-16:before { - content: "\f0a5"; -} -.wi-moon-17:before { - content: "\f0a6"; -} -.wi-moon-18:before { - content: "\f0a7"; -} -.wi-moon-19:before { - content: "\f0a8"; -} -.wi-moon-20:before { - content: "\f0a9"; -} -.wi-moon-21:before { - content: "\f0aa"; -} -.wi-moon-22:before { - content: "\f0ab"; -} -.wi-moon-23:before { - content: "\f0ac"; -} -.wi-moon-24:before { - content: "\f0ad"; -} -.wi-moon-25:before { - content: "\f0ae"; -} -.wi-moon-26:before { - content: "\f0af"; -} -.wi-moon-27:before { - content: "\f0b0"; -} -.wi-time-1:before { - content: "\f08a"; -} -.wi-time-2:before { - content: "\f08b"; -} -.wi-time-3:before { - content: "\f08c"; -} -.wi-time-4:before { - content: "\f08d"; -} -.wi-time-5:before { - content: "\f08e"; -} -.wi-time-6:before { - content: "\f08f"; -} -.wi-time-7:before { - content: "\f090"; -} -.wi-time-8:before { - content: "\f091"; -} -.wi-time-9:before { - content: "\f092"; -} -.wi-time-10:before { - content: "\f093"; -} -.wi-time-11:before { - content: "\f094"; -} -.wi-time-12:before { - content: "\f089"; -} -.wi-direction-up:before { - content: "\f058"; -} -.wi-direction-up-right:before { - content: "\f057"; -} -.wi-direction-right:before { - content: "\f04d"; -} -.wi-direction-down-right:before { - content: "\f088"; -} -.wi-direction-down:before { - content: "\f044"; -} -.wi-direction-down-left:before { - content: "\f043"; -} -.wi-direction-left:before { - content: "\f048"; -} -.wi-direction-up-left:before { - content: "\f087"; -} -.wi-wind-beaufort-0:before { - content: "\f0b7"; -} -.wi-wind-beaufort-1:before { - content: "\f0b8"; -} -.wi-wind-beaufort-2:before { - content: "\f0b9"; -} -.wi-wind-beaufort-3:before { - content: "\f0ba"; -} -.wi-wind-beaufort-4:before { - content: "\f0bb"; -} -.wi-wind-beaufort-5:before { - content: "\f0bc"; -} -.wi-wind-beaufort-6:before { - content: "\f0bd"; -} -.wi-wind-beaufort-7:before { - content: "\f0be"; -} -.wi-wind-beaufort-8:before { - content: "\f0bf"; -} -.wi-wind-beaufort-9:before { - content: "\f0c0"; -} -.wi-wind-beaufort-10:before { - content: "\f0c1"; -} -.wi-wind-beaufort-11:before { - content: "\f0c2"; -} -.wi-wind-beaufort-12:before { - content: "\f0c3"; -} -.wi-yahoo-0:before { - content: "\f056"; -} -.wi-yahoo-1:before { - content: "\f00e"; -} -.wi-yahoo-2:before { - content: "\f073"; -} -.wi-yahoo-3:before { - content: "\f01e"; -} -.wi-yahoo-4:before { - content: "\f01e"; -} -.wi-yahoo-5:before { - content: "\f017"; -} -.wi-yahoo-6:before { - content: "\f017"; -} -.wi-yahoo-7:before { - content: "\f017"; -} -.wi-yahoo-8:before { - content: "\f015"; -} -.wi-yahoo-9:before { - content: "\f01a"; -} -.wi-yahoo-10:before { - content: "\f015"; -} -.wi-yahoo-11:before { - content: "\f01a"; -} -.wi-yahoo-12:before { - content: "\f01a"; -} -.wi-yahoo-13:before { - content: "\f01b"; -} -.wi-yahoo-14:before { - content: "\f00a"; -} -.wi-yahoo-15:before { - content: "\f064"; -} -.wi-yahoo-16:before { - content: "\f01b"; -} -.wi-yahoo-17:before { - content: "\f015"; -} -.wi-yahoo-18:before { - content: "\f017"; -} -.wi-yahoo-19:before { - content: "\f063"; -} -.wi-yahoo-20:before { - content: "\f014"; -} -.wi-yahoo-21:before { - content: "\f021"; -} -.wi-yahoo-22:before { - content: "\f062"; -} -.wi-yahoo-23:before { - content: "\f050"; -} -.wi-yahoo-24:before { - content: "\f050"; -} -.wi-yahoo-25:before { - content: "\f076"; -} -.wi-yahoo-26:before { - content: "\f013"; -} -.wi-yahoo-27:before { - content: "\f031"; -} -.wi-yahoo-28:before { - content: "\f002"; -} -.wi-yahoo-29:before { - content: "\f031"; -} -.wi-yahoo-30:before { - content: "\f002"; -} -.wi-yahoo-31:before { - content: "\f02e"; -} -.wi-yahoo-32:before { - content: "\f00d"; -} -.wi-yahoo-33:before { - content: "\f083"; -} -.wi-yahoo-34:before { - content: "\f00c"; -} -.wi-yahoo-35:before { - content: "\f017"; -} -.wi-yahoo-36:before { - content: "\f072"; -} -.wi-yahoo-37:before { - content: "\f00e"; -} -.wi-yahoo-38:before { - content: "\f00e"; -} -.wi-yahoo-39:before { - content: "\f00e"; -} -.wi-yahoo-40:before { - content: "\f01a"; -} -.wi-yahoo-41:before { - content: "\f064"; -} -.wi-yahoo-42:before { - content: "\f01b"; -} -.wi-yahoo-43:before { - content: "\f064"; -} -.wi-yahoo-44:before { - content: "\f00c"; -} -.wi-yahoo-45:before { - content: "\f00e"; -} -.wi-yahoo-46:before { - content: "\f01b"; -} -.wi-yahoo-47:before { - content: "\f00e"; -} -.wi-yahoo-3200:before { - content: "\f077"; -} -.wi-forecast-io-clear-day:before { - content: "\f00d"; -} -.wi-forecast-io-clear-night:before { - content: "\f02e"; -} -.wi-forecast-io-rain:before { - content: "\f019"; -} -.wi-forecast-io-snow:before { - content: "\f01b"; -} -.wi-forecast-io-sleet:before { - content: "\f0b5"; -} -.wi-forecast-io-wind:before { - content: "\f050"; -} -.wi-forecast-io-fog:before { - content: "\f014"; -} -.wi-forecast-io-cloudy:before { - content: "\f013"; -} -.wi-forecast-io-partly-cloudy-day:before { - content: "\f002"; -} -.wi-forecast-io-partly-cloudy-night:before { - content: "\f031"; -} -.wi-forecast-io-hail:before { - content: "\f015"; -} -.wi-forecast-io-thunderstorm:before { - content: "\f01e"; -} -.wi-forecast-io-tornado:before { - content: "\f056"; -} -.wi-wmo4680-0:before, -.wi-wmo4680-00:before { - content: "\f055"; -} -.wi-wmo4680-1:before, -.wi-wmo4680-01:before { - content: "\f013"; -} -.wi-wmo4680-2:before, -.wi-wmo4680-02:before { - content: "\f055"; -} -.wi-wmo4680-3:before, -.wi-wmo4680-03:before { - content: "\f013"; -} -.wi-wmo4680-4:before, -.wi-wmo4680-04:before { - content: "\f014"; -} -.wi-wmo4680-5:before, -.wi-wmo4680-05:before { - content: "\f014"; -} -.wi-wmo4680-10:before { - content: "\f014"; -} -.wi-wmo4680-11:before { - content: "\f014"; -} -.wi-wmo4680-12:before { - content: "\f016"; -} -.wi-wmo4680-18:before { - content: "\f050"; -} -.wi-wmo4680-20:before { - content: "\f014"; -} -.wi-wmo4680-21:before { - content: "\f017"; -} -.wi-wmo4680-22:before { - content: "\f017"; -} -.wi-wmo4680-23:before { - content: "\f019"; -} -.wi-wmo4680-24:before { - content: "\f01b"; -} -.wi-wmo4680-25:before { - content: "\f015"; -} -.wi-wmo4680-26:before { - content: "\f01e"; -} -.wi-wmo4680-27:before { - content: "\f063"; -} -.wi-wmo4680-28:before { - content: "\f063"; -} -.wi-wmo4680-29:before { - content: "\f063"; -} -.wi-wmo4680-30:before { - content: "\f014"; -} -.wi-wmo4680-31:before { - content: "\f014"; -} -.wi-wmo4680-32:before { - content: "\f014"; -} -.wi-wmo4680-33:before { - content: "\f014"; -} -.wi-wmo4680-34:before { - content: "\f014"; -} -.wi-wmo4680-35:before { - content: "\f014"; -} -.wi-wmo4680-40:before { - content: "\f017"; -} -.wi-wmo4680-41:before { - content: "\f01c"; -} -.wi-wmo4680-42:before { - content: "\f019"; -} -.wi-wmo4680-43:before { - content: "\f01c"; -} -.wi-wmo4680-44:before { - content: "\f019"; -} -.wi-wmo4680-45:before { - content: "\f015"; -} -.wi-wmo4680-46:before { - content: "\f015"; -} -.wi-wmo4680-47:before { - content: "\f01b"; -} -.wi-wmo4680-48:before { - content: "\f01b"; -} -.wi-wmo4680-50:before { - content: "\f01c"; -} -.wi-wmo4680-51:before { - content: "\f01c"; -} -.wi-wmo4680-52:before { - content: "\f019"; -} -.wi-wmo4680-53:before { - content: "\f019"; -} -.wi-wmo4680-54:before { - content: "\f076"; -} -.wi-wmo4680-55:before { - content: "\f076"; -} -.wi-wmo4680-56:before { - content: "\f076"; -} -.wi-wmo4680-57:before { - content: "\f01c"; -} -.wi-wmo4680-58:before { - content: "\f019"; -} -.wi-wmo4680-60:before { - content: "\f01c"; -} -.wi-wmo4680-61:before { - content: "\f01c"; -} -.wi-wmo4680-62:before { - content: "\f019"; -} -.wi-wmo4680-63:before { - content: "\f019"; -} -.wi-wmo4680-64:before { - content: "\f015"; -} -.wi-wmo4680-65:before { - content: "\f015"; -} -.wi-wmo4680-66:before { - content: "\f015"; -} -.wi-wmo4680-67:before { - content: "\f017"; -} -.wi-wmo4680-68:before { - content: "\f017"; -} -.wi-wmo4680-70:before { - content: "\f01b"; -} -.wi-wmo4680-71:before { - content: "\f01b"; -} -.wi-wmo4680-72:before { - content: "\f01b"; -} -.wi-wmo4680-73:before { - content: "\f01b"; -} -.wi-wmo4680-74:before { - content: "\f076"; -} -.wi-wmo4680-75:before { - content: "\f076"; -} -.wi-wmo4680-76:before { - content: "\f076"; -} -.wi-wmo4680-77:before { - content: "\f01b"; -} -.wi-wmo4680-78:before { - content: "\f076"; -} -.wi-wmo4680-80:before { - content: "\f019"; -} -.wi-wmo4680-81:before { - content: "\f01c"; -} -.wi-wmo4680-82:before { - content: "\f019"; -} -.wi-wmo4680-83:before { - content: "\f019"; -} -.wi-wmo4680-84:before { - content: "\f01d"; -} -.wi-wmo4680-85:before { - content: "\f017"; -} -.wi-wmo4680-86:before { - content: "\f017"; -} -.wi-wmo4680-87:before { - content: "\f017"; -} -.wi-wmo4680-89:before { - content: "\f015"; -} -.wi-wmo4680-90:before { - content: "\f016"; -} -.wi-wmo4680-91:before { - content: "\f01d"; -} -.wi-wmo4680-92:before { - content: "\f01e"; -} -.wi-wmo4680-93:before { - content: "\f01e"; -} -.wi-wmo4680-94:before { - content: "\f016"; -} -.wi-wmo4680-95:before { - content: "\f01e"; -} -.wi-wmo4680-96:before { - content: "\f01e"; -} -.wi-wmo4680-99:before { - content: "\f056"; -} -.wi-owm-200:before { - content: "\f01e"; -} -.wi-owm-201:before { - content: "\f01e"; -} -.wi-owm-202:before { - content: "\f01e"; -} -.wi-owm-210:before { - content: "\f016"; -} -.wi-owm-211:before { - content: "\f016"; -} -.wi-owm-212:before { - content: "\f016"; -} -.wi-owm-221:before { - content: "\f016"; -} -.wi-owm-230:before { - content: "\f01e"; -} -.wi-owm-231:before { - content: "\f01e"; -} -.wi-owm-232:before { - content: "\f01e"; -} -.wi-owm-300:before { - content: "\f01c"; -} -.wi-owm-301:before { - content: "\f01c"; -} -.wi-owm-302:before { - content: "\f019"; -} -.wi-owm-310:before { - content: "\f017"; -} -.wi-owm-311:before { - content: "\f019"; -} -.wi-owm-312:before { - content: "\f019"; -} -.wi-owm-313:before { - content: "\f01a"; -} -.wi-owm-314:before { - content: "\f019"; -} -.wi-owm-321:before { - content: "\f01c"; -} -.wi-owm-500:before { - content: "\f01c"; -} -.wi-owm-501:before { - content: "\f019"; -} -.wi-owm-502:before { - content: "\f019"; -} -.wi-owm-503:before { - content: "\f019"; -} -.wi-owm-504:before { - content: "\f019"; -} -.wi-owm-511:before { - content: "\f017"; -} -.wi-owm-520:before { - content: "\f01a"; -} -.wi-owm-521:before { - content: "\f01a"; -} -.wi-owm-522:before { - content: "\f01a"; -} -.wi-owm-531:before { - content: "\f01d"; -} -.wi-owm-600:before { - content: "\f01b"; -} -.wi-owm-601:before { - content: "\f01b"; -} -.wi-owm-602:before { - content: "\f0b5"; -} -.wi-owm-611:before { - content: "\f017"; -} -.wi-owm-612:before { - content: "\f017"; -} -.wi-owm-615:before { - content: "\f017"; -} -.wi-owm-616:before { - content: "\f017"; -} -.wi-owm-620:before { - content: "\f017"; -} -.wi-owm-621:before { - content: "\f01b"; -} -.wi-owm-622:before { - content: "\f01b"; -} -.wi-owm-701:before { - content: "\f01a"; -} -.wi-owm-711:before { - content: "\f062"; -} -.wi-owm-721:before { - content: "\f0b6"; -} -.wi-owm-731:before { - content: "\f063"; -} -.wi-owm-741:before { - content: "\f014"; -} -.wi-owm-761:before { - content: "\f063"; -} -.wi-owm-762:before { - content: "\f063"; -} -.wi-owm-771:before { - content: "\f011"; -} -.wi-owm-781:before { - content: "\f056"; -} -.wi-owm-800:before { - content: "\f00d"; -} -.wi-owm-801:before { - content: "\f011"; -} -.wi-owm-802:before { - content: "\f011"; -} -.wi-owm-803:before { - content: "\f012"; -} -.wi-owm-804:before { - content: "\f013"; -} -.wi-owm-900:before { - content: "\f056"; -} -.wi-owm-901:before { - content: "\f01d"; -} -.wi-owm-902:before { - content: "\f073"; -} -.wi-owm-903:before { - content: "\f076"; -} -.wi-owm-904:before { - content: "\f072"; -} -.wi-owm-905:before { - content: "\f021"; -} -.wi-owm-906:before { - content: "\f015"; -} -.wi-owm-957:before { - content: "\f050"; -} -.wi-owm-day-200:before { - content: "\f010"; -} -.wi-owm-day-201:before { - content: "\f010"; -} -.wi-owm-day-202:before { - content: "\f010"; -} -.wi-owm-day-210:before { - content: "\f005"; -} -.wi-owm-day-211:before { - content: "\f005"; -} -.wi-owm-day-212:before { - content: "\f005"; -} -.wi-owm-day-221:before { - content: "\f005"; -} -.wi-owm-day-230:before { - content: "\f010"; -} -.wi-owm-day-231:before { - content: "\f010"; -} -.wi-owm-day-232:before { - content: "\f010"; -} -.wi-owm-day-300:before { - content: "\f00b"; -} -.wi-owm-day-301:before { - content: "\f00b"; -} -.wi-owm-day-302:before { - content: "\f008"; -} -.wi-owm-day-310:before { - content: "\f008"; -} -.wi-owm-day-311:before { - content: "\f008"; -} -.wi-owm-day-312:before { - content: "\f008"; -} -.wi-owm-day-313:before { - content: "\f008"; -} -.wi-owm-day-314:before { - content: "\f008"; -} -.wi-owm-day-321:before { - content: "\f00b"; -} -.wi-owm-day-500:before { - content: "\f00b"; -} -.wi-owm-day-501:before { - content: "\f008"; -} -.wi-owm-day-502:before { - content: "\f008"; -} -.wi-owm-day-503:before { - content: "\f008"; -} -.wi-owm-day-504:before { - content: "\f008"; -} -.wi-owm-day-511:before { - content: "\f006"; -} -.wi-owm-day-520:before { - content: "\f009"; -} -.wi-owm-day-521:before { - content: "\f009"; -} -.wi-owm-day-522:before { - content: "\f009"; -} -.wi-owm-day-531:before { - content: "\f00e"; -} -.wi-owm-day-600:before { - content: "\f00a"; -} -.wi-owm-day-601:before { - content: "\f0b2"; -} -.wi-owm-day-602:before { - content: "\f00a"; -} -.wi-owm-day-611:before { - content: "\f006"; -} -.wi-owm-day-612:before { - content: "\f006"; -} -.wi-owm-day-615:before { - content: "\f006"; -} -.wi-owm-day-616:before { - content: "\f006"; -} -.wi-owm-day-620:before { - content: "\f006"; -} -.wi-owm-day-621:before { - content: "\f00a"; -} -.wi-owm-day-622:before { - content: "\f00a"; -} -.wi-owm-day-701:before { - content: "\f009"; -} -.wi-owm-day-711:before { - content: "\f062"; -} -.wi-owm-day-721:before { - content: "\f0b6"; -} -.wi-owm-day-731:before { - content: "\f063"; -} -.wi-owm-day-741:before { - content: "\f003"; -} -.wi-owm-day-761:before { - content: "\f063"; -} -.wi-owm-day-762:before { - content: "\f063"; -} -.wi-owm-day-781:before { - content: "\f056"; -} -.wi-owm-day-800:before { - content: "\f00d"; -} -.wi-owm-day-801:before { - content: "\f000"; -} -.wi-owm-day-802:before { - content: "\f000"; -} -.wi-owm-day-803:before { - content: "\f000"; -} -.wi-owm-day-804:before { - content: "\f00c"; -} -.wi-owm-day-900:before { - content: "\f056"; -} -.wi-owm-day-902:before { - content: "\f073"; -} -.wi-owm-day-903:before { - content: "\f076"; -} -.wi-owm-day-904:before { - content: "\f072"; -} -.wi-owm-day-906:before { - content: "\f004"; -} -.wi-owm-day-957:before { - content: "\f050"; -} -.wi-owm-night-200:before { - content: "\f02d"; -} -.wi-owm-night-201:before { - content: "\f02d"; -} -.wi-owm-night-202:before { - content: "\f02d"; -} -.wi-owm-night-210:before { - content: "\f025"; -} -.wi-owm-night-211:before { - content: "\f025"; -} -.wi-owm-night-212:before { - content: "\f025"; -} -.wi-owm-night-221:before { - content: "\f025"; -} -.wi-owm-night-230:before { - content: "\f02d"; -} -.wi-owm-night-231:before { - content: "\f02d"; -} -.wi-owm-night-232:before { - content: "\f02d"; -} -.wi-owm-night-300:before { - content: "\f02b"; -} -.wi-owm-night-301:before { - content: "\f02b"; -} -.wi-owm-night-302:before { - content: "\f028"; -} -.wi-owm-night-310:before { - content: "\f028"; -} -.wi-owm-night-311:before { - content: "\f028"; -} -.wi-owm-night-312:before { - content: "\f028"; -} -.wi-owm-night-313:before { - content: "\f028"; -} -.wi-owm-night-314:before { - content: "\f028"; -} -.wi-owm-night-321:before { - content: "\f02b"; -} -.wi-owm-night-500:before { - content: "\f02b"; -} -.wi-owm-night-501:before { - content: "\f028"; -} -.wi-owm-night-502:before { - content: "\f028"; -} -.wi-owm-night-503:before { - content: "\f028"; -} -.wi-owm-night-504:before { - content: "\f028"; -} -.wi-owm-night-511:before { - content: "\f026"; -} -.wi-owm-night-520:before { - content: "\f029"; -} -.wi-owm-night-521:before { - content: "\f029"; -} -.wi-owm-night-522:before { - content: "\f029"; -} -.wi-owm-night-531:before { - content: "\f02c"; -} -.wi-owm-night-600:before { - content: "\f02a"; -} -.wi-owm-night-601:before { - content: "\f0b4"; -} -.wi-owm-night-602:before { - content: "\f02a"; -} -.wi-owm-night-611:before { - content: "\f026"; -} -.wi-owm-night-612:before { - content: "\f026"; -} -.wi-owm-night-615:before { - content: "\f026"; -} -.wi-owm-night-616:before { - content: "\f026"; -} -.wi-owm-night-620:before { - content: "\f026"; -} -.wi-owm-night-621:before { - content: "\f02a"; -} -.wi-owm-night-622:before { - content: "\f02a"; -} -.wi-owm-night-701:before { - content: "\f029"; -} -.wi-owm-night-711:before { - content: "\f062"; -} -.wi-owm-night-721:before { - content: "\f0b6"; -} -.wi-owm-night-731:before { - content: "\f063"; -} -.wi-owm-night-741:before { - content: "\f04a"; -} -.wi-owm-night-761:before { - content: "\f063"; -} -.wi-owm-night-762:before { - content: "\f063"; -} -.wi-owm-night-781:before { - content: "\f056"; -} -.wi-owm-night-800:before { - content: "\f02e"; -} -.wi-owm-night-801:before { - content: "\f022"; -} -.wi-owm-night-802:before { - content: "\f022"; -} -.wi-owm-night-803:before { - content: "\f022"; -} -.wi-owm-night-804:before { - content: "\f086"; -} -.wi-owm-night-900:before { - content: "\f056"; -} -.wi-owm-night-902:before { - content: "\f073"; -} -.wi-owm-night-903:before { - content: "\f076"; -} -.wi-owm-night-904:before { - content: "\f072"; -} -.wi-owm-night-906:before { - content: "\f024"; -} -.wi-owm-night-957:before { - content: "\f050"; -} -.wi-wu-chanceflurries:before { - content: "\f064"; -} -.wi-wu-chancerain:before { - content: "\f019"; -} -.wi-wu-chancesleat:before { - content: "\f0b5"; -} -.wi-wu-chancesnow:before { - content: "\f01b"; -} -.wi-wu-chancetstorms:before { - content: "\f01e"; -} -.wi-wu-clear:before { - content: "\f00d"; -} -.wi-wu-cloudy:before { - content: "\f002"; -} -.wi-wu-flurries:before { - content: "\f064"; -} -.wi-wu-hazy:before { - content: "\f0b6"; -} -.wi-wu-mostlycloudy:before { - content: "\f002"; -} -.wi-wu-mostlysunny:before { - content: "\f00d"; -} -.wi-wu-partlycloudy:before { - content: "\f002"; -} -.wi-wu-partlysunny:before { - content: "\f00d"; -} -.wi-wu-rain:before { - content: "\f01a"; -} -.wi-wu-sleat:before { - content: "\f0b5"; -} -.wi-wu-snow:before { - content: "\f01b"; -} -.wi-wu-sunny:before { - content: "\f00d"; -} -.wi-wu-tstorms:before { - content: "\f01e"; -} -.wi-wu-unknown:before { - content: "\f00d"; -} diff --git a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/weather-icons/css/weather-icons.min.css b/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/weather-icons/css/weather-icons.min.css deleted file mode 100755 index c61bc6d6..00000000 --- a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/weather-icons/css/weather-icons.min.css +++ /dev/null @@ -1,41 +0,0 @@ -/*! - * Weather Icons 2.0 - * Updated August 1, 2015 - * Weather themed icons for Bootstrap - * Author - Erik Flowers - erik@helloerik.com - * Email: erik@helloerik.com - * Twitter: http://twitter.com/Erik_UX - * ------------------------------------------------------------------------------ - * Maintained at http://erikflowers.github.io/weather-icons - * - * License - * ------------------------------------------------------------------------------ - * - Font licensed under SIL OFL 1.1 - - * http://scripts.sil.org/OFL - * - CSS, SCSS and LESS are licensed under MIT License - - * http://opensource.org/licenses/mit-license.html - * - Documentation licensed under CC BY 3.0 - - * http://creativecommons.org/licenses/by/3.0/ - * - Inspired by and works great as a companion with Font Awesome - * "Font Awesome by Dave Gandy - http://fontawesome.io" - *//*! - * Weather Icons 2.0 - * Updated August 1, 2015 - * Weather themed icons for Bootstrap - * Author - Erik Flowers - erik@helloerik.com - * Email: erik@helloerik.com - * Twitter: http://twitter.com/Erik_UX - * ------------------------------------------------------------------------------ - * Maintained at http://erikflowers.github.io/weather-icons - * - * License - * ------------------------------------------------------------------------------ - * - Font licensed under SIL OFL 1.1 - - * http://scripts.sil.org/OFL - * - CSS, SCSS and LESS are licensed under MIT License - - * http://opensource.org/licenses/mit-license.html - * - Documentation licensed under CC BY 3.0 - - * http://creativecommons.org/licenses/by/3.0/ - * - Inspired by and works great as a companion with Font Awesome - * "Font Awesome by Dave Gandy - http://fontawesome.io" - */@font-face{font-family:weathericons;src:url(../font/weathericons-regular-webfont.eot);src:url(../font/weathericons-regular-webfont.eot?#iefix) format('embedded-opentype'),url(../font/weathericons-regular-webfont.woff2) format('woff2'),url(../font/weathericons-regular-webfont.woff) format('woff'),url(../font/weathericons-regular-webfont.ttf) format('truetype'),url(../font/weathericons-regular-webfont.svg#weather_iconsregular) format('svg');font-weight:400;font-style:normal}.wi{display:inline-block;font-family:weathericons;font-style:normal;font-weight:400;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.wi-fw{text-align:center;width:1.4em}.wi-rotate-90{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=1);-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}.wi-rotate-180{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=2);-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.wi-rotate-270{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=3);-webkit-transform:rotate(270deg);-ms-transform:rotate(270deg);transform:rotate(270deg)}.wi-flip-horizontal{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1);-webkit-transform:scale(-1,1);-ms-transform:scale(-1,1);transform:scale(-1,1)}.wi-flip-vertical{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1);-webkit-transform:scale(1,-1);-ms-transform:scale(1,-1);transform:scale(1,-1)}.wi-day-sunny:before{content:"\f00d"}.wi-day-cloudy:before{content:"\f002"}.wi-day-cloudy-gusts:before{content:"\f000"}.wi-day-cloudy-windy:before{content:"\f001"}.wi-day-fog:before{content:"\f003"}.wi-day-hail:before{content:"\f004"}.wi-day-haze:before{content:"\f0b6"}.wi-day-lightning:before{content:"\f005"}.wi-day-rain:before{content:"\f008"}.wi-day-rain-mix:before{content:"\f006"}.wi-day-rain-wind:before{content:"\f007"}.wi-day-showers:before{content:"\f009"}.wi-day-sleet:before{content:"\f0b2"}.wi-day-sleet-storm:before{content:"\f068"}.wi-day-snow:before{content:"\f00a"}.wi-day-snow-thunderstorm:before{content:"\f06b"}.wi-day-snow-wind:before{content:"\f065"}.wi-day-sprinkle:before{content:"\f00b"}.wi-day-storm-showers:before{content:"\f00e"}.wi-day-sunny-overcast:before{content:"\f00c"}.wi-day-thunderstorm:before{content:"\f010"}.wi-day-windy:before{content:"\f085"}.wi-solar-eclipse:before{content:"\f06e"}.wi-hot:before{content:"\f072"}.wi-day-cloudy-high:before{content:"\f07d"}.wi-day-light-wind:before{content:"\f0c4"}.wi-night-clear:before{content:"\f02e"}.wi-night-alt-cloudy:before{content:"\f086"}.wi-night-alt-cloudy-gusts:before{content:"\f022"}.wi-night-alt-cloudy-windy:before{content:"\f023"}.wi-night-alt-hail:before{content:"\f024"}.wi-night-alt-lightning:before{content:"\f025"}.wi-night-alt-rain:before{content:"\f028"}.wi-night-alt-rain-mix:before{content:"\f026"}.wi-night-alt-rain-wind:before{content:"\f027"}.wi-night-alt-showers:before{content:"\f029"}.wi-night-alt-sleet:before{content:"\f0b4"}.wi-night-alt-sleet-storm:before{content:"\f06a"}.wi-night-alt-snow:before{content:"\f02a"}.wi-night-alt-snow-thunderstorm:before{content:"\f06d"}.wi-night-alt-snow-wind:before{content:"\f067"}.wi-night-alt-sprinkle:before{content:"\f02b"}.wi-night-alt-storm-showers:before{content:"\f02c"}.wi-night-alt-thunderstorm:before{content:"\f02d"}.wi-night-cloudy:before{content:"\f031"}.wi-night-cloudy-gusts:before{content:"\f02f"}.wi-night-cloudy-windy:before{content:"\f030"}.wi-night-fog:before{content:"\f04a"}.wi-night-hail:before{content:"\f032"}.wi-night-lightning:before{content:"\f033"}.wi-night-partly-cloudy:before{content:"\f083"}.wi-night-rain:before{content:"\f036"}.wi-night-rain-mix:before{content:"\f034"}.wi-night-rain-wind:before{content:"\f035"}.wi-night-showers:before{content:"\f037"}.wi-night-sleet:before{content:"\f0b3"}.wi-night-sleet-storm:before{content:"\f069"}.wi-night-snow:before{content:"\f038"}.wi-night-snow-thunderstorm:before{content:"\f06c"}.wi-night-snow-wind:before{content:"\f066"}.wi-night-sprinkle:before{content:"\f039"}.wi-night-storm-showers:before{content:"\f03a"}.wi-night-thunderstorm:before{content:"\f03b"}.wi-lunar-eclipse:before{content:"\f070"}.wi-stars:before{content:"\f077"}.wi-storm-showers:before{content:"\f01d"}.wi-thunderstorm:before{content:"\f01e"}.wi-night-alt-cloudy-high:before{content:"\f07e"}.wi-night-cloudy-high:before{content:"\f080"}.wi-night-alt-partly-cloudy:before{content:"\f081"}.wi-cloud:before{content:"\f041"}.wi-cloudy:before{content:"\f013"}.wi-cloudy-gusts:before{content:"\f011"}.wi-cloudy-windy:before{content:"\f012"}.wi-fog:before{content:"\f014"}.wi-hail:before{content:"\f015"}.wi-rain:before{content:"\f019"}.wi-rain-mix:before{content:"\f017"}.wi-rain-wind:before{content:"\f018"}.wi-showers:before{content:"\f01a"}.wi-sleet:before{content:"\f0b5"}.wi-snow:before{content:"\f01b"}.wi-sprinkle:before{content:"\f01c"}.wi-storm-showers:before{content:"\f01d"}.wi-thunderstorm:before{content:"\f01e"}.wi-snow-wind:before{content:"\f064"}.wi-snow:before{content:"\f01b"}.wi-smog:before{content:"\f074"}.wi-smoke:before{content:"\f062"}.wi-lightning:before{content:"\f016"}.wi-raindrops:before{content:"\f04e"}.wi-raindrop:before{content:"\f078"}.wi-dust:before{content:"\f063"}.wi-snowflake-cold:before{content:"\f076"}.wi-windy:before{content:"\f021"}.wi-strong-wind:before{content:"\f050"}.wi-sandstorm:before{content:"\f082"}.wi-earthquake:before{content:"\f0c6"}.wi-fire:before{content:"\f0c7"}.wi-flood:before{content:"\f07c"}.wi-meteor:before{content:"\f071"}.wi-tsunami:before{content:"\f0c5"}.wi-volcano:before{content:"\f0c8"}.wi-hurricane:before{content:"\f073"}.wi-tornado:before{content:"\f056"}.wi-small-craft-advisory:before{content:"\f0cc"}.wi-gale-warning:before{content:"\f0cd"}.wi-storm-warning:before{content:"\f0ce"}.wi-hurricane-warning:before{content:"\f0cf"}.wi-wind-direction:before{content:"\f0b1"}.wi-alien:before{content:"\f075"}.wi-celsius:before{content:"\f03c"}.wi-fahrenheit:before{content:"\f045"}.wi-degrees:before{content:"\f042"}.wi-thermometer:before{content:"\f055"}.wi-thermometer-exterior:before{content:"\f053"}.wi-thermometer-internal:before{content:"\f054"}.wi-cloud-down:before{content:"\f03d"}.wi-cloud-up:before{content:"\f040"}.wi-cloud-refresh:before{content:"\f03e"}.wi-horizon:before{content:"\f047"}.wi-horizon-alt:before{content:"\f046"}.wi-sunrise:before{content:"\f051"}.wi-sunset:before{content:"\f052"}.wi-moonrise:before{content:"\f0c9"}.wi-moonset:before{content:"\f0ca"}.wi-refresh:before{content:"\f04c"}.wi-refresh-alt:before{content:"\f04b"}.wi-umbrella:before{content:"\f084"}.wi-barometer:before{content:"\f079"}.wi-humidity:before{content:"\f07a"}.wi-na:before{content:"\f07b"}.wi-train:before{content:"\f0cb"}.wi-moon-new:before{content:"\f095"}.wi-moon-waxing-crescent-1:before{content:"\f096"}.wi-moon-waxing-crescent-2:before{content:"\f097"}.wi-moon-waxing-crescent-3:before{content:"\f098"}.wi-moon-waxing-crescent-4:before{content:"\f099"}.wi-moon-waxing-crescent-5:before{content:"\f09a"}.wi-moon-waxing-crescent-6:before{content:"\f09b"}.wi-moon-first-quarter:before{content:"\f09c"}.wi-moon-waxing-gibbous-1:before{content:"\f09d"}.wi-moon-waxing-gibbous-2:before{content:"\f09e"}.wi-moon-waxing-gibbous-3:before{content:"\f09f"}.wi-moon-waxing-gibbous-4:before{content:"\f0a0"}.wi-moon-waxing-gibbous-5:before{content:"\f0a1"}.wi-moon-waxing-gibbous-6:before{content:"\f0a2"}.wi-moon-full:before{content:"\f0a3"}.wi-moon-waning-gibbous-1:before{content:"\f0a4"}.wi-moon-waning-gibbous-2:before{content:"\f0a5"}.wi-moon-waning-gibbous-3:before{content:"\f0a6"}.wi-moon-waning-gibbous-4:before{content:"\f0a7"}.wi-moon-waning-gibbous-5:before{content:"\f0a8"}.wi-moon-waning-gibbous-6:before{content:"\f0a9"}.wi-moon-third-quarter:before{content:"\f0aa"}.wi-moon-waning-crescent-1:before{content:"\f0ab"}.wi-moon-waning-crescent-2:before{content:"\f0ac"}.wi-moon-waning-crescent-3:before{content:"\f0ad"}.wi-moon-waning-crescent-4:before{content:"\f0ae"}.wi-moon-waning-crescent-5:before{content:"\f0af"}.wi-moon-waning-crescent-6:before{content:"\f0b0"}.wi-moon-alt-new:before{content:"\f0eb"}.wi-moon-alt-waxing-crescent-1:before{content:"\f0d0"}.wi-moon-alt-waxing-crescent-2:before{content:"\f0d1"}.wi-moon-alt-waxing-crescent-3:before{content:"\f0d2"}.wi-moon-alt-waxing-crescent-4:before{content:"\f0d3"}.wi-moon-alt-waxing-crescent-5:before{content:"\f0d4"}.wi-moon-alt-waxing-crescent-6:before{content:"\f0d5"}.wi-moon-alt-first-quarter:before{content:"\f0d6"}.wi-moon-alt-waxing-gibbous-1:before{content:"\f0d7"}.wi-moon-alt-waxing-gibbous-2:before{content:"\f0d8"}.wi-moon-alt-waxing-gibbous-3:before{content:"\f0d9"}.wi-moon-alt-waxing-gibbous-4:before{content:"\f0da"}.wi-moon-alt-waxing-gibbous-5:before{content:"\f0db"}.wi-moon-alt-waxing-gibbous-6:before{content:"\f0dc"}.wi-moon-alt-full:before{content:"\f0dd"}.wi-moon-alt-waning-gibbous-1:before{content:"\f0de"}.wi-moon-alt-waning-gibbous-2:before{content:"\f0df"}.wi-moon-alt-waning-gibbous-3:before{content:"\f0e0"}.wi-moon-alt-waning-gibbous-4:before{content:"\f0e1"}.wi-moon-alt-waning-gibbous-5:before{content:"\f0e2"}.wi-moon-alt-waning-gibbous-6:before{content:"\f0e3"}.wi-moon-alt-third-quarter:before{content:"\f0e4"}.wi-moon-alt-waning-crescent-1:before{content:"\f0e5"}.wi-moon-alt-waning-crescent-2:before{content:"\f0e6"}.wi-moon-alt-waning-crescent-3:before{content:"\f0e7"}.wi-moon-alt-waning-crescent-4:before{content:"\f0e8"}.wi-moon-alt-waning-crescent-5:before{content:"\f0e9"}.wi-moon-alt-waning-crescent-6:before{content:"\f0ea"}.wi-moon-0:before{content:"\f095"}.wi-moon-1:before{content:"\f096"}.wi-moon-2:before{content:"\f097"}.wi-moon-3:before{content:"\f098"}.wi-moon-4:before{content:"\f099"}.wi-moon-5:before{content:"\f09a"}.wi-moon-6:before{content:"\f09b"}.wi-moon-7:before{content:"\f09c"}.wi-moon-8:before{content:"\f09d"}.wi-moon-9:before{content:"\f09e"}.wi-moon-10:before{content:"\f09f"}.wi-moon-11:before{content:"\f0a0"}.wi-moon-12:before{content:"\f0a1"}.wi-moon-13:before{content:"\f0a2"}.wi-moon-14:before{content:"\f0a3"}.wi-moon-15:before{content:"\f0a4"}.wi-moon-16:before{content:"\f0a5"}.wi-moon-17:before{content:"\f0a6"}.wi-moon-18:before{content:"\f0a7"}.wi-moon-19:before{content:"\f0a8"}.wi-moon-20:before{content:"\f0a9"}.wi-moon-21:before{content:"\f0aa"}.wi-moon-22:before{content:"\f0ab"}.wi-moon-23:before{content:"\f0ac"}.wi-moon-24:before{content:"\f0ad"}.wi-moon-25:before{content:"\f0ae"}.wi-moon-26:before{content:"\f0af"}.wi-moon-27:before{content:"\f0b0"}.wi-time-1:before{content:"\f08a"}.wi-time-2:before{content:"\f08b"}.wi-time-3:before{content:"\f08c"}.wi-time-4:before{content:"\f08d"}.wi-time-5:before{content:"\f08e"}.wi-time-6:before{content:"\f08f"}.wi-time-7:before{content:"\f090"}.wi-time-8:before{content:"\f091"}.wi-time-9:before{content:"\f092"}.wi-time-10:before{content:"\f093"}.wi-time-11:before{content:"\f094"}.wi-time-12:before{content:"\f089"}.wi-direction-up:before{content:"\f058"}.wi-direction-up-right:before{content:"\f057"}.wi-direction-right:before{content:"\f04d"}.wi-direction-down-right:before{content:"\f088"}.wi-direction-down:before{content:"\f044"}.wi-direction-down-left:before{content:"\f043"}.wi-direction-left:before{content:"\f048"}.wi-direction-up-left:before{content:"\f087"}.wi-wind-beaufort-0:before{content:"\f0b7"}.wi-wind-beaufort-1:before{content:"\f0b8"}.wi-wind-beaufort-2:before{content:"\f0b9"}.wi-wind-beaufort-3:before{content:"\f0ba"}.wi-wind-beaufort-4:before{content:"\f0bb"}.wi-wind-beaufort-5:before{content:"\f0bc"}.wi-wind-beaufort-6:before{content:"\f0bd"}.wi-wind-beaufort-7:before{content:"\f0be"}.wi-wind-beaufort-8:before{content:"\f0bf"}.wi-wind-beaufort-9:before{content:"\f0c0"}.wi-wind-beaufort-10:before{content:"\f0c1"}.wi-wind-beaufort-11:before{content:"\f0c2"}.wi-wind-beaufort-12:before{content:"\f0c3"}.wi-yahoo-0:before{content:"\f056"}.wi-yahoo-1:before{content:"\f00e"}.wi-yahoo-2:before{content:"\f073"}.wi-yahoo-3:before{content:"\f01e"}.wi-yahoo-4:before{content:"\f01e"}.wi-yahoo-5:before{content:"\f017"}.wi-yahoo-6:before{content:"\f017"}.wi-yahoo-7:before{content:"\f017"}.wi-yahoo-8:before{content:"\f015"}.wi-yahoo-9:before{content:"\f01a"}.wi-yahoo-10:before{content:"\f015"}.wi-yahoo-11:before{content:"\f01a"}.wi-yahoo-12:before{content:"\f01a"}.wi-yahoo-13:before{content:"\f01b"}.wi-yahoo-14:before{content:"\f00a"}.wi-yahoo-15:before{content:"\f064"}.wi-yahoo-16:before{content:"\f01b"}.wi-yahoo-17:before{content:"\f015"}.wi-yahoo-18:before{content:"\f017"}.wi-yahoo-19:before{content:"\f063"}.wi-yahoo-20:before{content:"\f014"}.wi-yahoo-21:before{content:"\f021"}.wi-yahoo-22:before{content:"\f062"}.wi-yahoo-23:before{content:"\f050"}.wi-yahoo-24:before{content:"\f050"}.wi-yahoo-25:before{content:"\f076"}.wi-yahoo-26:before{content:"\f013"}.wi-yahoo-27:before{content:"\f031"}.wi-yahoo-28:before{content:"\f002"}.wi-yahoo-29:before{content:"\f031"}.wi-yahoo-30:before{content:"\f002"}.wi-yahoo-31:before{content:"\f02e"}.wi-yahoo-32:before{content:"\f00d"}.wi-yahoo-33:before{content:"\f083"}.wi-yahoo-34:before{content:"\f00c"}.wi-yahoo-35:before{content:"\f017"}.wi-yahoo-36:before{content:"\f072"}.wi-yahoo-37:before{content:"\f00e"}.wi-yahoo-38:before{content:"\f00e"}.wi-yahoo-39:before{content:"\f00e"}.wi-yahoo-40:before{content:"\f01a"}.wi-yahoo-41:before{content:"\f064"}.wi-yahoo-42:before{content:"\f01b"}.wi-yahoo-43:before{content:"\f064"}.wi-yahoo-44:before{content:"\f00c"}.wi-yahoo-45:before{content:"\f00e"}.wi-yahoo-46:before{content:"\f01b"}.wi-yahoo-47:before{content:"\f00e"}.wi-yahoo-3200:before{content:"\f077"}.wi-forecast-io-clear-day:before{content:"\f00d"}.wi-forecast-io-clear-night:before{content:"\f02e"}.wi-forecast-io-rain:before{content:"\f019"}.wi-forecast-io-snow:before{content:"\f01b"}.wi-forecast-io-sleet:before{content:"\f0b5"}.wi-forecast-io-wind:before{content:"\f050"}.wi-forecast-io-fog:before{content:"\f014"}.wi-forecast-io-cloudy:before{content:"\f013"}.wi-forecast-io-partly-cloudy-day:before{content:"\f002"}.wi-forecast-io-partly-cloudy-night:before{content:"\f031"}.wi-forecast-io-hail:before{content:"\f015"}.wi-forecast-io-thunderstorm:before{content:"\f01e"}.wi-forecast-io-tornado:before{content:"\f056"}.wi-wmo4680-00:before,.wi-wmo4680-0:before{content:"\f055"}.wi-wmo4680-01:before,.wi-wmo4680-1:before{content:"\f013"}.wi-wmo4680-02:before,.wi-wmo4680-2:before{content:"\f055"}.wi-wmo4680-03:before,.wi-wmo4680-3:before{content:"\f013"}.wi-wmo4680-04:before,.wi-wmo4680-4:before{content:"\f014"}.wi-wmo4680-05:before,.wi-wmo4680-5:before{content:"\f014"}.wi-wmo4680-10:before{content:"\f014"}.wi-wmo4680-11:before{content:"\f014"}.wi-wmo4680-12:before{content:"\f016"}.wi-wmo4680-18:before{content:"\f050"}.wi-wmo4680-20:before{content:"\f014"}.wi-wmo4680-21:before{content:"\f017"}.wi-wmo4680-22:before{content:"\f017"}.wi-wmo4680-23:before{content:"\f019"}.wi-wmo4680-24:before{content:"\f01b"}.wi-wmo4680-25:before{content:"\f015"}.wi-wmo4680-26:before{content:"\f01e"}.wi-wmo4680-27:before{content:"\f063"}.wi-wmo4680-28:before{content:"\f063"}.wi-wmo4680-29:before{content:"\f063"}.wi-wmo4680-30:before{content:"\f014"}.wi-wmo4680-31:before{content:"\f014"}.wi-wmo4680-32:before{content:"\f014"}.wi-wmo4680-33:before{content:"\f014"}.wi-wmo4680-34:before{content:"\f014"}.wi-wmo4680-35:before{content:"\f014"}.wi-wmo4680-40:before{content:"\f017"}.wi-wmo4680-41:before{content:"\f01c"}.wi-wmo4680-42:before{content:"\f019"}.wi-wmo4680-43:before{content:"\f01c"}.wi-wmo4680-44:before{content:"\f019"}.wi-wmo4680-45:before{content:"\f015"}.wi-wmo4680-46:before{content:"\f015"}.wi-wmo4680-47:before{content:"\f01b"}.wi-wmo4680-48:before{content:"\f01b"}.wi-wmo4680-50:before{content:"\f01c"}.wi-wmo4680-51:before{content:"\f01c"}.wi-wmo4680-52:before{content:"\f019"}.wi-wmo4680-53:before{content:"\f019"}.wi-wmo4680-54:before{content:"\f076"}.wi-wmo4680-55:before{content:"\f076"}.wi-wmo4680-56:before{content:"\f076"}.wi-wmo4680-57:before{content:"\f01c"}.wi-wmo4680-58:before{content:"\f019"}.wi-wmo4680-60:before{content:"\f01c"}.wi-wmo4680-61:before{content:"\f01c"}.wi-wmo4680-62:before{content:"\f019"}.wi-wmo4680-63:before{content:"\f019"}.wi-wmo4680-64:before{content:"\f015"}.wi-wmo4680-65:before{content:"\f015"}.wi-wmo4680-66:before{content:"\f015"}.wi-wmo4680-67:before{content:"\f017"}.wi-wmo4680-68:before{content:"\f017"}.wi-wmo4680-70:before{content:"\f01b"}.wi-wmo4680-71:before{content:"\f01b"}.wi-wmo4680-72:before{content:"\f01b"}.wi-wmo4680-73:before{content:"\f01b"}.wi-wmo4680-74:before{content:"\f076"}.wi-wmo4680-75:before{content:"\f076"}.wi-wmo4680-76:before{content:"\f076"}.wi-wmo4680-77:before{content:"\f01b"}.wi-wmo4680-78:before{content:"\f076"}.wi-wmo4680-80:before{content:"\f019"}.wi-wmo4680-81:before{content:"\f01c"}.wi-wmo4680-82:before{content:"\f019"}.wi-wmo4680-83:before{content:"\f019"}.wi-wmo4680-84:before{content:"\f01d"}.wi-wmo4680-85:before{content:"\f017"}.wi-wmo4680-86:before{content:"\f017"}.wi-wmo4680-87:before{content:"\f017"}.wi-wmo4680-89:before{content:"\f015"}.wi-wmo4680-90:before{content:"\f016"}.wi-wmo4680-91:before{content:"\f01d"}.wi-wmo4680-92:before{content:"\f01e"}.wi-wmo4680-93:before{content:"\f01e"}.wi-wmo4680-94:before{content:"\f016"}.wi-wmo4680-95:before{content:"\f01e"}.wi-wmo4680-96:before{content:"\f01e"}.wi-wmo4680-99:before{content:"\f056"}.wi-owm-200:before{content:"\f01e"}.wi-owm-201:before{content:"\f01e"}.wi-owm-202:before{content:"\f01e"}.wi-owm-210:before{content:"\f016"}.wi-owm-211:before{content:"\f016"}.wi-owm-212:before{content:"\f016"}.wi-owm-221:before{content:"\f016"}.wi-owm-230:before{content:"\f01e"}.wi-owm-231:before{content:"\f01e"}.wi-owm-232:before{content:"\f01e"}.wi-owm-300:before{content:"\f01c"}.wi-owm-301:before{content:"\f01c"}.wi-owm-302:before{content:"\f019"}.wi-owm-310:before{content:"\f017"}.wi-owm-311:before{content:"\f019"}.wi-owm-312:before{content:"\f019"}.wi-owm-313:before{content:"\f01a"}.wi-owm-314:before{content:"\f019"}.wi-owm-321:before{content:"\f01c"}.wi-owm-500:before{content:"\f01c"}.wi-owm-501:before{content:"\f019"}.wi-owm-502:before{content:"\f019"}.wi-owm-503:before{content:"\f019"}.wi-owm-504:before{content:"\f019"}.wi-owm-511:before{content:"\f017"}.wi-owm-520:before{content:"\f01a"}.wi-owm-521:before{content:"\f01a"}.wi-owm-522:before{content:"\f01a"}.wi-owm-531:before{content:"\f01d"}.wi-owm-600:before{content:"\f01b"}.wi-owm-601:before{content:"\f01b"}.wi-owm-602:before{content:"\f0b5"}.wi-owm-611:before{content:"\f017"}.wi-owm-612:before{content:"\f017"}.wi-owm-615:before{content:"\f017"}.wi-owm-616:before{content:"\f017"}.wi-owm-620:before{content:"\f017"}.wi-owm-621:before{content:"\f01b"}.wi-owm-622:before{content:"\f01b"}.wi-owm-701:before{content:"\f01a"}.wi-owm-711:before{content:"\f062"}.wi-owm-721:before{content:"\f0b6"}.wi-owm-731:before{content:"\f063"}.wi-owm-741:before{content:"\f014"}.wi-owm-761:before{content:"\f063"}.wi-owm-762:before{content:"\f063"}.wi-owm-771:before{content:"\f011"}.wi-owm-781:before{content:"\f056"}.wi-owm-800:before{content:"\f00d"}.wi-owm-801:before{content:"\f011"}.wi-owm-802:before{content:"\f011"}.wi-owm-803:before{content:"\f012"}.wi-owm-804:before{content:"\f013"}.wi-owm-900:before{content:"\f056"}.wi-owm-901:before{content:"\f01d"}.wi-owm-902:before{content:"\f073"}.wi-owm-903:before{content:"\f076"}.wi-owm-904:before{content:"\f072"}.wi-owm-905:before{content:"\f021"}.wi-owm-906:before{content:"\f015"}.wi-owm-957:before{content:"\f050"}.wi-owm-day-200:before{content:"\f010"}.wi-owm-day-201:before{content:"\f010"}.wi-owm-day-202:before{content:"\f010"}.wi-owm-day-210:before{content:"\f005"}.wi-owm-day-211:before{content:"\f005"}.wi-owm-day-212:before{content:"\f005"}.wi-owm-day-221:before{content:"\f005"}.wi-owm-day-230:before{content:"\f010"}.wi-owm-day-231:before{content:"\f010"}.wi-owm-day-232:before{content:"\f010"}.wi-owm-day-300:before{content:"\f00b"}.wi-owm-day-301:before{content:"\f00b"}.wi-owm-day-302:before{content:"\f008"}.wi-owm-day-310:before{content:"\f008"}.wi-owm-day-311:before{content:"\f008"}.wi-owm-day-312:before{content:"\f008"}.wi-owm-day-313:before{content:"\f008"}.wi-owm-day-314:before{content:"\f008"}.wi-owm-day-321:before{content:"\f00b"}.wi-owm-day-500:before{content:"\f00b"}.wi-owm-day-501:before{content:"\f008"}.wi-owm-day-502:before{content:"\f008"}.wi-owm-day-503:before{content:"\f008"}.wi-owm-day-504:before{content:"\f008"}.wi-owm-day-511:before{content:"\f006"}.wi-owm-day-520:before{content:"\f009"}.wi-owm-day-521:before{content:"\f009"}.wi-owm-day-522:before{content:"\f009"}.wi-owm-day-531:before{content:"\f00e"}.wi-owm-day-600:before{content:"\f00a"}.wi-owm-day-601:before{content:"\f0b2"}.wi-owm-day-602:before{content:"\f00a"}.wi-owm-day-611:before{content:"\f006"}.wi-owm-day-612:before{content:"\f006"}.wi-owm-day-615:before{content:"\f006"}.wi-owm-day-616:before{content:"\f006"}.wi-owm-day-620:before{content:"\f006"}.wi-owm-day-621:before{content:"\f00a"}.wi-owm-day-622:before{content:"\f00a"}.wi-owm-day-701:before{content:"\f009"}.wi-owm-day-711:before{content:"\f062"}.wi-owm-day-721:before{content:"\f0b6"}.wi-owm-day-731:before{content:"\f063"}.wi-owm-day-741:before{content:"\f003"}.wi-owm-day-761:before{content:"\f063"}.wi-owm-day-762:before{content:"\f063"}.wi-owm-day-781:before{content:"\f056"}.wi-owm-day-800:before{content:"\f00d"}.wi-owm-day-801:before{content:"\f000"}.wi-owm-day-802:before{content:"\f000"}.wi-owm-day-803:before{content:"\f000"}.wi-owm-day-804:before{content:"\f00c"}.wi-owm-day-900:before{content:"\f056"}.wi-owm-day-902:before{content:"\f073"}.wi-owm-day-903:before{content:"\f076"}.wi-owm-day-904:before{content:"\f072"}.wi-owm-day-906:before{content:"\f004"}.wi-owm-day-957:before{content:"\f050"}.wi-owm-night-200:before{content:"\f02d"}.wi-owm-night-201:before{content:"\f02d"}.wi-owm-night-202:before{content:"\f02d"}.wi-owm-night-210:before{content:"\f025"}.wi-owm-night-211:before{content:"\f025"}.wi-owm-night-212:before{content:"\f025"}.wi-owm-night-221:before{content:"\f025"}.wi-owm-night-230:before{content:"\f02d"}.wi-owm-night-231:before{content:"\f02d"}.wi-owm-night-232:before{content:"\f02d"}.wi-owm-night-300:before{content:"\f02b"}.wi-owm-night-301:before{content:"\f02b"}.wi-owm-night-302:before{content:"\f028"}.wi-owm-night-310:before{content:"\f028"}.wi-owm-night-311:before{content:"\f028"}.wi-owm-night-312:before{content:"\f028"}.wi-owm-night-313:before{content:"\f028"}.wi-owm-night-314:before{content:"\f028"}.wi-owm-night-321:before{content:"\f02b"}.wi-owm-night-500:before{content:"\f02b"}.wi-owm-night-501:before{content:"\f028"}.wi-owm-night-502:before{content:"\f028"}.wi-owm-night-503:before{content:"\f028"}.wi-owm-night-504:before{content:"\f028"}.wi-owm-night-511:before{content:"\f026"}.wi-owm-night-520:before{content:"\f029"}.wi-owm-night-521:before{content:"\f029"}.wi-owm-night-522:before{content:"\f029"}.wi-owm-night-531:before{content:"\f02c"}.wi-owm-night-600:before{content:"\f02a"}.wi-owm-night-601:before{content:"\f0b4"}.wi-owm-night-602:before{content:"\f02a"}.wi-owm-night-611:before{content:"\f026"}.wi-owm-night-612:before{content:"\f026"}.wi-owm-night-615:before{content:"\f026"}.wi-owm-night-616:before{content:"\f026"}.wi-owm-night-620:before{content:"\f026"}.wi-owm-night-621:before{content:"\f02a"}.wi-owm-night-622:before{content:"\f02a"}.wi-owm-night-701:before{content:"\f029"}.wi-owm-night-711:before{content:"\f062"}.wi-owm-night-721:before{content:"\f0b6"}.wi-owm-night-731:before{content:"\f063"}.wi-owm-night-741:before{content:"\f04a"}.wi-owm-night-761:before{content:"\f063"}.wi-owm-night-762:before{content:"\f063"}.wi-owm-night-781:before{content:"\f056"}.wi-owm-night-800:before{content:"\f02e"}.wi-owm-night-801:before{content:"\f022"}.wi-owm-night-802:before{content:"\f022"}.wi-owm-night-803:before{content:"\f022"}.wi-owm-night-804:before{content:"\f086"}.wi-owm-night-900:before{content:"\f056"}.wi-owm-night-902:before{content:"\f073"}.wi-owm-night-903:before{content:"\f076"}.wi-owm-night-904:before{content:"\f072"}.wi-owm-night-906:before{content:"\f024"}.wi-owm-night-957:before{content:"\f050"}.wi-wu-chanceflurries:before{content:"\f064"}.wi-wu-chancerain:before{content:"\f019"}.wi-wu-chancesleat:before{content:"\f0b5"}.wi-wu-chancesnow:before{content:"\f01b"}.wi-wu-chancetstorms:before{content:"\f01e"}.wi-wu-clear:before{content:"\f00d"}.wi-wu-cloudy:before{content:"\f002"}.wi-wu-flurries:before{content:"\f064"}.wi-wu-hazy:before{content:"\f0b6"}.wi-wu-mostlycloudy:before{content:"\f002"}.wi-wu-mostlysunny:before{content:"\f00d"}.wi-wu-partlycloudy:before{content:"\f002"}.wi-wu-partlysunny:before{content:"\f00d"}.wi-wu-rain:before{content:"\f01a"}.wi-wu-sleat:before{content:"\f0b5"}.wi-wu-snow:before{content:"\f01b"}.wi-wu-sunny:before{content:"\f00d"}.wi-wu-tstorms:before{content:"\f01e"}.wi-wu-unknown:before{content:"\f00d"} \ No newline at end of file diff --git a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/weather-icons/font/weathericons-regular-webfont.eot b/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/weather-icons/font/weathericons-regular-webfont.eot deleted file mode 100755 index 330b7ec7..00000000 Binary files a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/weather-icons/font/weathericons-regular-webfont.eot and /dev/null differ diff --git a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/weather-icons/font/weathericons-regular-webfont.svg b/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/weather-icons/font/weathericons-regular-webfont.svg deleted file mode 100755 index d5c56a9a..00000000 --- a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/weather-icons/font/weathericons-regular-webfont.svg +++ /dev/null @@ -1,257 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/weather-icons/font/weathericons-regular-webfont.ttf b/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/weather-icons/font/weathericons-regular-webfont.ttf deleted file mode 100755 index 948f0a5d..00000000 Binary files a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/weather-icons/font/weathericons-regular-webfont.ttf and /dev/null differ diff --git a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/weather-icons/font/weathericons-regular-webfont.woff b/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/weather-icons/font/weathericons-regular-webfont.woff deleted file mode 100755 index e0b2f948..00000000 Binary files a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/weather-icons/font/weathericons-regular-webfont.woff and /dev/null differ diff --git a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/weather-icons/font/weathericons-regular-webfont.woff2 b/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/weather-icons/font/weathericons-regular-webfont.woff2 deleted file mode 100755 index bb0c19dd..00000000 Binary files a/ph3-beta-to-ui3.0-conv/ui3template/assets/fonts/weather-icons/font/weathericons-regular-webfont.woff2 and /dev/null differ diff --git a/ph3-beta-to-ui3.0-conv/ui3template/assets/images/down.png b/ph3-beta-to-ui3.0-conv/ui3template/assets/images/down.png deleted file mode 100755 index 9eb83212..00000000 Binary files a/ph3-beta-to-ui3.0-conv/ui3template/assets/images/down.png and /dev/null differ diff --git a/ph3-beta-to-ui3.0-conv/ui3template/assets/images/down_dark.png b/ph3-beta-to-ui3.0-conv/ui3template/assets/images/down_dark.png deleted file mode 100755 index da60f100..00000000 Binary files a/ph3-beta-to-ui3.0-conv/ui3template/assets/images/down_dark.png and /dev/null differ diff --git a/ph3-beta-to-ui3.0-conv/ui3template/assets/images/favicon.ico b/ph3-beta-to-ui3.0-conv/ui3template/assets/images/favicon.ico deleted file mode 100644 index d09a5581..00000000 Binary files a/ph3-beta-to-ui3.0-conv/ui3template/assets/images/favicon.ico and /dev/null differ diff --git a/ph3-beta-to-ui3.0-conv/ui3template/assets/images/favicon.png b/ph3-beta-to-ui3.0-conv/ui3template/assets/images/favicon.png deleted file mode 100644 index fa4d4723..00000000 Binary files a/ph3-beta-to-ui3.0-conv/ui3template/assets/images/favicon.png and /dev/null differ diff --git a/ph3-beta-to-ui3.0-conv/ui3template/assets/images/icon-controller.svg b/ph3-beta-to-ui3.0-conv/ui3template/assets/images/icon-controller.svg deleted file mode 100755 index 0780c87f..00000000 --- a/ph3-beta-to-ui3.0-conv/ui3template/assets/images/icon-controller.svg +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - diff --git a/ph3-beta-to-ui3.0-conv/ui3template/assets/images/logo-new.png b/ph3-beta-to-ui3.0-conv/ui3template/assets/images/logo-new.png deleted file mode 100644 index 1016e909..00000000 Binary files a/ph3-beta-to-ui3.0-conv/ui3template/assets/images/logo-new.png and /dev/null differ diff --git a/ph3-beta-to-ui3.0-conv/ui3template/assets/images/select-arrow.svg b/ph3-beta-to-ui3.0-conv/ui3template/assets/images/select-arrow.svg deleted file mode 100755 index dcccbd4a..00000000 --- a/ph3-beta-to-ui3.0-conv/ui3template/assets/images/select-arrow.svg +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - diff --git a/ph3-beta-to-ui3.0-conv/ui3template/assets/js/app.js b/ph3-beta-to-ui3.0-conv/ui3template/assets/js/app.js deleted file mode 100755 index a5aa241f..00000000 --- a/ph3-beta-to-ui3.0-conv/ui3template/assets/js/app.js +++ /dev/null @@ -1,938 +0,0 @@ -"use strict"; -var plugin_path = 'assets/plugins/'; -var preloader = $(".preloader"); -$(preloader).length > 0 && $(window).on("load", function () { - $(preloader).fadeOut(1e3, function () { - $(preloader).remove() - }); -}); -var App = { - main : function () { - "use strict"; - App.body_height(); - App.nav_bar(); - App.panel_elements(); - App.resize_nav(); - var _container = jQuery(".search__input"); - if (_container.length > 0) { - App.search_box(); - } - App.full_screen(); - App.to_top(); - App.office_sidebar(); - App.sign_in(); - App.equal_height(); - App.lazy_load(); - App.fancy_box(); - App.google_map(); - App.vector_map(); - App.show_swal(); - App.cookie_close(); - App.count_js(); - App.typeit_js(); - App.sidebar(); - App.icons(); - }, - body_height : function () { - "use strict"; - $("input").attr("autocomplete", "off"); - if ($('body').hasClass('fixed_footer')) { - $('.navbar.navbar-default.footer').addClass('navbar-fixed-bottom'); - } - - if ($('body').hasClass('top_nav_fixed')) { - $(document).scroll(function () { - var y = $(this).scrollTop(); - if (y > 20) { - $('.navbar.navbar-default.navbar-fixed-top').addClass('bordered') - } else { - $('.navbar.navbar-default.navbar-fixed-top').removeClass('bordered') - } - }); - } - - if ($('body').hasClass('fixed_menu')) { - $(document).scroll(function () { - var y = $(this).scrollTop(); - if (y > 35) { - $('#main_menu_bar .navbar-header').fadeIn(500, function () { - }); - } else { - $('#main_menu_bar .navbar-header').hide(); - } - }); - $('#main_menu_bar').on('affixed.bs.affix', function () { - $(this).next().css('margin-top', $(this).outerHeight()); - $('body').addClass('navbar-affixed-top'); - }); - - $('#main_menu_bar').on('affixed-top.bs.affix', function () { - $(this).next().css('margin-top', ''); - $('body').removeClass('navbar-affixed-top'); - }); - - $('#main_menu_bar').affix({ - offset: { - top: $('#main_menu_bar').offset().top - } - }); - } - - - var _container = jQuery(".page-container"); - if (_container.length > 0) { - var pageContainerClass = 'page-container', - bottomNavbarClass = 'navbar-fixed-bottom', - bottomNavbar = $('.' + bottomNavbarClass).length && $('.' + bottomNavbarClass).outerHeight(), - availableHeight = $(window).height() - $('.' + pageContainerClass).offset().top - bottomNavbar; - $('.' + pageContainerClass).attr('style', 'min-height:' + availableHeight + 'px'); - } - }, - nav_bar : function () { - "use strict"; - $(document).on('click', '.dropdown-content', function (e) { - e.stopPropagation(); - }); - - $('.navbar-nav .disabled a').on('click', function (e) { - e.preventDefault(); - e.stopPropagation(); - }); - - $('.dropdown-content a[data-toggle="tab"]').on('click', function (e) { - $(this).tab('show'); - }); - - $('.navigation').find('li.active').parents('li').addClass('active'); - - $('.navigation').find('li').not('.active, .category-title').has('ul').children('ul').addClass('hidden-ul'); - - $('.navigation').find('li').has('ul').children('a').addClass('has-ul'); - - $('.dropdown-menu:not(.dropdown-content), .dropdown-menu:not(.dropdown-content) .dropdown-submenu').has('li.active').addClass('active').parents('.navbar-nav .dropdown:not(.language-switch), .navbar-nav .dropup:not(.language-switch)').addClass('active'); - - $('.dropdown-menu').find('.dropdown-submenu').not('.disabled').find('.dropdown-toggle').on('click', function (e) { - e.stopPropagation(); - e.preventDefault(); - - $(this).parent().siblings().removeClass('open'); - - $(this).parent().toggleClass('open'); - - $(this).parents('.open').on('hidden.bs.dropdown', function (e) { - $('.dropdown-submenu.open').removeClass('open'); - }); - }); - }, - panel_elements: function () { - "use strict"; - $('.panel .heading-elements .refresh_element').click(function (e) { - e.preventDefault(); - var a = $(this).closest(".panel"); - if (!$(a).hasClass("panel-loading")) { - var t = $(a).find(".panel-body").first(); - $(a).addClass("panel-loading"), $(t).prepend('
            '), setTimeout(function () { - $(a).removeClass("panel-loading"), $(a).find(".panel-loader").remove() - }, 2000) - } - }); - - $(".panel .heading-elements .fullscreen_element").on("click", function (e) { - e.preventDefault(); - var a = $(this).closest(".panel"); - if (!$(a).hasClass("fullscreen")) { - $(a).removeClass("close_fullscreen"); - $("body").css("overflow", "hidden"); - $(a).addClass("fullscreen"); - } else { - $("body").css("overflow", "auto"); - $(a).removeClass("fullscreen").addClass("close_fullscreen"); - } - }); - - $('.panel .heading-elements .close_element').click(function (e) { - e.preventDefault(); - var $panelClose = $(this).closest(".panel").parent(); - App.body_height(); - $panelClose.slideUp(150, function () { - $(this).remove(); - }); - }); - - $('.panel-collapsed').children('.panel-heading').nextAll().hide(); - $('.panel .heading-elements .collapse_element').click(function (e) { - e.preventDefault(); - var $panelCollapse = $(this).closest('.panel-heading').nextAll(); - $(this).parents('.panel').toggleClass('panel-collapsed').css('height', 'auto'); - - if ($(this).find('a').hasClass('up')) { - $(this).find('a').removeClass('up').addClass('down'); - } else { - $(this).find('a').removeClass('down').addClass('up'); - $('.equal_height').jQueryEqualHeight('.make_equal'); - } - - App.body_height(); - - $panelCollapse.slideToggle(150); - }); - }, - resize_nav : function () { - "use strict"; - $(window).on('resize', function () { - setTimeout(function () { - App.body_height(); - if ($(window).width() <= 768) { - $('.menu-list').getNiceScroll().remove(); - $(".menu-list").removeAttr('style').removeAttr('tabindex'); - $('.dropdown-submenu-hover').on('mouseenter touchstart', function () { - $(this).children('.dropdown-menu').addClass('show'); - }).on('mouseleave touchend', function () { - $(this).children('.dropdown-menu').removeClass('show'); - }); - } else { - $(".menu-list").niceScroll({ - mousescrollstep: 100, - cursorcolor : '#ccc', - cursorborder : '', - cursorwidth : 3, - hidecursordelay: 200, - autohidemode : 'scroll', - railpadding : {right: 0.5} - }); - $('.page-header-content, .panel-heading, .panel-footer').removeClass('has-visible-elements'); - $('.heading-elements').removeClass('visible-elements'); - $('.dropdown-submenu').children('.dropdown-menu').removeClass('show'); - } - }, 100); - }).resize(); - }, - search_box : function () { - "use strict"; - var openCtrl = document.getElementById('btn-search'), - closeCtrl = document.getElementById('btn-search-close'), - searchContainer = document.querySelector('.search'), - inputSearch = searchContainer.querySelector('.search__input'); - - function init() { - initEvents(); - } - - function initEvents() { - openCtrl.addEventListener('click', openSearch); - closeCtrl.addEventListener('click', closeSearch); - document.addEventListener('keyup', function (ev) { - // escape key. - if (ev.keyCode == 27) { - closeSearch(); - } - }); - } - - function openSearch() { - searchContainer.classList.add('search--open'); - setTimeout(function () { - inputSearch.focus(); - }, 0) - } - - function closeSearch() { - searchContainer.classList.remove('search--open'); - inputSearch.blur(); - inputSearch.value = ''; - } - - init(); - }, - full_screen : function () { - "use strict"; - - function toggleFullScreenMode() { - if ((document.fullScreenElement && document.fullScreenElement !== null) || - (!document.mozFullScreen && !document.webkitIsFullScreen)) { - if (document.documentElement.requestFullScreen) { - document.documentElement.requestFullScreen(); - } else if (document.documentElement.mozRequestFullScreen) { - document.documentElement.mozRequestFullScreen(); - } else if (document.documentElement.webkitRequestFullScreen) { - document.documentElement.webkitRequestFullScreen(Element.ALLOW_KEYBOARD_INPUT); - } - } else { - if (document.cancelFullScreen) { - document.cancelFullScreen(); - } else if (document.mozCancelFullScreen) { - document.mozCancelFullScreen(); - } else if (document.webkitCancelFullScreen) { - document.webkitCancelFullScreen(); - } - } - } - - $("#toggleFullScreen").on("click", function () { - toggleFullScreenMode(); - }); - }, - to_top : function () { - "use strict"; - var offset = 300, - offset_opacity = 1200, - scroll_top_duration = 500, - $back_to_top = $('.back-to-top'); - - $(window).scroll(function () { - ($(this).scrollTop() > offset) ? $back_to_top.addClass('back-to-top-is-visible') : $back_to_top.removeClass('back-to-top-is-visible cd-fade-out'); - if ($(this).scrollTop() > offset_opacity) { - $back_to_top.addClass('back-to-top-fade-out'); - } - }); - - $back_to_top.on('click', function (event) { - event.preventDefault(); - $('body, html').animate({ - scrollTop: 0, - }, scroll_top_duration); - }); - }, - office_sidebar: function () { - "use strict"; - - function o365cs() { - var bas = $('.o365cs-base'); - if ($(bas).attr('data-ispopup') == 0) { - $(bas).css("display", "block"); - $(bas).attr('data-ispopup', 1); - $(".sm-container").addClass("sm-menu-open"); - } else { - $(bas).css("display", "none"); - $(bas).attr('data-ispopup', 0); - $(".sm-container").removeClass("sm-menu-open"); - } - } - - $(function () { - var bas = $('.o365cs-base'); - $(".o365cs-base .o365cs-nav-closeButton").on("click", function () { - $(bas).removeClass("slideInT").addClass("slideOutT"); - setTimeout(function () { - o365cs(); - }, 500) - }); - $(".open_ms_menu").on("click", function () { - $(bas).removeClass("slideOutT").addClass("slideInT"); - o365cs(); - }); - }); - }, - sign_in : function () { - "use strict"; - $(".open_login_modal").on("click", function () { - $('#login_modal').modal('toggle') - }); - }, - equal_height : function () { - App.includeScript(plugin_path + 'jquery-equal-height/jquery-equal-height.min.js', function () { - $('.equal_height').jQueryEqualHeight('.make_equal'); - $(window).on('resize', function () { - setTimeout(function () { - $('.equal_height').jQueryEqualHeight('.make_equal'); - }, 100); - }).resize(); - }); - }, - lazy_load : function () { - App.includeScript(plugin_path + 'jquery.lazy/jquery.lazy.min.js', function () { - $('.lazy').lazy(); - }); - }, - place_holder : function (id, sentences, startOnFocus) { - var startOnFocus = (typeof (startOnFocus) == "undefined") ? true : startOnFocus; - var sentences = (typeof (sentences) == "undefined" || sentences == "") ? " " : sentences; - superplaceholder({ - el : document.querySelector('#' + id), - sentences: sentences,//$(this).attr("superPlaceholder"), - options : { - loop : true, - letterDelay : 100, // milliseconds // delay between letters (in milliseconds) - sentenceDelay: 1000, // delay between sentences (in milliseconds) - startOnFocus : startOnFocus, //true, // should start on input focus. Set false to autostart - shuffle : false, // Initially shuffle the passed sentences - showCursor : true, // Show cursor or not. Shows by default - cursor : '|' // String to show as cursor - } - }) - }, - includeScript : function (scriptName, callback) { - var _arr = {}; - if (!_arr[ scriptName ]) { - _arr[ scriptName ] = true; - var body = document.getElementsByTagName('head')[ 0 ]; - var script = document.createElement('script'); - script.type = 'text/javascript'; - script.src = scriptName; - script.onload = callback; - body.appendChild(script); - } else if (callback) { - callback(); - } - }, - includeStyle : function (scriptName, callback) { - var _arrstyle = {}; - if (!_arrstyle[ scriptName ]) { - _arrstyle[ scriptName ] = true; - var body = document.getElementsByTagName('head')[ 0 ]; - var style = document.createElement('link'); - style.setAttribute('rel', 'stylesheet'); - style.setAttribute('href', scriptName); - style.onload = callback; - body.after(style); - } else if (callback) { - callback(); - } - }, - fancy_box : function () { - var _container = jQuery("[data-fancybox]"); - if (_container.length > 0) { - console.log(_container) - App.includeStyle(plugin_path + 'fancybox/css/jquery.fancybox.min.css'); - App.includeScript(plugin_path + 'fancybox/js/jquery.fancybox.min.js', function () { - - }); - } - }, - google_map : function () { - var _container = jQuery("#google-map"); - if (_container.length > 0) { - var a = [ { - featureType: "all", - elementType: "all", - stylers : [ {invert_lightness: true}, {saturation: 15}, {lightness: 15}, {gamma: .8}, {hue: "#0072ff"} ] - }, {featureType: "water", stylers: [ {visibility: "on"}, {color: "#0072ff"} ]} ]; - - var t = { - zoom : 13, - center : new google.maps.LatLng(12.970, 77.600), - mapTypeId : google.maps.MapTypeId.ROADMAP, - disableDefaultUI: true - }; - - var e; - google.maps.event.addDomListener(window, "load", t); - e = new google.maps.Map(document.getElementById("google-map"), t); - e.setOptions({styles: a}); - $(window).on("resize", function () { - google.maps.event.trigger(e, "resize") - }); - } - }, - vector_map : function () { - var _container = jQuery("#world-map"); - if (_container.length > 0) { - var e = $(window).height(); - var mapData = {"AU": 760, "IN": 200, "RU": 300, "US": 2920, "BR": 550,}; - $("#world-map").vectorMap({ - map : "world_mill_en", - normalizeFunction: "polynomial", - hoverOpacity : .5, - hoverColor : false, - markerStyle : {initial: {fill: "rgba(0.5, 64,215,224)", stroke: "transparent", r: 4}}, - regionStyle : { - initial : { - fill : "rgba(0.9, 64,191,224)", - "fill-opacity" : 0.5, - stroke : "none", - "stroke-width" : .4, - "stroke-opacity": 1 - }, hover: {"fill-opacity": .8}, selected: {fill: "yellow"}, selectedHover: {} - }, - series : { - regions: [ { - values : mapData, - scale : [ "#4076e0", "#ea4335", "#fbbc05", "#34a853", "#f37070" ], - normalizeFunction: 'polynomial' - } ] - }, - focusOn : {x: .5, y: .5, scale: 0}, - backgroundColor : "#FFFFFF", - markers : [ - {latLng: [ 41.90, 12.45 ], name: 'Vatican City'}, - {latLng: [ 43.73, 7.41 ], name: 'Monaco'}, - {latLng: [ -0.52, 166.93 ], name: 'Nauru'}, - {latLng: [ -8.51, 179.21 ], name: 'Tuvalu'}, - {latLng: [ 43.93, 12.46 ], name: 'San Marino'}, - {latLng: [ 47.14, 9.52 ], name: 'Liechtenstein'}, - {latLng: [ 7.11, 171.06 ], name: 'Marshall Islands'}, - {latLng: [ 17.3, -62.73 ], name: 'Saint Kitts and Nevis'}, - {latLng: [ 3.2, 73.22 ], name: 'Maldives'}, - {latLng: [ 35.88, 14.5 ], name: 'Malta'}, - {latLng: [ 12.05, -61.75 ], name: 'Grenada'}, - {latLng: [ 13.16, -61.23 ], name: 'Saint Vincent and the Grenadines'}, - {latLng: [ 13.16, -59.55 ], name: 'Barbados'}, - {latLng: [ 17.11, -61.85 ], name: 'Antigua and Barbuda'}, - {latLng: [ -4.61, 55.45 ], name: 'Seychelles'}, - {latLng: [ 7.35, 134.46 ], name: 'Palau'}, - {latLng: [ 42.5, 1.51 ], name: 'Andorra'}, - {latLng: [ 14.01, -60.98 ], name: 'Saint Lucia'}, - {latLng: [ 6.91, 158.18 ], name: 'Federated States of Micronesia'}, - {latLng: [ 1.3, 103.8 ], name: 'Singapore'}, - {latLng: [ 1.46, 173.03 ], name: 'Kiribati'}, - {latLng: [ -21.13, -175.2 ], name: 'Tonga'}, - {latLng: [ 15.3, -61.38 ], name: 'Dominica'}, - {latLng: [ -20.2, 57.5 ], name: 'Mauritius'}, - {latLng: [ 26.02, 50.55 ], name: 'Bahrain'}, - {latLng: [ 0.33, 6.73 ], name: 'São Tomé and Príncipe'} - ] - }); - } - }, - show_swal : function () { - var _container = jQuery(".sweet_alert"); - if (_container.length > 0) { - - $("#basic_alert").on("click", function () { - swal("Here's a message!"); - }); - $("#title-and-text").on("click", function () { - swal("Here's a message!", "It's pretty, isn't it?"); - }); - $("#success-message").on("click", function () { - swal("Good job!", "You clicked the button!", "success"); - }); - $("#warning-message-and-confirmation").on("click", function () { - swal({ - title : "Are you sure?", - text : "You will not be able to recover this imaginary file!", - type : "warning", - showCancelButton : true, - confirmButtonClass: "btn btn-info btn-fill", - confirmButtonText : "Yes, delete it!", - cancelButtonClass : "btn btn-danger btn-fill", - closeOnConfirm : false, - }, function () { - swal("Deleted!", "Your imaginary file has been deleted.", "success"); - }); - }); - $("#warning-message-and-cancel").on("click", function () { - swal({ - title : "Are you sure?", - text : "You will not be able to recover this imaginary file!", - type : "warning", - showCancelButton : true, - confirmButtonText: "Yes, delete it!", - cancelButtonText : "No, cancel plx!", - closeOnConfirm : false, - closeOnCancel : false - }, function (isConfirm) { - if (isConfirm) { - swal("Deleted!", "Your imaginary file has been deleted.", "success"); - } else { - swal("Cancelled", "Your imaginary file is safe :)", "error"); - } - }); - }); - $("#custom-html").on("click", function () { - swal({ - title: 'HTML example', - html : 'You can use bold text, ' + - 'links ' + - 'and other HTML tags' - }); - }); - $("#auto-close").on("click", function () { - swal({ - title : "Auto close alert!", - text : "I will close in 2 seconds.", - timer : 2000, - showConfirmButton: false - }); - }); - } - }, - showCookie : function () { - if (!$.cookie('ppbox')) { - $('#cookie_modal').modal('show'); - $('.pvr_cookie').show(); - } else { - if (confirm("Cookie already Accepted. Do you want to show it again.?")) { - $.removeCookie('ppbox', {path: '/'}); - $('#cookie_modal').modal('toggle'); - $('.pvr_cookie').show(); - } - } - }, - cookie_close : function () { - var _container = jQuery(".pvr_cookie"); - if (_container.length > 0) { - - if (!$.cookie('ppbox')) { - $('#cookie_modal').modal('show'); - } - - if (!$.cookie('ppbox')) { - $('.pvr_cookie').show(); - } - - $('#cookie_modal').on('hide.bs.modal', function (e) { - if ($("#chkRemember").is(":checked")) { - $.cookie('ppbox', 'hideit', {expires: 2, path: '/'}); - } - }); - - $("#agree_cookie").on('click', function (e) { - e.preventDefault(); - $('#cookie_modal').modal('hide'); - }); - - $(".closeModal").on("click", function () { - $(".pvr_cookie").addClass("animated fadeOutDown"); - $.cookie('ppbox', 'hideit', {expires: 2, path: '/'}); - }); - - - /***** Demo Purpose *****/ - App.showCookie(); - - $(".col-lg-4 .feature").find("a").on("click", function () { - var id = $(this).attr("id"); - $("#cookie_modal").removeClass("left_top left_bottom right_top right_bottom top_center bottom_center"); - $("#cookie_modal").addClass(id); - App.showCookie(); - }); - - $("#cookie_position_select").on("change", function () { - $(".pvr_cookie").addClass("fadeInUp").removeClass("fadeOutDown"); - $("#cookie_position").removeClass("topLeft bottomLeft boxedTopLeft boxedTopRight boxedBottomLeft boxedBottomRight boxedCenterTop boxedCenterBottom"); - $("#cookie_position").addClass($(this).val()); - }); - - $("#cookie_color_select").on("change", function () { - $(".pvr_cookie").addClass("fadeInUp").removeClass("fadeOutDown"); - $("#cookie_color").removeClass("cookie_dark cookie_light bg-primary bg-success bg-danger bg-info bg-warning bg-secondary"); - $("#cookie_color").addClass($(this).val()); - }); - } - }, - generateCount : function (e) { - if (!$(e).attr("data-init")) { - var a = $(e).attr("data-number"); - var id = $(e).attr("id"); - var options = { - useEasing : true, - useGrouping: true, - separator : ',', - decimal : '.', - }; - var demo = new CountUp(id, 0, parseInt(a, 10), 0, 2.5, options); - if (!demo.error) { - demo.start(); - } else { - console.error(demo.error); - } - } - }, - generateTypeit: function (e) { - if ("[data-typeit=true]".length !== 0) { - var a = $.trim($(e).text()); - var id = $(e).attr("id"); - $('#' + id).typeIt({ - whatToType: a, - typeSpeed : 100, - cursor : true, - }); - } - }, - count_js : function () { - App.includeScript(plugin_path + 'countup/countUp.min.js', function () { - $("[data-count=true]").each(function () { - App.generateCount($(this)) - }); - }); - }, - typeit_js : function () { - App.includeScript(plugin_path + 'typeit/typeit.min.js', function () { - $("[data-typeit=true]").each(function () { - App.generateTypeit($(this)); - }) - }); - }, - sidebar : function () { - var mobile_menu_visible = 0, - mobile_menu_initialized = false, - toggle_initialized = false, - $sidebar, - isWindows, - side_nav; - side_nav = { - sidebar_mini: false - }; - var _container = jQuery(".sidebar"); - if (_container.length > 0) { - if ($(window).width() <= 1024) { - $('body').addClass('sidebar-mini'); - } - - $('#minimizeSidebar, #minimizeSidebar1').on("click", function () { - if (side_nav.sidebar_mini === true) { - console.log(this) - $('body').removeClass('sidebar-mini'); - setTimeout(function () { - side_nav.sidebar_mini = false; - }, 300); - if (isWindows) { - $($sidebar_wrapper).slimScroll({ - height: $(window).height() + 'px', - }); - } - } else { - console.log(this) - $('.sidebar .collapse').collapse('hide').on('hidden.bs.collapse', function () { - $(this).css('height', 'auto'); - }); - if (isWindows) { - $('.slimScrollDiv').each(function () { - $(this).replaceWith($(this).children()); - }) - } - setTimeout(function () { - $('body').addClass('sidebar-mini'); - $('.sidebar .collapse').css('height', 'auto'); - side_nav.sidebar_mini = true; - }, 300); - } - var simulateWindowResize = setInterval(function () { - window.dispatchEvent(new Event('resize')); - }, 180); - setTimeout(function () { - clearInterval(simulateWindowResize); - }, 1000); - }); - - var $sidebar_wrapper = $('.sidebar-wrapper'); - $sidebar = $('.sidebar'); - var image_src = $sidebar.data('image'); - var sidebar_container; - if (image_src !== undefined) { - sidebar_container = ''; - $sidebar.append(sidebar_container); - } else if (mobile_menu_initialized === true) { - $sidebar_wrapper.find('.navbar-form').remove(); - $sidebar_wrapper.find('.nav-mobile-menu').remove(); - mobile_menu_initialized = false; - } - - $($sidebar_wrapper).slimScroll({ - height : $(window).height() + 'px', - color : '#333333', - size : '4px', - alwaysVisible: true - }); - - $(".sidebar .nav > .has-sub-menu > a").on("click", function () { - var e = $(this).next(".sub-menu"); - $(e).hasClass("in") ? $(e).collapse('hide') : $(e).collapse('show'); - $(".sidebar .nav > li.has-sub-menu > .sub-menu").not(e).collapse('hide'); - $(e).on('show.bs.collapse', function () { - $(this).find(".collapse.show").collapse('hide'); - }); - return false; - }); - - - var $sidebar_wrapper = $('.sidebar-wrapper'); - var nav_content; - if (mobile_menu_initialized) { - if ($(window).width() > 991) { - $sidebar_wrapper.find('.navbar-form').remove(); - $sidebar_wrapper.find('.nav-mobile-menu').remove(); - mobile_menu_initialized = false; - } - } else { - var $navbar; - $navbar = $('nav').find('.navbar-collapse').first().clone(true); - nav_content = ''; - var mobile_menu_content; - mobile_menu_content = ''; - $navbar.children('ul').each(function () { - var content_buff; - content_buff = $(this).html(); - nav_content = nav_content + content_buff; - }); - nav_content = ''; - var $sidebar_nav; - $sidebar_nav = $sidebar_wrapper.find(' > .nav'); - var $nav_content; - $nav_content = $(nav_content); - $nav_content.insertBefore($sidebar_nav); - $(".sidebar-wrapper .dropdown .dropdown-menu > li > a").on("click", function (event) { - event.stopPropagation(); - }); - mobile_menu_initialized = true; - } - - var $toggle; - if (!toggle_initialized) { - $toggle = $('.navbar-toggler'); - $toggle.on("click", function () { - var $layer; - if (mobile_menu_visible === 1) { - $('html').removeClass('nav-open'); - $('.close-layer').remove(); - setTimeout(function () { - $toggle.removeClass('toggled'); - }, 400); - mobile_menu_visible = 0; - } else { - setTimeout(function () { - $toggle.addClass('toggled'); - }, 430); - var main_panel_height; - main_panel_height = $('body').scrollHeight; - $layer = $('
            '); - $layer.css('height', main_panel_height + 'px'); - $layer.appendTo("body"); - setTimeout(function () { - $layer.addClass('visible'); - }, 100); - $layer.on("click", function () { - $('html').removeClass('nav-open'); - mobile_menu_visible = 0; - $layer.removeClass('visible'); - setTimeout(function () { - $layer.remove(); - $toggle.removeClass('toggled'); - }, 400); - }); - $('html').addClass('nav-open'); - mobile_menu_visible = 1; - } - }); - toggle_initialized = true; - } - - /***** PAGE CUSTOMIZER *****/ - $('body').on('click', '.template-options-btn', function (e) { - e.preventDefault(); - $('.template-options-wrapper').toggleClass('show'); - var $layer; - if ($('.template-options-wrapper').hasClass("show")) { - var main_panel_height; - main_panel_height = $('body').scrollHeight; - $layer = $('
            '); - $layer.css('height', main_panel_height + 'px'); - $layer.appendTo("body"); - - $layer.on("click", function () { - $('.template-options-wrapper').toggleClass('show'); - $layer.remove(); - }); - } - }); - /***** PAGE CUSTOMIZER *****/ - $('body').on("click", '#header, #page-container', function () { - if ($(".template-options-wrapper").hasClass('show')) { - $(".template-options-wrapper").removeClass("show"); - $("#theme_panel_icon").removeClass("ion-ios-close-outline").addClass("ion-ios-settings"); - } - }); - - /***** PAGE CUSTOMIZER *****/ - $("#minified_sidebar").on("change", function () { - var $body = $('body'); - var $input = $(this); - if (side_nav.sidebar_mini == true) { - $('body').removeClass('sidebar-mini'); - side_nav.sidebar_mini = false; - if (isWindows) { - $('.sidebar .sidebar-wrapper').perfectScrollbar(); - } - } else { - $('.sidebar .collapse').collapse('hide').on('hidden.bs.collapse', function () { - $(this).css('height', 'auto'); - }); - if (isWindows) { - $('.sidebar .sidebar-wrapper').perfectScrollbar('destroy'); - } - setTimeout(function () { - $('body').addClass('sidebar-mini'); - $('.sidebar .collapse').css('height', 'auto'); - side_nav.sidebar_mini = true; - }, 300); - } - // we simulate the window Resize so the charts will get updated in realtime. - var simulateWindowResize = setInterval(function () { - window.dispatchEvent(new Event('resize')); - }, 180); - // we stop the simulation of Window Resize after the animations are completed - setTimeout(function () { - clearInterval(simulateWindowResize); - }, 1000); - }); - - /***** PAGE CUSTOMIZER *****/ - var $sidebar_img_container = $sidebar.find('.sidebar-background'); - $("#background_image_sidebar").on("change", function () { - var $input = $(this); - var background_image = ""; - if ($input.is(':checked')) { - $sidebar_img_container.fadeIn('fast'); - background_image = true; - } else { - $sidebar_img_container.fadeOut('fast'); - background_image = false; - } - }); - - /***** PAGE CUSTOMIZER *****/ - $('.bg_imgs li').on("click", function () { - $(this).siblings().removeClass('active'); - $(this).addClass('active'); - var new_image = $(this).find("a img").attr('src'); - if ($sidebar.length != 0) { - $sidebar.attr('data-image', new_image); - $sidebar_img_container.css('background-image', 'url("' + new_image + '")'); - } - }); - - /***** PAGE CUSTOMIZER *****/ - $('.top-bar-color-selector').on("click", function () { - $(this).siblings().removeClass('selected'); - $(this).addClass('selected'); - var new_color = $(this).data('color'); - if ($sidebar.length != 0) { - $sidebar.attr('data-color', new_color); - } - }); - - /***** PAGE CUSTOMIZER *****/ - var classes = []; - $.each($('[data-color].top-bar-color-selector'), function (i, d) { - var new_color = $(d).data('color'); - classes.push(new_color) - }); - var length = classes.length; - $.each(classes, function (key, value) { - /*setInterval(function () { - $sidebar.attr('data-color', classes[ Math.floor(Math.random() * length) ]); - },2000)*/ - }); - } - }, - icons : function () { - var classes = [ "user", "people", "user-female", "user-follow", "user-following", "user-unfollow", "login", "logout", "emotsmile", "phone", "call-end", "call-in", "call-out", "map", "location-pin", "direction", "directions", "compass", "layers", "menu", "list", "options-vertical", "options", "arrow-down", "arrow-left", "arrow-right", "arrow-up", "arrow-up-circle", "arrow-left-circle", "arrow-right-circle", "arrow-down-circle", "check", "clock", "plus", "minus", "close", "exclamation", "organization", "trophy", "screen-smartphone", "screen-desktop", "plane", "notebook", "mustache", "mouse", "magnet", "energy", "disc", "cursor", "cursor-move", "crop", "chemistry", "speedometer", "shield", "screen-tablet", "magic-wand", "hourglass", "graduation", "ghost", "game-controller", "fire", "eyeglass", "envelope-open", "envelope-letter", "bell", "badge", "anchor", "wallet", "vector", "speech", "puzzle", "printer", "present", "playlist", "pin", "picture", "handbag", "globe-alt", "globe", "folder-alt", "folder", "film", "feed", "drop", "drawer", "docs", "doc", "diamond", "cup", "calculator", "bubbles", "briefcase", "book-open", "basket-loaded", "basket", "bag", "action-undo", "action-redo", "wrench", "umbrella", "trash", "tag", "support", "frame", "size-fullscreen", "size-actual", "shuffle", "share-alt", "share", "rocket", "question", "pie-chart", "pencil", "note", "loop", "home", "grid", "graph", "microphone", "music-tone-alt", "music-tone", "earphones-alt", "earphones", "equalizer", "like", "dislike", "control-start", "control-rewind", "control-play", "control-pause", "control-forward", "control-end", "volume-1", "volume-2", "volume-off", "calendar", "bulb", "chart", "ban", "bubble", "camrecorder", "camera", "cloud-download", "cloud-upload", "envelope", "eye", "flag", "heart", "info", "key", "link", "lock", "lock-open", "magnifier", "magnifier-add", "magnifier-remove", "paper-clip", "paper-plane", "power", "refresh", "reload", "settings", "star", "symbol-female", "symbol-male", "target", "credit-card", "paypal", "social-tumblr", "social-twitter", "social-facebook", "social-instagram", "social-linkedin", "social-pinterest", "social-github", "social-google", "social-reddit", "social-skype", "social-dribbble", "social-behance", "social-foursqare", "social-soundcloud", "social-spotify", "social-stumbleupon", "social-youtube", "social-dropbox" ]; - - //var classes = new Array('btn-success', 'btn-primary', 'btn-warning', "btn-danger", "btn-info"); - var length = classes.length; - var links = $('.make_icon'); - $.each(links, function (key, value) { - $(value).addClass("icons icon-" + classes[ Math.floor(Math.random() * length) ]); - }); - } -}; - -document.addEventListener('DOMContentLoaded', function () { - $('body').addClass('no-transitions'); -}); - -window.addEventListener('load', function () { - $('body').removeClass('no-transitions'); - App.main(); -}); \ No newline at end of file diff --git a/ph3-beta-to-ui3.0-conv/ui3template/assets/js/bootstrap.min.js b/ph3-beta-to-ui3.0-conv/ui3template/assets/js/bootstrap.min.js deleted file mode 100644 index e5a24299..00000000 --- a/ph3-beta-to-ui3.0-conv/ui3template/assets/js/bootstrap.min.js +++ /dev/null @@ -1,7 +0,0 @@ -/*! - * Bootstrap v4.4.1 (https://getbootstrap.com/) - * Copyright 2011-2019 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors) - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) - */ -!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("jquery"),require("popper.js")):"function"==typeof define&&define.amd?define(["exports","jquery","popper.js"],e):e((t=t||self).bootstrap={},t.jQuery,t.Popper)}(this,function(t,g,u){"use strict";function i(t,e){for(var n=0;nthis._items.length-1||t<0))if(this._isSliding)g(this._element).one(Y.SLID,function(){return e.to(t)});else{if(n===t)return this.pause(),void this.cycle();var i=ndocument.documentElement.clientHeight;!this._isBodyOverflowing&&t&&(this._element.style.paddingLeft=this._scrollbarWidth+"px"),this._isBodyOverflowing&&!t&&(this._element.style.paddingRight=this._scrollbarWidth+"px")},t._resetAdjustments=function(){this._element.style.paddingLeft="",this._element.style.paddingRight=""},t._checkScrollbar=function(){var t=document.body.getBoundingClientRect();this._isBodyOverflowing=t.left+t.right
            ',trigger:"hover focus",title:"",delay:0,html:!1,selector:!1,placement:"top",offset:0,container:!1,fallbackPlacement:"flip",boundary:"scrollParent",sanitize:!0,sanitizeFn:null,whiteList:Se,popperConfig:null},Fe="show",Ue="out",We={HIDE:"hide"+Oe,HIDDEN:"hidden"+Oe,SHOW:"show"+Oe,SHOWN:"shown"+Oe,INSERTED:"inserted"+Oe,CLICK:"click"+Oe,FOCUSIN:"focusin"+Oe,FOCUSOUT:"focusout"+Oe,MOUSEENTER:"mouseenter"+Oe,MOUSELEAVE:"mouseleave"+Oe},qe="fade",Me="show",Ke=".tooltip-inner",Qe=".arrow",Be="hover",Ve="focus",Ye="click",ze="manual",Xe=function(){function i(t,e){if("undefined"==typeof u)throw new TypeError("Bootstrap's tooltips require Popper.js (https://popper.js.org/)");this._isEnabled=!0,this._timeout=0,this._hoverState="",this._activeTrigger={},this._popper=null,this.element=t,this.config=this._getConfig(e),this.tip=null,this._setListeners()}var t=i.prototype;return t.enable=function(){this._isEnabled=!0},t.disable=function(){this._isEnabled=!1},t.toggleEnabled=function(){this._isEnabled=!this._isEnabled},t.toggle=function(t){if(this._isEnabled)if(t){var e=this.constructor.DATA_KEY,n=g(t.currentTarget).data(e);n||(n=new this.constructor(t.currentTarget,this._getDelegateConfig()),g(t.currentTarget).data(e,n)),n._activeTrigger.click=!n._activeTrigger.click,n._isWithActiveTrigger()?n._enter(null,n):n._leave(null,n)}else{if(g(this.getTipElement()).hasClass(Me))return void this._leave(null,this);this._enter(null,this)}},t.dispose=function(){clearTimeout(this._timeout),g.removeData(this.element,this.constructor.DATA_KEY),g(this.element).off(this.constructor.EVENT_KEY),g(this.element).closest(".modal").off("hide.bs.modal",this._hideModalHandler),this.tip&&g(this.tip).remove(),this._isEnabled=null,this._timeout=null,this._hoverState=null,this._activeTrigger=null,this._popper&&this._popper.destroy(),this._popper=null,this.element=null,this.config=null,this.tip=null},t.show=function(){var e=this;if("none"===g(this.element).css("display"))throw new Error("Please use show on visible elements");var t=g.Event(this.constructor.Event.SHOW);if(this.isWithContent()&&this._isEnabled){g(this.element).trigger(t);var n=_.findShadowRoot(this.element),i=g.contains(null!==n?n:this.element.ownerDocument.documentElement,this.element);if(t.isDefaultPrevented()||!i)return;var o=this.getTipElement(),r=_.getUID(this.constructor.NAME);o.setAttribute("id",r),this.element.setAttribute("aria-describedby",r),this.setContent(),this.config.animation&&g(o).addClass(qe);var s="function"==typeof this.config.placement?this.config.placement.call(this,o,this.element):this.config.placement,a=this._getAttachment(s);this.addAttachmentClass(a);var l=this._getContainer();g(o).data(this.constructor.DATA_KEY,this),g.contains(this.element.ownerDocument.documentElement,this.tip)||g(o).appendTo(l),g(this.element).trigger(this.constructor.Event.INSERTED),this._popper=new u(this.element,o,this._getPopperConfig(a)),g(o).addClass(Me),"ontouchstart"in document.documentElement&&g(document.body).children().on("mouseover",null,g.noop);var c=function(){e.config.animation&&e._fixTransition();var t=e._hoverState;e._hoverState=null,g(e.element).trigger(e.constructor.Event.SHOWN),t===Ue&&e._leave(null,e)};if(g(this.tip).hasClass(qe)){var h=_.getTransitionDurationFromElement(this.tip);g(this.tip).one(_.TRANSITION_END,c).emulateTransitionEnd(h)}else c()}},t.hide=function(t){function e(){n._hoverState!==Fe&&i.parentNode&&i.parentNode.removeChild(i),n._cleanTipClass(),n.element.removeAttribute("aria-describedby"),g(n.element).trigger(n.constructor.Event.HIDDEN),null!==n._popper&&n._popper.destroy(),t&&t()}var n=this,i=this.getTipElement(),o=g.Event(this.constructor.Event.HIDE);if(g(this.element).trigger(o),!o.isDefaultPrevented()){if(g(i).removeClass(Me),"ontouchstart"in document.documentElement&&g(document.body).children().off("mouseover",null,g.noop),this._activeTrigger[Ye]=!1,this._activeTrigger[Ve]=!1,this._activeTrigger[Be]=!1,g(this.tip).hasClass(qe)){var r=_.getTransitionDurationFromElement(i);g(i).one(_.TRANSITION_END,e).emulateTransitionEnd(r)}else e();this._hoverState=""}},t.update=function(){null!==this._popper&&this._popper.scheduleUpdate()},t.isWithContent=function(){return Boolean(this.getTitle())},t.addAttachmentClass=function(t){g(this.getTipElement()).addClass(Pe+"-"+t)},t.getTipElement=function(){return this.tip=this.tip||g(this.config.template)[0],this.tip},t.setContent=function(){var t=this.getTipElement();this.setElementContent(g(t.querySelectorAll(Ke)),this.getTitle()),g(t).removeClass(qe+" "+Me)},t.setElementContent=function(t,e){"object"!=typeof e||!e.nodeType&&!e.jquery?this.config.html?(this.config.sanitize&&(e=we(e,this.config.whiteList,this.config.sanitizeFn)),t.html(e)):t.text(e):this.config.html?g(e).parent().is(t)||t.empty().append(e):t.text(g(e).text())},t.getTitle=function(){var t=this.element.getAttribute("data-original-title");return t=t||("function"==typeof this.config.title?this.config.title.call(this.element):this.config.title)},t._getPopperConfig=function(t){var e=this;return l({},{placement:t,modifiers:{offset:this._getOffset(),flip:{behavior:this.config.fallbackPlacement},arrow:{element:Qe},preventOverflow:{boundariesElement:this.config.boundary}},onCreate:function(t){t.originalPlacement!==t.placement&&e._handlePopperPlacementChange(t)},onUpdate:function(t){return e._handlePopperPlacementChange(t)}},{},this.config.popperConfig)},t._getOffset=function(){var e=this,t={};return"function"==typeof this.config.offset?t.fn=function(t){return t.offsets=l({},t.offsets,{},e.config.offset(t.offsets,e.element)||{}),t}:t.offset=this.config.offset,t},t._getContainer=function(){return!1===this.config.container?document.body:_.isElement(this.config.container)?g(this.config.container):g(document).find(this.config.container)},t._getAttachment=function(t){return Re[t.toUpperCase()]},t._setListeners=function(){var i=this;this.config.trigger.split(" ").forEach(function(t){if("click"===t)g(i.element).on(i.constructor.Event.CLICK,i.config.selector,function(t){return i.toggle(t)});else if(t!==ze){var e=t===Be?i.constructor.Event.MOUSEENTER:i.constructor.Event.FOCUSIN,n=t===Be?i.constructor.Event.MOUSELEAVE:i.constructor.Event.FOCUSOUT;g(i.element).on(e,i.config.selector,function(t){return i._enter(t)}).on(n,i.config.selector,function(t){return i._leave(t)})}}),this._hideModalHandler=function(){i.element&&i.hide()},g(this.element).closest(".modal").on("hide.bs.modal",this._hideModalHandler),this.config.selector?this.config=l({},this.config,{trigger:"manual",selector:""}):this._fixTitle()},t._fixTitle=function(){var t=typeof this.element.getAttribute("data-original-title");!this.element.getAttribute("title")&&"string"==t||(this.element.setAttribute("data-original-title",this.element.getAttribute("title")||""),this.element.setAttribute("title",""))},t._enter=function(t,e){var n=this.constructor.DATA_KEY;(e=e||g(t.currentTarget).data(n))||(e=new this.constructor(t.currentTarget,this._getDelegateConfig()),g(t.currentTarget).data(n,e)),t&&(e._activeTrigger["focusin"===t.type?Ve:Be]=!0),g(e.getTipElement()).hasClass(Me)||e._hoverState===Fe?e._hoverState=Fe:(clearTimeout(e._timeout),e._hoverState=Fe,e.config.delay&&e.config.delay.show?e._timeout=setTimeout(function(){e._hoverState===Fe&&e.show()},e.config.delay.show):e.show())},t._leave=function(t,e){var n=this.constructor.DATA_KEY;(e=e||g(t.currentTarget).data(n))||(e=new this.constructor(t.currentTarget,this._getDelegateConfig()),g(t.currentTarget).data(n,e)),t&&(e._activeTrigger["focusout"===t.type?Ve:Be]=!1),e._isWithActiveTrigger()||(clearTimeout(e._timeout),e._hoverState=Ue,e.config.delay&&e.config.delay.hide?e._timeout=setTimeout(function(){e._hoverState===Ue&&e.hide()},e.config.delay.hide):e.hide())},t._isWithActiveTrigger=function(){for(var t in this._activeTrigger)if(this._activeTrigger[t])return!0;return!1},t._getConfig=function(t){var e=g(this.element).data();return Object.keys(e).forEach(function(t){-1!==je.indexOf(t)&&delete e[t]}),"number"==typeof(t=l({},this.constructor.Default,{},e,{},"object"==typeof t&&t?t:{})).delay&&(t.delay={show:t.delay,hide:t.delay}),"number"==typeof t.title&&(t.title=t.title.toString()),"number"==typeof t.content&&(t.content=t.content.toString()),_.typeCheckConfig(Ae,t,this.constructor.DefaultType),t.sanitize&&(t.template=we(t.template,t.whiteList,t.sanitizeFn)),t},t._getDelegateConfig=function(){var t={};if(this.config)for(var e in this.config)this.constructor.Default[e]!==this.config[e]&&(t[e]=this.config[e]);return t},t._cleanTipClass=function(){var t=g(this.getTipElement()),e=t.attr("class").match(Le);null!==e&&e.length&&t.removeClass(e.join(""))},t._handlePopperPlacementChange=function(t){var e=t.instance;this.tip=e.popper,this._cleanTipClass(),this.addAttachmentClass(this._getAttachment(t.placement))},t._fixTransition=function(){var t=this.getTipElement(),e=this.config.animation;null===t.getAttribute("x-placement")&&(g(t).removeClass(qe),this.config.animation=!1,this.hide(),this.show(),this.config.animation=e)},i._jQueryInterface=function(n){return this.each(function(){var t=g(this).data(Ne),e="object"==typeof n&&n;if((t||!/dispose|hide/.test(n))&&(t||(t=new i(this,e),g(this).data(Ne,t)),"string"==typeof n)){if("undefined"==typeof t[n])throw new TypeError('No method named "'+n+'"');t[n]()}})},s(i,null,[{key:"VERSION",get:function(){return"4.4.1"}},{key:"Default",get:function(){return xe}},{key:"NAME",get:function(){return Ae}},{key:"DATA_KEY",get:function(){return Ne}},{key:"Event",get:function(){return We}},{key:"EVENT_KEY",get:function(){return Oe}},{key:"DefaultType",get:function(){return He}}]),i}();g.fn[Ae]=Xe._jQueryInterface,g.fn[Ae].Constructor=Xe,g.fn[Ae].noConflict=function(){return g.fn[Ae]=ke,Xe._jQueryInterface};var $e="popover",Ge="bs.popover",Je="."+Ge,Ze=g.fn[$e],tn="bs-popover",en=new RegExp("(^|\\s)"+tn+"\\S+","g"),nn=l({},Xe.Default,{placement:"right",trigger:"click",content:"",template:''}),on=l({},Xe.DefaultType,{content:"(string|element|function)"}),rn="fade",sn="show",an=".popover-header",ln=".popover-body",cn={HIDE:"hide"+Je,HIDDEN:"hidden"+Je,SHOW:"show"+Je,SHOWN:"shown"+Je,INSERTED:"inserted"+Je,CLICK:"click"+Je,FOCUSIN:"focusin"+Je,FOCUSOUT:"focusout"+Je,MOUSEENTER:"mouseenter"+Je,MOUSELEAVE:"mouseleave"+Je},hn=function(t){function i(){return t.apply(this,arguments)||this}!function(t,e){t.prototype=Object.create(e.prototype),(t.prototype.constructor=t).__proto__=e}(i,t);var e=i.prototype;return e.isWithContent=function(){return this.getTitle()||this._getContent()},e.addAttachmentClass=function(t){g(this.getTipElement()).addClass(tn+"-"+t)},e.getTipElement=function(){return this.tip=this.tip||g(this.config.template)[0],this.tip},e.setContent=function(){var t=g(this.getTipElement());this.setElementContent(t.find(an),this.getTitle());var e=this._getContent();"function"==typeof e&&(e=e.call(this.element)),this.setElementContent(t.find(ln),e),t.removeClass(rn+" "+sn)},e._getContent=function(){return this.element.getAttribute("data-content")||this.config.content},e._cleanTipClass=function(){var t=g(this.getTipElement()),e=t.attr("class").match(en);null!==e&&0=this._offsets[o]&&("undefined"==typeof this._offsets[o+1]||t 0) { - var count = 0; - var classes = [ "theme_1", "theme_2", "theme_3", "theme_4" ]; - var length = classes.length; - $(function () { - $('.app_chat_button, .pvr_chat_cnt .chat-close').on('click', function () { - $('.pvr_chat_cnt').toggleClass('active'); - return false; - }); - - $('.message-input').on('keypress', function (e) { - if (e.which == 13) { - var val = ($(this).val() !== '') ? $(this).val() : "Lorem Ipsum is simply dummy text of the printing."; - $('.chat-messages').append('
            ' + val + '
            '); - $(this).val(''); - setTimeout(function () { - $('.chat-messages').append('
            ' + val + '
            '); - $messages_w.scrollTop($messages_w.prop("scrollHeight")); - $messages_w.perfectScrollbar('update'); - }, 200) - var $messages_w = $('.pvr_chat_cnt .chat-messages'); - $messages_w.scrollTop($messages_w.prop("scrollHeight")); - $messages_w.perfectScrollbar('update'); - return false; - } - }); - - $('.pvr_chat_cnt .chat-messages').perfectScrollbar(); - App.place_holder("message-input", [ 'Type your message here...', 'Press Enter to Send Message...' ], false) - - $(".change_chat_theme").on('click', function () { - $(".chat-messages").removeAttr("class").addClass("chat-messages " + classes[ count ]); - if (parseInt(count, 10) === parseInt(length, 10) - 1) { - count = 0; - } else { - count = parseInt(count, 10) + 1; - } - var $messages_w = $('.pvr_chat_cnt .chat-messages'); - $messages_w.scrollTop($messages_w.prop("scrollHeight")); - $messages_w.perfectScrollbar('update'); - }); - - setTimeout(function () { - if (typeof index !== 'undefined' && index == 1) { - $('.pvr_chat_cnt').addClass('active') - } - }, 2500) - }); - } - }, -}; -window.addEventListener('load', function () { - app.main(); -}); \ No newline at end of file diff --git a/ph3-beta-to-ui3.0-conv/ui3template/assets/js/dashboard_v2.js b/ph3-beta-to-ui3.0-conv/ui3template/assets/js/dashboard_v2.js deleted file mode 100755 index adef57fd..00000000 --- a/ph3-beta-to-ui3.0-conv/ui3template/assets/js/dashboard_v2.js +++ /dev/null @@ -1,401 +0,0 @@ -var app = { - main : function () { - "use strict"; - app.execute(); - }, - execute: function () { - var _container = jQuery("#rs1"); - if (_container.length > 0) { - var blue = "#007bff", - dark = "#2d353c", - grey = "#b6c2c9", - red = "#dc3545"; - var seriesData = [ [], [] ]; - var random = new Rickshaw.Fixtures.RandomData(50); - for (var i = 0; i < 50; i++) { - random.addData(seriesData); - } - var graph = new Rickshaw.Graph({ - element : document.querySelector("#rs1"), - height : 70, - renderer: 'area', - series : [ - { - data : seriesData[ 0 ], - color: blue, - name : 'DB Server' - }, { - data : seriesData[ 1 ], - color: grey, - name : 'Web Server' - } - ] - }); - var hoverDetail = new Rickshaw.Graph.HoverDetail({ - graph: graph - }); - random.removeData(seriesData); - random.addData(seriesData); - graph.update(); - setInterval(function () { - random.removeData(seriesData); - random.addData(seriesData); - graph.update(); - $("#change_random").text(Math.floor(Math.random() * 100)); - $("#change_random_per").text(Math.floor(Math.random() * 10) + "%"); - }, 1000); - new ResizeSensor($('#page-container'), function () { - graph.configure({ - width : $('#rs1').width(), - height: $('#rs1').height() - }); - graph.render(); - }); - - var rs2 = new Rickshaw.Graph({ - element : document.querySelector('#rs2'), - renderer: 'bar', - series : [ { - data : [ - {x: 0, y: 5}, - {x: 1, y: 7}, - {x: 2, y: 10}, - {x: 3, y: 11}, - {x: 4, y: 12}, - {x: 5, y: 10}, - {x: 6, y: 9}, - {x: 7, y: 7}, - {x: 8, y: 6}, - {x: 9, y: 8}, - {x: 10, y: 9}, - {x: 11, y: 10}, - {x: 12, y: 7}, - {x: 13, y: 10} - ], - color: blue, - } ] - }); - rs2.render(); - // Responsive Mode - new ResizeSensor($('#page-container'), function () { - rs2.configure({ - width : $('#rs2').width(), - height: $('#rs2').height() - }); - rs2.render(); - }); - - var rs3 = new Rickshaw.Graph({ - element : document.querySelector('#rs3'), - renderer: 'line', - series : [ { - data : [ - {x: 0, y: 5}, - {x: 1, y: 7}, - {x: 2, y: 10}, - {x: 3, y: 11}, - {x: 4, y: 12}, - {x: 5, y: 10}, - {x: 6, y: 9}, - {x: 7, y: 7}, - {x: 8, y: 6}, - {x: 9, y: 8}, - {x: 10, y: 9}, - {x: 11, y: 10}, - {x: 12, y: 7}, - {x: 13, y: 10} - ], - color: red - } ] - }); - rs3.render(); - // Responsive Mode - new ResizeSensor($('#page-container'), function () { - rs3.configure({ - width : $('#rs3').width(), - height: $('#rs3').height() - }); - rs3.render(); - }); - } - - var _container = jQuery("#dynamic_chart"); - if (_container.length > 0) { - var barChartData = { - labels : [ "January", "February", "March", "April" ], - datasets: [ { - type : 'line', - label : "", - data : [ 2, 1, 5, 6 ], - fill : false, - backgroundColor : '#4076e0', - borderColor : '#4076e0', - borderWidth : 3, - pointRadius : 0, - hoverBackgroundColor: '#4076e0', - hoverBorderColor : '#4076e0', - yAxisID : 'y-axis-1', - animateScale : true, - easing : "none", - duration : 0, - } ] - }; - var length = barChartData.datasets[ 0 ].data.length; - var ctx = document.getElementById("dynamic_chart").getContext("2d"); - myBar = new Chart(ctx, { - animation: { - animateScale: true, - easing : "none", - duration : 0, - }, - type : 'bar', - data : barChartData, - options : { - responsive: true, - tooltips : { - mode: 'label' - }, - legend : { - display: false, - labels : { - fontColor: 'rgb(255, 99, 132)' - } - }, - elements : { - line: { - fill: true - } - }, - scales : { - xAxes: [ { - display : false, - gridLines: { - display: false - }, - labels : { - show: true, - } - } ], - yAxes: [ { - type : "linear", - display : false, - position : "left", - id : "y-axis-1", - gridLines: { - display: false - }, - labels : { - show: false, - - } - } ] - } - } - }); - var lcount = 0; - setInterval(function () { - var count = 10; - lcount++; - var data = myBar.data.datasets[ 0 ].data; - var labels = myBar.data.labels; - data.push(Math.floor(Math.random() * 10)); - count++; - labels.push(count.toString()); - if (lcount == 25) { - if (myBar.data.datasets[ 0 ].data.length > 25) myBar.data.datasets[ 0 ].data.splice(0, 25); - if (myBar.data.labels.length > 25) myBar.data.labels.splice(0, 25); - lcount = 0; - } - myBar.update(); - }, 570); - } - - if ($("#users_online").length) { - $("#users_online").sparkline([ 102, 109, 120, 99, 110, 80, 87, 114, 102, 109, 120, 99, 110, 80, 87, 74 ], { - type : 'bar', - height : '100', - barWidth : 9, - barSpacing: 10, - barColor : 'rgba(255,255,255,.3)' - }); - } - - function drawLineGraph(graph, points, container, id) { - var graph = Snap(graph); - /*END DRAW GRID*/ - - /* PARSE POINTS */ - var myPoints = []; - var shadowPoints = []; - - function parseData(points) { - for (i = 0; i < points.length; i++) { - var p = new point(); - var pv = points[ i ] / 100 * 40; - p.x = 83.7 / points.length * i + 1; - p.y = 40 - pv; - if (p.x > 78) { - p.x = 78; - } - myPoints.push(p); - } - } - - var segments = []; - - function createSegments(p_array) { - for (i = 0; i < p_array.length; i++) { - var seg = "L" + p_array[ i ].x + "," + p_array[ i ].y; - if (i === 0) { - seg = "M" + p_array[ i ].x + "," + p_array[ i ].y; - } - segments.push(seg); - } - } - - function joinLine(segments_array, id) { - var line = segments_array.join(" "); - var line = graph.path(line); - line.attr('id', 'graph-' + id); - var lineLength = line.getTotalLength(); - - line.attr({ - 'stroke-dasharray' : lineLength, - 'stroke-dashoffset': lineLength - }); - } - - function calculatePercentage(points, graph) { - var initValue = points[ 0 ]; - var endValue = points[ points.length - 1 ]; - var sum = endValue - initValue; - var prefix; - var percentageGain; - var stepCount = 1300 / sum; - - function findPrefix() { - if (sum > 0) { - prefix = "+"; - } else { - prefix = ""; - } - } - - var percentagePrefix = ""; - - function percentageChange() { - percentageGain = initValue / endValue * 100; - - if (percentageGain > 100) { - percentageGain = Math.round(percentageGain * 100 * 10) / 100; - } else if (percentageGain < 100) { - percentageGain = Math.round(percentageGain * 10) / 10; - } - if (initValue > endValue) { - - percentageGain = endValue / initValue * 100 - 100; - percentageGain = percentageGain.toFixed(2); - - percentagePrefix = ""; - $(graph).find('.percentage-value').addClass('negative'); - } else { - percentagePrefix = "+"; - } - if (endValue > initValue) { - percentageGain = endValue / initValue * 100; - percentageGain = Math.round(percentageGain); - } - }; - percentageChange(); - findPrefix(); - - var percentage = $(graph).find('.percentage-value'); - var totalGain = $(graph).find('.total-gain'); - var hVal = $(graph).find('.h-value'); - - function count(graph, sum) { - var totalGain = $(graph).find('.total-gain'); - var i = 0; - var time = 1300; - var intervalTime = Math.abs(time / sum); - var timerID = 0; - if (sum > 0) { - var timerID = setInterval(function () { - i++; - totalGain.text(percentagePrefix + i); - if (i === sum) clearInterval(timerID); - }, intervalTime); - } else if (sum < 0) { - var timerID = setInterval(function () { - i--; - totalGain.text(percentagePrefix + i); - if (i === sum) clearInterval(timerID); - }, intervalTime); - } - } - - count(graph, sum); - - percentage.text(percentagePrefix + percentageGain + "%"); - totalGain.text("0%"); - setTimeout(function () { - percentage.addClass('visible'); - hVal.addClass('visible'); - }, 1300); - - } - - - function showValues() { - var val1 = $(graph).find('.h-value'); - var val2 = $(graph).find('.percentage-value'); - val1.addClass('visible'); - val2.addClass('visible'); - } - - function drawPolygon(segments, id) { - var lastel = segments[ segments.length - 1 ]; - var polySeg = segments.slice(); - polySeg.push([ 78, 38.4 ], [ 1, 38.4 ]); - var polyLine = polySeg.join(' ').toString(); - var replacedString = polyLine.replace(/L/g, '').replace(/M/g, ""); - - var poly = graph.polygon(replacedString); - var clip = graph.rect(-80, 0, 80, 40); - poly.attr({ - 'id' : 'poly-' + id, - /*'clipPath':'url(#clip)'*/ - 'clipPath': clip - }); - clip.animate({ - transform: 't80,0' - }, 1300, mina.linear); - } - - parseData(points); - - createSegments(myPoints); - calculatePercentage(points, container); - joinLine(segments, id); - - drawPolygon(segments, id); - } - - var chart_1_y = [ - 15, 25, 40, 30, 45, 40, 35, 55, 37, 50, 60, 45, 70, 78 - ]; - var chart_2_y = [ - 80, 65, 65, 40, 55, 34, 54, 50, 60, 64, 55, 27, 24, 30 - ]; - - function point(x, y) { - x: 0; - y: 0; - } - - drawLineGraph('#chart-1', chart_1_y, '#graph-1-container', 1); - }, -}; -window.addEventListener('load', function () { - app.main(); -}); \ No newline at end of file diff --git a/ph3-beta-to-ui3.0-conv/ui3template/assets/js/form_editable.js b/ph3-beta-to-ui3.0-conv/ui3template/assets/js/form_editable.js deleted file mode 100755 index d3f9d752..00000000 --- a/ph3-beta-to-ui3.0-conv/ui3template/assets/js/form_editable.js +++ /dev/null @@ -1,476 +0,0 @@ -"use strict"; -var app = { - main : function () { - "use strict"; - app.execute(); - }, - execute : function () { - var c = window.location.href.match(/c=inline/i) ? 'inline' : 'popup'; - $.fn.editable.defaults.mode = c === 'inline' ? 'inline' : 'popup'; - $.mockjaxSettings.responseTime = 100; - $.mockjax({ - url : '/post', - response: function (settings) { - app.settings(settings, this); - } - }); - $.mockjax({ - url : '/error', - status : 400, - statusText: 'Bad Request', - response : function (settings) { - this.responseText = 'Please input correct value'; - app.settings(settings, this); - } - }); - $.mockjax({ - url : '/status', - status : 500, - response: function (settings) { - this.responseText = 'Internal Server Error'; - app.settings(settings, this); - } - }); - - $.fn.editable.defaults.url = '/post'; - $('#enable').click(function () { - $('#user .editable').editable('toggleDisabled'); - }); - $('#username').editable({ - url : '/post', - type : 'text', - pk : 1, - name : 'username', - title: 'Enter username' - }); - $('#firstname').editable({ - validate: function (value) { - if ($.trim(value) == '') return 'This field is required'; - } - }); - $('#sex').editable({ - prepend: "not selected", - source : [ - {value: 1, text: 'Male'}, - {value: 2, text: 'Female'} - ], - display: function (value, sourceData) { - var colors = {"": "gray", 1: "green", 2: "blue"}, - elem = $.grep(sourceData, function (o) { - return o.value == value; - }); - - if (elem.length) { - $(this).text(elem[ 0 ].text).css("color", colors[ value ]); - } else { - $(this).empty(); - } - } - }); - $('#status').editable(); - var source = [ - {value: 0, text: 'Guest'}, - {value: 1, text: 'Service'}, - {value: 2, text: 'Customer'}, - {value: 3, text: 'Operator'}, - {value: 4, text: 'Support'}, - {value: 5, text: 'Admin'} - ]; - $('#group').editable({ - showbuttons: false, - source : source, - }); - $('#vacation').editable({ - datepicker: { - todayBtn: 'linked' - } - }); - $('#dob').editable(); - $('#event').editable({ - placement: 'right', - combodate: { - firstItem: 'name' - } - }); - $('#meeting_start').editable({ - format : 'yyyy-mm-dd hh:ii', - viewformat : 'dd/mm/yyyy hh:ii', - validate : function (v) { - if (v && v.getDate() == 10) return 'Day cant be 10!'; - }, - datetimepicker: { - todayBtn : 'linked', - weekStart: 1 - } - }); - $('#comments').editable({ - showbuttons: 'bottom' - }); - $('#note').editable(); - $('#pencil').click(function (e) { - e.stopPropagation(); - e.preventDefault(); - $('#note').editable('toggle'); - }); - $('#state').editable({ - source: [ "Alabama", "Alaska", "Arizona", "Arkansas", "California", "Colorado", "Connecticut", "Delaware", "Florida", "Georgia", "Hawaii", "Idaho", "Illinois", "Indiana", "Iowa", "Kansas", "Kentucky", "Louisiana", "Maine", "Maryland", "Massachusetts", "Michigan", "Minnesota", "Mississippi", "Missouri", "Montana", "Nebraska", "Nevada", "New Hampshire", "New Jersey", "New Mexico", "New York", "North Dakota", "North Carolina", "Ohio", "Oklahoma", "Oregon", "Pennsylvania", "Rhode Island", "South Carolina", "South Dakota", "Tennessee", "Texas", "Utah", "Vermont", "Virginia", "Washington", "West Virginia", "Wisconsin", "Wyoming" ] - }); - $('#state2').editable({ - value : 'California', - typeahead: { - name : 'state', - local: [ "Alabama", "Alaska", "Arizona", "Arkansas", "California", "Colorado", "Connecticut", "Delaware", "Florida", "Georgia", "Hawaii", "Idaho", "Illinois", "Indiana", "Iowa", "Kansas", "Kentucky", "Louisiana", "Maine", "Maryland", "Massachusetts", "Michigan", "Minnesota", "Mississippi", "Missouri", "Montana", "Nebraska", "Nevada", "New Hampshire", "New Jersey", "New Mexico", "New York", "North Dakota", "North Carolina", "Ohio", "Oklahoma", "Oregon", "Pennsylvania", "Rhode Island", "South Carolina", "South Dakota", "Tennessee", "Texas", "Utah", "Vermont", "Virginia", "Washington", "West Virginia", "Wisconsin", "Wyoming" ] - } - }); - $('#fruits').editable({ - pk : 1, - limit : 3, - source: [ - {value: 1, text: 'banana'}, - {value: 2, text: 'peach'}, - {value: 3, text: 'apple'}, - {value: 4, text: 'watermelon'}, - {value: 5, text: 'orange'} - ] - }); - $('#tags').editable({ - inputclass: 'input-large', - select2 : { - tags : [ 'html', 'javascript', 'css', 'ajax' ], - tokenSeparators: [ ",", " " ] - } - }); - var countries = []; - $.each({ - "BD": "Bangladesh", - "BE": "Belgium", - "BF": "Burkina Faso", - "BG": "Bulgaria", - "BA": "Bosnia and Herzegovina", - "BB": "Barbados", - "WF": "Wallis and Futuna", - "BL": "Saint Bartelemey", - "BM": "Bermuda", - "BN": "Brunei Darussalam", - "BO": "Bolivia", - "BH": "Bahrain", - "BI": "Burundi", - "BJ": "Benin", - "BT": "Bhutan", - "JM": "Jamaica", - "BV": "Bouvet Island", - "BW": "Botswana", - "WS": "Samoa", - "BR": "Brazil", - "BS": "Bahamas", - "JE": "Jersey", - "BY": "Belarus", - "O1": "Other Country", - "LV": "Latvia", - "RW": "Rwanda", - "RS": "Serbia", - "TL": "Timor-Leste", - "RE": "Reunion", - "LU": "Luxembourg", - "TJ": "Tajikistan", - "RO": "Romania", - "PG": "Papua New Guinea", - "GW": "Guinea-Bissau", - "GU": "Guam", - "GT": "Guatemala", - "GS": "South Georgia and the South Sandwich Islands", - "GR": "Greece", - "GQ": "Equatorial Guinea", - "GP": "Guadeloupe", - "JP": "Japan", - "GY": "Guyana", - "GG": "Guernsey", - "GF": "French Guiana", - "GE": "Georgia", - "GD": "Grenada", - "GB": "United Kingdom", - "GA": "Gabon", - "SV": "El Salvador", - "GN": "Guinea", - "GM": "Gambia", - "GL": "Greenland", - "GI": "Gibraltar", - "GH": "Ghana", - "OM": "Oman", - "TN": "Tunisia", - "JO": "Jordan", - "HR": "Croatia", - "HT": "Haiti", - "HU": "Hungary", - "HK": "Hong Kong", - "HN": "Honduras", - "HM": "Heard Island and McDonald Islands", - "VE": "Venezuela", - "PR": "Puerto Rico", - "PS": "Palestinian Territory", - "PW": "Palau", - "PT": "Portugal", - "SJ": "Svalbard and Jan Mayen", - "PY": "Paraguay", - "IQ": "Iraq", - "PA": "Panama", - "PF": "French Polynesia", - "BZ": "Belize", - "PE": "Peru", - "PK": "Pakistan", - "PH": "Philippines", - "PN": "Pitcairn", - "TM": "Turkmenistan", - "PL": "Poland", - "PM": "Saint Pierre and Miquelon", - "ZM": "Zambia", - "EH": "Western Sahara", - "RU": "Russian Federation", - "EE": "Estonia", - "EG": "Egypt", - "TK": "Tokelau", - "ZA": "South Africa", - "EC": "Ecuador", - "IT": "Italy", - "VN": "Vietnam", - "SB": "Solomon Islands", - "EU": "Europe", - "ET": "Ethiopia", - "SO": "Somalia", - "ZW": "Zimbabwe", - "SA": "Saudi Arabia", - "ES": "Spain", - "ER": "Eritrea", - "ME": "Montenegro", - "MD": "Moldova, Republic of", - "MG": "Madagascar", - "MF": "Saint Martin", - "MA": "Morocco", - "MC": "Monaco", - "UZ": "Uzbekistan", - "MM": "Myanmar", - "ML": "Mali", - "MO": "Macao", - "MN": "Mongolia", - "MH": "Marshall Islands", - "MK": "Macedonia", - "MU": "Mauritius", - "MT": "Malta", - "MW": "Malawi", - "MV": "Maldives", - "MQ": "Martinique", - "MP": "Northern Mariana Islands", - "MS": "Montserrat", - "MR": "Mauritania", - "IM": "Isle of Man", - "UG": "Uganda", - "TZ": "Tanzania, United Republic of", - "MY": "Malaysia", - "MX": "Mexico", - "IL": "Israel", - "FR": "France", - "IO": "British Indian Ocean Territory", - "FX": "France, Metropolitan", - "SH": "Saint Helena", - "FI": "Finland", - "FJ": "Fiji", - "FK": "Falkland Islands (Malvinas)", - "FM": "Micronesia, Federated States of", - "FO": "Faroe Islands", - "NI": "Nicaragua", - "NL": "Netherlands", - "NO": "Norway", - "NA": "Namibia", - "VU": "Vanuatu", - "NC": "New Caledonia", - "NE": "Niger", - "NF": "Norfolk Island", - "NG": "Nigeria", - "NZ": "New Zealand", - "NP": "Nepal", - "NR": "Nauru", - "NU": "Niue", - "CK": "Cook Islands", - "CI": "Cote d'Ivoire", - "CH": "Switzerland", - "CO": "Colombia", - "CN": "China", - "CM": "Cameroon", - "CL": "Chile", - "CC": "Cocos (Keeling) Islands", - "CA": "Canada", - "CG": "Congo", - "CF": "Central African Republic", - "CD": "Congo, The Democratic Republic of the", - "CZ": "Czech Republic", - "CY": "Cyprus", - "CX": "Christmas Island", - "CR": "Costa Rica", - "CV": "Cape Verde", - "CU": "Cuba", - "SZ": "Swaziland", - "SY": "Syrian Arab Republic", - "KG": "Kyrgyzstan", - "KE": "Kenya", - "SR": "Suriname", - "KI": "Kiribati", - "KH": "Cambodia", - "KN": "Saint Kitts and Nevis", - "KM": "Comoros", - "ST": "Sao Tome and Principe", - "SK": "Slovakia", - "KR": "Korea, Republic of", - "SI": "Slovenia", - "KP": "Korea, Democratic People's Republic of", - "KW": "Kuwait", - "SN": "Senegal", - "SM": "San Marino", - "SL": "Sierra Leone", - "SC": "Seychelles", - "KZ": "Kazakhstan", - "KY": "Cayman Islands", - "SG": "Singapore", - "SE": "Sweden", - "SD": "Sudan", - "DO": "Dominican Republic", - "DM": "Dominica", - "DJ": "Djibouti", - "DK": "Denmark", - "VG": "Virgin Islands, British", - "DE": "Germany", - "YE": "Yemen", - "DZ": "Algeria", - "US": "United States", - "UY": "Uruguay", - "YT": "Mayotte", - "UM": "United States Minor Outlying Islands", - "LB": "Lebanon", - "LC": "Saint Lucia", - "LA": "Lao People's Democratic Republic", - "TV": "Tuvalu", - "TW": "Taiwan", - "TT": "Trinidad and Tobago", - "TR": "Turkey", - "LK": "Sri Lanka", - "LI": "Liechtenstein", - "A1": "Anonymous Proxy", - "TO": "Tonga", - "LT": "Lithuania", - "A2": "Satellite Provider", - "LR": "Liberia", - "LS": "Lesotho", - "TH": "Thailand", - "TF": "French Southern Territories", - "TG": "Togo", - "TD": "Chad", - "TC": "Turks and Caicos Islands", - "LY": "Libyan Arab Jamahiriya", - "VA": "Holy See (Vatican City State)", - "VC": "Saint Vincent and the Grenadines", - "AE": "United Arab Emirates", - "AD": "Andorra", - "AG": "Antigua and Barbuda", - "AF": "Afghanistan", - "AI": "Anguilla", - "VI": "Virgin Islands, U.S.", - "IS": "Iceland", - "IR": "Iran, Islamic Republic of", - "AM": "Armenia", - "AL": "Albania", - "AO": "Angola", - "AN": "Netherlands Antilles", - "AQ": "Antarctica", - "AP": "Asia/Pacific Region", - "AS": "American Samoa", - "AR": "Argentina", - "AU": "Australia", - "AT": "Austria", - "AW": "Aruba", - "IN": "India", - "AX": "Aland Islands", - "AZ": "Azerbaijan", - "IE": "Ireland", - "ID": "Indonesia", - "UA": "Ukraine", - "QA": "Qatar", - "MZ": "Mozambique" - }, function (k, v) { - countries.push({id: k, text: v}); - }); - $('#country').editable({ - source : countries, - select2: { - width : 200, - placeholder: 'Select country', - allowClear : true - } - }); - $('#address').editable({ - url : '/post', - value : { - city : "Moscow", - street : "Lenina", - building: "12" - }, - validate: function (value) { - if (value.city == '') return 'city is required!'; - }, - display : function (value) { - if (!value) { - $(this).empty(); - return; - } - var html = '' + $('
            ').text(value.city).html() + ', ' + $('
            ').text(value.street).html() + ' st., bld. ' + $('
            ').text(value.building).html(); - $(this).html(html); - } - }); - $('#user .editable').on('hidden', function (e, reason) { - if (reason === 'save' || reason === 'nochange') { - var $next = $(this).closest('tr').next().find('.editable'); - if ($('#autoopen').is(':checked')) { - setTimeout(function () { - $next.editable('show'); - }, 300); - } else { - $next.focus(); - } - } - }); - }, - settings: function (settings, response) { - var s = [], str; - s.push(settings.type.toUpperCase() + ' url = "' + settings.url + '"'); - for (var a in settings.data) { - if (settings.data[ a ] && typeof settings.data[ a ] === 'object') { - str = []; - for (var j in settings.data[ a ]) { - str.push(j + ': "' + settings.data[ a ][ j ] + '"'); - } - str = '{ ' + str.join(', ') + ' }'; - } else { - str = '"' + settings.data[ a ] + '"'; - } - s.push(a + ' = ' + str); - } - s.push('RESPONSE: status = ' + response.status); - - if (response.responseText) { - if ($.isArray(response.responseText)) { - s.push('['); - $.each(response.responseText, function (i, v) { - s.push('{value: ' + v.value + ', text: "' + v.text + '"}'); - }); - s.push(']'); - } else { - s.push($.trim(response.responseText)); - } - } - s.push('--------------------------------------\n'); - $('#console').val(s.join('\n') + $('#console').val()); - } -}; -window.addEventListener('load', function () { - app.main(); -}); - - diff --git a/ph3-beta-to-ui3.0-conv/ui3template/assets/js/form_plugins.js b/ph3-beta-to-ui3.0-conv/ui3template/assets/js/form_plugins.js deleted file mode 100755 index 6df58d12..00000000 --- a/ph3-beta-to-ui3.0-conv/ui3template/assets/js/form_plugins.js +++ /dev/null @@ -1,518 +0,0 @@ -"use strict"; -var app = { - main : function () { - "use strict"; - app.execute(); - app.color_picker(); - app.mased_input(); - app.auto_complete(); - app.clip_board(); - app.ion_range(); - app.range_slider(); - app.tag_input(); - }, - execute : function () { - $.fn._datepicker = function () { - $('.date_picker').datepicker({ - autoclose : !0, - todayBtn : true, - todayHighlight: true, - }); - }; - $.fn._daterange_picker = function () { - $(".daterange_picker").datepicker({ - autoclose : !0, - todayBtn : true, - todayHighlight: true, - }) - }; - $.fn._format_date_picker = function () { - $(".format_date_picker").datepicker({ - autoclose : !0, - todayBtn : true, - todayHighlight: true, - format : "dd/mm/yyyy" - }) - }; - $.fn._date_picker_disable_future = function () { - var EndDate = new Date(); - $('.date_picker_disable_future').datepicker({ - endDate : EndDate, - autoclose : !0, - todayBtn : true, - todayHighlight: true, - }); - }; - $.fn._date_picker_disable_past = function () { - var StartDate = new Date(); - $('.date_picker_disable_past').datepicker({ - startDate : StartDate, - autoclose : !0, - todayBtn : true, - todayHighlight: true, - }); - }; - $.fn._date_picker_start_view = function () { - $('.date_picker_start_view').datepicker({ - startView : 2, - autoclose : !0, - todayBtn : true, - todayHighlight: true, - }); - }; - $.fn._date_picker_clear = function () { - $('.date_picker_clear').datepicker({ - clearBtn : true, - autoclose : !0, - todayBtn : true, - todayHighlight: true, - }); - }; - $.fn._date_picker_multidate = function () { - $('.date_picker_multidate').datepicker({ - multidate : true, - todayBtn : true, - todayHighlight: true, - }); - }; - $.fn._date_picker_calendarweeks = function () { - $('.date_picker_calendarweeks').datepicker({ - calendarWeeks : true, - autoclose : !0, - todayBtn : true, - todayHighlight: true, - }); - }; - $.fn._date_inline = function () { - $('.date_inline').datepicker({ - calendarWeeks : true, - autoclose : !0, - todayBtn : true, - todayHighlight: true, - }); - }; - $.fn._date_time_picker = function () { - $('.date_time_picker').datetimepicker({ - autoclose: !0, - }); - }; - $.fn._time_picker = function () { - $('.time_picker').datetimepicker({ - format : "HH:ii P", - showMeridian: true, - autoclose : true, - startView : 1 - }); - }; - $.fn._positioning_time_picker = function () { - $('.positioning_time_picker').datetimepicker({ - pickerPosition: "top-left" - }); - }; - $.fn._date_time_mirror_field = function () { - $('.date_time_mirror_field').datetimepicker({ - format : "dd MM yyyy - hh:ii", - linkField : "mirror_field", - linkFormat: "yyyy-mm-dd hh:ii", - autoclose : true - }); - }; - $.fn._date_time_inline = function () { - $('.date_time_inline').datetimepicker({ - format : "dd MM yyyy - hh:ii", - linkFormat: "yyyy-mm-dd hh:ii", - }); - }; - $.fn._date_range_picker = function () { - $(".date_range_picker").daterangepicker({ - opens : "right", - format : "MM/DD/YYYY", - pickerPosition: "top-left", - separator : " to ", - startDate : moment().subtract("days", 29), - endDate : moment(), - minDate : "01/01/2012", - maxDate : "12/31/2018" - }, function (e, t) { - $(".date_range_picker input").val(e.format("MMMM D, YYYY") + " - " + t.format("MMMM D, YYYY")) - }); - }; - $.fn._advance_daterange = function () { - $(".advance_daterange span").html(moment().subtract("days", 29).format("MMMM D, YYYY") + " - " + moment().format("MMMM D, YYYY")), - $(".advance_daterange").daterangepicker({ - format : "MM/DD/YYYY", - startDate : moment().subtract(29, "days"), - endDate : moment(), - dateLimit : { - days: 60 - }, - showDropdowns : !0, - showWeekNumbers : !0, - timePicker : !1, - timePickerIncrement: 1, - timePicker12Hour : !0, - ranges : { - Today : [ moment(), moment() ], - Yesterday : [ moment().subtract(1, "days"), moment().subtract(1, "days") ], - "Last 7 Days" : [ moment().subtract(6, "days"), moment() ], - "Last 30 Days": [ moment().subtract(29, "days"), moment() ], - "This Month" : [ moment().startOf("month"), moment().endOf("month") ], - "Last Month" : [ moment().subtract(1, "month").startOf("month"), moment().subtract(1, "month").endOf("month") ] - }, - opens : "right", - drops : "down", - buttonClasses : [ "btn", "btn-sm" ], - applyClass : "btn-primary", - cancelClass : "btn-default", - separator : " to ", - locale : { - applyLabel : "Submit", - cancelLabel : "Cancel", - fromLabel : "From", - toLabel : "To", - customRangeLabel: "Custom", - daysOfWeek : [ "Su", "Mo", "Tu", "We", "Th", "Fr", "Sa" ], - monthNames : [ "January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December" ], - firstDay : 1 - } - }, function (e, t, a) { - $(".advance_daterange span").html(e.format("MMMM D, YYYY") + " - " + t.format("MMMM D, YYYY")) - }); - }; - $.fn._select2 = function () { - $(".select_2").select2(); - }; - $.fn._select_2_multiple = function () { - $(".select_2_multiple").select2({ - placeholder: "Multiple Select" - }); - }; - $.fn._select_2_search_starts = function () { - $(".select_2_search_starts").select2({ - placeholder: "Search from Starting letter", - matcher : function (params, data) { - if ($.trim(params.term) === '') { - return data; - } - if (data.text.toLowerCase().startsWith(params.term.toLowerCase())) { - var modifiedData = $.extend({}, data, true); - return modifiedData; - } - return null; - } - }); - }; - $.fn._select_2_limit = function () { - $(".select_2_limit").select2({ - placeholder : "Limit Selection", - maximumSelectionLength: 2 - }); - }; - $.fn._select_2_clear = function () { - $(".select_2_clear").select2({ - placeholder: 'Clearable Select', - allowClear : true - }); - }; - $.fn._select_2_hide_search = function () { - $(".select_2_hide_search").select2({ - minimumResultsForSearch: Infinity - }); - }; - $.fn._duallistbox = function () { - $(".duallistbox").bootstrapDualListbox(); - $("#duallistbox").submit(function () { - alert($('[name="duallistbox_demo1[]"]').val()); - return false; - }); - }; - if ($(".date_picker").length > 0) { - $()._datepicker(); - } - if ($(".daterange_picker").length > 0) { - $()._daterange_picker(); - } - if ($(".format_date_picker").length > 0) { - $()._format_date_picker(); - } - if ($(".date_picker_disable_future").length > 0) { - $()._date_picker_disable_future(); - } - if ($(".date_picker_disable_past").length > 0) { - $()._date_picker_disable_past(); - } - if ($(".date_picker_start_view").length > 0) { - $()._date_picker_start_view(); - } - if ($(".date_picker_clear").length > 0) { - $()._date_picker_clear(); - } - if ($(".date_picker_multidate").length > 0) { - $()._date_picker_multidate(); - } - if ($(".date_picker_calendarweeks").length > 0) { - $()._date_picker_calendarweeks(); - } - if ($(".date_inline").length > 0) { - $()._date_inline(); - } - if ($(".date_time_picker").length > 0) { - $()._date_time_picker(); - } - if ($(".time_picker").length > 0) { - $()._time_picker(); - } - if ($(".positioning_time_picker").length > 0) { - $()._positioning_time_picker(); - } - if ($(".date_time_mirror_field").length > 0) { - $()._date_time_mirror_field(); - } - if ($(".date_time_inline").length > 0) { - $()._date_time_inline(); - } - if ($(".date_range_picker").length > 0) { - $()._date_range_picker(); - } - if ($(".advance_daterange").length > 0) { - $()._advance_daterange(); - } - if ($(".select_2").length > 0) { - $()._select2(); - } - if ($(".select_2_multiple").length > 0) { - $()._select_2_multiple(); - } - if ($(".select_2_search_starts").length > 0) { - $()._select_2_search_starts(); - } - if ($(".select_2_limit").length > 0) { - $()._select_2_limit(); - } - if ($(".select_2_clear").length > 0) { - $()._select_2_clear(); - } - if ($(".select_2_hide_search").length > 0) { - $()._select_2_hide_search(); - } - if ($(".duallistbox").length > 0) { - $()._duallistbox(); - } - }, - color_picker : function () { - $("#default").colorpicker(); - $('#cp2').colorpicker(); - $('#format').colorpicker({format: "rgba"}); - $('#horizontal').colorpicker({horizontal: true}); - $('#alpha').colorpicker({useAlpha: false}); - $('#hash').colorpicker({useHashPrefix: false}); - }, - mased_input : function () { - $("#masked-input-date").mask("99/99/9999"); - $("#masked-input-time").mask("99:99:99"); - $("#masked-input-datetime").mask("99/99/9999 99:99:99"); - $("#masked-input-phone").mask("(999) 999-9999"); - $("#masked-input-tid").mask("99-9999999"); - $("#masked-input-ssn").mask("999-99-9999"); - $("#masked-input-pno").mask("aaa-9999-a"); - $("#masked-input-pkey").mask("a*-999-a999"); - $("#masked-input-card").mask("9999-9999-9999-9999"); - $("#masked-input-ip").mask("999.999.999.999"); - }, - auto_complete: function () { - var availableTags = [ - 'ActionScript', - 'AppleScript', - 'Asp', - 'BASIC', - 'C', - 'C++', - 'Clojure', - 'COBOL', - 'ColdFusion', - 'Erlang', - 'Fortran', - 'Groovy', - 'Haskell', - 'Java', - 'JavaScript', - 'Lisp', - 'Perl', - 'PHP', - 'Python', - 'Ruby', - 'Scala', - 'Scheme' - ]; - $('#jquery-autocomplete').autocomplete({ - source: availableTags - }); - }, - clip_board : function () { - var clipboard = new Clipboard('.btn'); - - clipboard.on('success', function (e) { - $(e.trigger).tooltip({ - title : 'Copied', - placement: 'top' - }); - $(e.trigger).tooltip('show'); - setTimeout(function () { - $(e.trigger).tooltip('dispose'); - }, 500); - }); - }, - ion_range : function () { - $('#default_rangeSlider').ionRangeSlider({ - min : 0, - max : 2845, - type : 'double', - prefix : "$", - maxPostfix: "+", - prettify : false, - hasGrid : true - }); - $('#customRange_rangeSlider').ionRangeSlider({ - min : 1000, - max : 100000, - from : 45800, - to : 89546, - type : 'double', - step : 500, - postfix: " $", - hasGrid: true - }); - $('#customValue_rangeSlider').ionRangeSlider({ - values : [ - 'Jan', 'Feb', 'Mar', - 'Apr', 'May', 'Jun', - 'Jul', 'Aug', 'Sep', - 'Oct', 'Nov', 'Dec' - ], - type : 'single', - hasGrid: true - }); - }, - range_slider : function () { - if ($(".input-slider-container")[ 0 ]) { - $('.input-slider-container').each(function () { - - var slider = $(this).find('.input-slider'); - var sliderId = slider.attr('id'); - var minValue = slider.data('range-value-min'); - var maxValue = slider.data('range-value-max'); - - var sliderValue = $(this).find('.range-slider-value'); - var sliderValueId = sliderValue.attr('id'); - var startValue = sliderValue.data('range-value-low'); - - var c = document.getElementById(sliderId), - d = document.getElementById(sliderValueId); - - noUiSlider.create(c, { - start: [ parseInt(startValue) ], - //step: 1000, - range: { - 'min': [ parseInt(minValue) ], - 'max': [ parseInt(maxValue) ] - } - }); - - c.noUiSlider.on('update', function (a, b) { - //alert(b) - d.textContent = a[ b ]; - }); - }) - } - if ($("#input-slider-range")[ 0 ]) { - var c = document.getElementById("input-slider-range"), - d = document.getElementById("input-slider-range-value-low"), - e = document.getElementById("input-slider-range-value-high"), - f = [ d, e ]; - - noUiSlider.create(c, { - start : [ parseInt(d.getAttribute('data-range-value-low')), parseInt(e.getAttribute('data-range-value-high')) ], - connect: !0, - range : { - min: parseInt(c.getAttribute('data-range-value-min')), - max: parseInt(c.getAttribute('data-range-value-max')) - } - }), c.noUiSlider.on("update", function (a, b) { - f[ b ].textContent = a[ b ] - }) - } - }, - tag_input : function () { - var cities = new Bloodhound({ - datumTokenizer: Bloodhound.tokenizers.obj.whitespace('text'), - queryTokenizer: Bloodhound.tokenizers.whitespace, - prefetch : 'assets/plugins/bootstrap-tagsinput/cities.json' - }); - cities.initialize(); - var citynames = new Bloodhound({ - datumTokenizer: Bloodhound.tokenizers.obj.whitespace('name'), - queryTokenizer: Bloodhound.tokenizers.whitespace, - prefetch : { - url : 'assets/plugins/bootstrap-tagsinput/citynames.json', - filter: function (list) { - return $.map(list, function (cityname) { - return {name: cityname}; - }); - } - } - }); - citynames.initialize(); - $('.typeaheadjs').tagsinput({ - typeaheadjs: { - name : 'citynames', - displayKey: 'name', - valueKey : 'name', - source : citynames.ttAdapter() - } - }); - var elt = $('.example_objects_as_tags'); - elt.tagsinput({ - itemValue : 'value', - itemText : 'text', - typeaheadjs: {name: 'cities', displayKey: 'text', source: cities.ttAdapter()} - }); - elt.tagsinput('add', {"value": 1, "text": "Amsterdam", "continent": "Europe"}); - elt.tagsinput('add', {"value": 4, "text": "Washington", "continent": "America"}); - elt.tagsinput('add', {"value": 7, "text": "Sydney", "continent": "Australia"}); - elt.tagsinput('add', {"value": 10, "text": "Beijing", "continent": "Asia"}); - elt.tagsinput('add', {"value": 13, "text": "Cairo", "continent": "Africa"}); - /** Categorizing tags */ var elt = $('.example_tagclass'); - elt.tagsinput({ - tagClass : function (item) { - switch (item.continent) { - case 'Europe': - return 'badge badge-primary'; - case 'America': - return 'badge badge-danger badge-important'; - case 'Australia': - return 'badge badge-primary'; - case 'Africa': - return 'badge badge-purple'; - case 'Asia': - return 'badge badge-warning'; - } - }, - itemValue : 'value', - itemText : 'text', - typeaheadjs: [ {hint: true, highlight: true, minLength: 2}, { - name : 'cities', - displayKey: 'text', - source : cities.ttAdapter() - } ] - }); - elt.tagsinput('add', {"value": 1, "text": "Amsterdam", "continent": "Europe"}); - elt.tagsinput('add', {"value": 4, "text": "Washington", "continent": "America"}); - elt.tagsinput('add', {"value": 7, "text": "Sydney", "continent": "Australia"}); - elt.tagsinput('add', {"value": 10, "text": "Beijing", "continent": "Asia"}); - elt.tagsinput('add', {"value": 13, "text": "Cairo", "continent": "Africa"}); - $(".twitter-typeahead").css('display', 'inline'); - } -}; -window.addEventListener('load', function () { - app.main(); -}); \ No newline at end of file diff --git a/ph3-beta-to-ui3.0-conv/ui3template/assets/js/index.js b/ph3-beta-to-ui3.0-conv/ui3template/assets/js/index.js deleted file mode 100755 index 29b0d817..00000000 --- a/ph3-beta-to-ui3.0-conv/ui3template/assets/js/index.js +++ /dev/null @@ -1,600 +0,0 @@ -var app = { - main : function () { - "use strict"; - app.execute(); - }, - execute: function () { - if ($("#pvrLineChart_1").length) { - var pvrLineChart = $("#pvrLineChart_1"); - var pvrLineGradient = pvrLineChart[ 0 ].getContext('2d').createLinearGradient(0, 0, 0, 200); - pvrLineGradient.addColorStop(0, 'rgba(147,104,233,0.48)'); - pvrLineGradient.addColorStop(1, 'rgba(148, 59, 234, 0.7)'); - var liteLineData = { - labels : [ "January 1", "January 5", "January 10", "January 15", "January 20", "January 25" ], - datasets: [ { - label : "Sold", - fill : true, - lineTension : 0.4, - backgroundColor : pvrLineGradient, - borderColor : "#8f1cad", - borderCapStyle : 'butt', - borderDash : [], - borderDashOffset : 0.0, - borderJoinStyle : 'miter', - pointBorderColor : "#fff", - pointBackgroundColor : "#2a2f37", - pointBorderWidth : 2, - pointHoverRadius : 6, - pointHoverBackgroundColor: "#943BEA", - pointHoverBorderColor : "#fff", - pointHoverBorderWidth : 2, - pointRadius : 4, - pointHitRadius : 5, - data : [ 13, 28, 19, 24, 43, 49 ], - spanGaps : false - } ] - }; - var mypvrLineChart = new Chart(pvrLineChart, { - type : 'line', - data : liteLineData, - options: { - tooltips: {enabled: false}, - legend : {display: false}, - scales : { - xAxes : [ { - display : false, - ticks : {fontSize: '11', fontColor: '#969da5'}, - gridLines: {color: 'rgba(0,0,0,0.0)', zeroLineColor: 'rgba(0,0,0,0.0)'} - } ], yAxes: [ {display: false, ticks: {beginAtZero: true, max: 55}} ] - } - } - }); - } - if ($("#pvrLineChart_2").length) { - var pvrLineChart = $("#pvrLineChart_2"); - var pvrLineGradient = pvrLineChart[ 0 ].getContext('2d').createLinearGradient(0, 0, 0, 200); - pvrLineGradient.addColorStop(0, 'rgba(255, 165, 52,0.48)'); - pvrLineGradient.addColorStop(1, 'rgba(255, 82, 33, 0.7)'); - var liteLineData = { - labels : [ "January 1", "January 5", "January 10", "January 15", "January 20", "January 25" ], - datasets: [ { - label : "Sold", - fill : true, - lineTension : 0.4, - backgroundColor : pvrLineGradient, - borderColor : "#FFA534", - borderCapStyle : 'butt', - borderDash : [], - borderDashOffset : 0.0, - borderJoinStyle : 'miter', - pointBorderColor : "#fff", - pointBackgroundColor : "#2a2f37", - pointBorderWidth : 2, - pointHoverRadius : 6, - pointHoverBackgroundColor: "#FF5221", - pointHoverBorderColor : "#fff", - pointHoverBorderWidth : 2, - pointRadius : 4, - pointHitRadius : 5, - data : [ 13, 28, 39, 24, 43, 19 ], - spanGaps : false - } ] - }; - var mypvrLineChart = new Chart(pvrLineChart, { - type : 'line', - data : liteLineData, - options: { - tooltips: {enabled: false}, - legend : {display: false}, - scales : { - xAxes : [ { - display : false, - ticks : {fontSize: '11', fontColor: '#969da5'}, - gridLines: {color: 'rgba(0,0,0,0.0)', zeroLineColor: 'rgba(0,0,0,0.0)'} - } ], yAxes: [ {display: false, ticks: {beginAtZero: true, max: 55}} ] - } - } - }); - } - if ($("#pvrLineChart_3").length) { - var pvrLineChart = $("#pvrLineChart_3"); - var pvrLineGradient = pvrLineChart[ 0 ].getContext('2d').createLinearGradient(0, 0, 0, 200); - pvrLineGradient.addColorStop(0, 'rgba(135, 203, 22,0.48)'); - pvrLineGradient.addColorStop(1, 'rgba(109, 192, 48, 0.7)'); - var liteLineData = { - labels : [ "January 1", "January 5", "January 10", "January 15", "January 20", "January 25" ], - datasets: [ { - label : "Sold", - fill : true, - lineTension : 0.4, - backgroundColor : pvrLineGradient, - borderColor : "#87CB16", - borderCapStyle : 'butt', - borderDash : [], - borderDashOffset : 0.0, - borderJoinStyle : 'miter', - pointBorderColor : "#fff", - pointBackgroundColor : "#2a2f37", - pointBorderWidth : 2, - pointHoverRadius : 6, - pointHoverBackgroundColor: "#6DC030", - pointHoverBorderColor : "#fff", - pointHoverBorderWidth : 2, - pointRadius : 4, - pointHitRadius : 5, - data : [ 13, 28, 39, 24, 43, 19 ], - spanGaps : false - } ] - }; - var mypvrLineChart = new Chart(pvrLineChart, { - type : 'line', - data : liteLineData, - options: { - tooltips: {enabled: false}, - legend : {display: false}, - scales : { - xAxes : [ { - display : false, - ticks : {fontSize: '11', fontColor: '#969da5'}, - gridLines: {color: 'rgba(0,0,0,0.0)', zeroLineColor: 'rgba(0,0,0,0.0)'} - } ], yAxes: [ {display: false, ticks: {beginAtZero: true, max: 55}} ] - } - } - }); - } - if ($("#pvrLineChart_4").length) { - var pvrLineChart = $("#pvrLineChart_4"); - var pvrLineGradient = pvrLineChart[ 0 ].getContext('2d').createLinearGradient(0, 0, 0, 200); - pvrLineGradient.addColorStop(0, 'rgba(251, 64, 75,0.48)'); - pvrLineGradient.addColorStop(1, 'rgba(251, 102, 110, 0.7)'); - var liteLineData = { - labels : [ "January 1", "January 5", "January 10", "January 15", "January 20", "January 25" ], - datasets: [ { - label : "Sold", - fill : true, - lineTension : 0.4, - backgroundColor : pvrLineGradient, - borderColor : "#FB404B", - borderCapStyle : 'butt', - borderDash : [], - borderDashOffset : 0.0, - borderJoinStyle : 'miter', - pointBorderColor : "#fff", - pointBackgroundColor : "#2a2f37", - pointBorderWidth : 2, - pointHoverRadius : 6, - pointHoverBackgroundColor: "#FB404B", - pointHoverBorderColor : "#fff", - pointHoverBorderWidth : 2, - pointRadius : 4, - pointHitRadius : 5, - data : [ 13, 8, 29, 24, 43, 49 ], - spanGaps : false - } ] - }; - var mypvrLineChart = new Chart(pvrLineChart, { - type : 'line', - data : liteLineData, - options: { - tooltips: {enabled: false}, - legend : {display: false}, - scales : { - xAxes : [ { - display : false, - ticks : {fontSize: '11', fontColor: '#969da5'}, - gridLines: {color: 'rgba(0,0,0,0.0)', zeroLineColor: 'rgba(0,0,0,0.0)'} - } ], yAxes: [ {display: false, ticks: {beginAtZero: true, max: 55}} ] - } - } - }); - } - - var _container = jQuery("#btc_chart"); - if (_container.length > 0) { - let draw = Chart.controllers.line.prototype.draw; - Chart.controllers.line = Chart.controllers.line.extend({ - draw: function () { - draw.apply(this, arguments); - let ctx = this.chart.chart.ctx; - let _stroke = ctx.stroke; - ctx.stroke = function () { - ctx.save(); - ctx.shadowColor = 'rgba(0,0,0,.2)'; - ctx.shadowOffsetX = 0; - ctx.shadowOffsetY = 0; - _stroke.apply(this, arguments) - ctx.restore(); - } - } - }); - - var bar_ctx = document.getElementById('btc_chart').getContext('2d'); - - var purple_orange_gradient = bar_ctx.createLinearGradient(0, 20, 20, 270); - purple_orange_gradient.addColorStop(0, 'rgba(13,169,239,0.7)'); - purple_orange_gradient.addColorStop(1, 'rgba(13,169,239,0.2)'); - - var bar_chart = new Chart(bar_ctx, { - type : 'line', - data : { - labels : [ "Monday", "Thursday", "Wednesday", "Tuesday", "Friday", "Saturday", "Sunday" ], - datasets: [ { - data : [ 4, 8, 10, 11, 17, 15, 18 ], - backgroundColor : purple_orange_gradient, - hoverBackgroundColor: purple_orange_gradient, - borderColor : "rgba(13,169,239,1)", - borderWidth : 3, - } ], - }, - options: { - legend: { - display: false, - }, - scales: { - xAxes: [ { - display : false, - gridLines: { - display: false - } - } ], - yAxes: [ { - display : false, - gridLines: { - display: false - } - } ] - } - } - }); - } - - var _container = jQuery("#round_chart"); - if (_container.length > 0) { - var Dial = function (container) { - this.container = container; - this.size = this.container.dataset.size; - this.strokeWidth = this.size / 8; - this.radius = (this.size / 2) - (this.strokeWidth / 2); - this.value = this.container.dataset.value; - this.direction = this.container.dataset.arrow; - this.svg; - this.defs; - this.slice; - this.overlay; - this.text; - this.arrow; - this.create(); - } - - Dial.prototype.create = function () { - this.createSvg(); - this.createDefs(); - this.createSlice(); - this.createOverlay(); - this.createText(); - this.createArrow(); - this.container.appendChild(this.svg); - }; - - Dial.prototype.createSvg = function () { - var svg = document.createElementNS("http://www.w3.org/2000/svg", "svg"); - svg.setAttribute('width', this.size + 'px'); - svg.setAttribute('height', this.size + 'px'); - this.svg = svg; - }; - - Dial.prototype.createDefs = function () { - var defs = document.createElementNS("http://www.w3.org/2000/svg", "defs"); - var linearGradient = document.createElementNS("http://www.w3.org/2000/svg", "linearGradient"); - linearGradient.setAttribute('id', 'gradient'); - var stop1 = document.createElementNS("http://www.w3.org/2000/svg", "stop"); - stop1.setAttribute('stop-color', '#6E4AE2'); - stop1.setAttribute('offset', '0%'); - linearGradient.appendChild(stop1); - var stop2 = document.createElementNS("http://www.w3.org/2000/svg", "stop"); - stop2.setAttribute('stop-color', '#78F8EC'); - stop2.setAttribute('offset', '100%'); - linearGradient.appendChild(stop2); - var linearGradientBackground = document.createElementNS("http://www.w3.org/2000/svg", "linearGradient"); - linearGradientBackground.setAttribute('id', 'gradient-background'); - var stop1 = document.createElementNS("http://www.w3.org/2000/svg", "stop"); - stop1.setAttribute('stop-color', 'rgba(0, 0, 0, 0.2)'); - stop1.setAttribute('offset', '0%'); - linearGradientBackground.appendChild(stop1); - var stop2 = document.createElementNS("http://www.w3.org/2000/svg", "stop"); - stop2.setAttribute('stop-color', 'rgba(0, 0, 0, 0.05)'); - stop2.setAttribute('offset', '100%'); - linearGradientBackground.appendChild(stop2); - defs.appendChild(linearGradient); - defs.appendChild(linearGradientBackground); - this.svg.appendChild(defs); - this.defs = defs; - }; - - Dial.prototype.createSlice = function () { - var slice = document.createElementNS("http://www.w3.org/2000/svg", "path"); - slice.setAttribute('fill', 'none'); - slice.setAttribute('stroke', 'url(#gradient)'); - slice.setAttribute('stroke-width', this.strokeWidth); - slice.setAttribute('transform', 'translate(' + this.strokeWidth / 2 + ',' + this.strokeWidth / 2 + ')'); - slice.setAttribute('class', 'animate-draw'); - this.svg.appendChild(slice); - this.slice = slice; - }; - - Dial.prototype.createOverlay = function () { - var r = this.size - (this.size / 2) - this.strokeWidth / 2; - var circle = document.createElementNS("http://www.w3.org/2000/svg", "circle"); - circle.setAttribute('cx', this.size / 2); - circle.setAttribute('cy', this.size / 2); - circle.setAttribute('r', r); - circle.setAttribute('fill', 'url(#gradient-background)'); - this.svg.appendChild(circle); - this.overlay = circle; - }; - - Dial.prototype.createText = function () { - var fontSize = this.size / 3.5; - var text = document.createElementNS("http://www.w3.org/2000/svg", "text"); - text.setAttribute('x', (this.size / 2) + fontSize / 7.5); - text.setAttribute('y', (this.size / 2) + fontSize / 4); - text.setAttribute('font-family', 'Century Gothic, Lato'); - text.setAttribute('font-size', fontSize); - text.setAttribute('fill', '#78F8EC'); - text.setAttribute('text-anchor', 'middle'); - var tspanSize = fontSize / 3; - text.innerHTML = 0 + '%'; - this.svg.appendChild(text); - this.text = text; - }; - - Dial.prototype.createArrow = function () { - var arrowSize = this.size / 10; - var arrowYOffset, m; - if (this.direction === 'up') { - arrowYOffset = arrowSize / 2; - m = -1; - } else if (this.direction === 'down') { - arrowYOffset = 0; - m = 1; - } - var arrowPosX = ((this.size / 2) - arrowSize / 2); - var arrowPosY = (this.size - this.size / 3) + arrowYOffset; - var arrowDOffset = m * (arrowSize / 1.5); - var arrow = document.createElementNS("http://www.w3.org/2000/svg", "path"); - arrow.setAttribute('d', 'M 0 0 ' + arrowSize + ' 0 ' + arrowSize / 2 + ' ' + arrowDOffset + ' 0 0 Z'); - arrow.setAttribute('fill', '#97F8F0'); - arrow.setAttribute('opacity', '0.6'); - arrow.setAttribute('transform', 'translate(' + arrowPosX + ',' + arrowPosY + ')'); - this.svg.appendChild(arrow); - this.arrow = arrow; - }; - - Dial.prototype.animateStart = function () { - var v = 0; - var self = this; - var intervalOne = setInterval(function () { - var p = +(v / self.value).toFixed(2); - var a = (p < 0.95) ? 2 - (2 * p) : 0.05; - v += a; - // Stop - if (v >= +self.value) { - v = self.value; - clearInterval(intervalOne); - } - self.setValue(v); - }, 10); - }; - - Dial.prototype.animateReset = function () { - this.setValue(0); - }; - - Dial.prototype.polarToCartesian = function (centerX, centerY, radius, angleInDegrees) { - var angleInRadians = (angleInDegrees - 90) * Math.PI / 180.0; - return { - x: centerX + (radius * Math.cos(angleInRadians)), - y: centerY + (radius * Math.sin(angleInRadians)) - }; - } - - Dial.prototype.describeArc = function (x, y, radius, startAngle, endAngle) { - var start = this.polarToCartesian(x, y, radius, endAngle); - var end = this.polarToCartesian(x, y, radius, startAngle); - var largeArcFlag = endAngle - startAngle <= 180 ? "0" : "1"; - var d = [ - "M", start.x, start.y, - "A", radius, radius, 0, largeArcFlag, 0, end.x, end.y - ].join(" "); - return d; - } - - Dial.prototype.setValue = function (value) { - var c = (value / 100) * 360; - if (c === 360) - c = 359.99; - var xy = this.size / 2 - this.strokeWidth / 2; - var d = this.describeArc(xy, xy, xy, 180, 180 + c); - this.slice.setAttribute('d', d); - var tspanSize = (this.size / 3.5) / 3; - this.text.innerHTML = Math.floor(value) + '%'; - }; - - var containers = document.getElementById("round_chart"); - var dial = new Dial(containers); - dial.animateStart(); - } - - if ($("#chartdiv_map").length !== 0) { - var targetSVG = "M9,0C4.029,0,0,4.029,0,9s4.029,9,9,9s9-4.029,9-9S13.971,0,9,0z M9,15.93 c-3.83,0-6.93-3.1-6.93-6.93S5.17,2.07,9,2.07s6.93,3.1,6.93,6.93S12.83,15.93,9,15.93 M12.5,9c0,1.933-1.567,3.5-3.5,3.5S5.5,10.933,5.5,9S7.067,5.5,9,5.5 S12.5,7.067,12.5,9z"; - var planeSVG = "m2,106h28l24,30h72l-44,-133h35l80,132h98c21,0 21,34 0,34l-98,0 -80,134h-35l43,-133h-71l-24,30h-28l15,-47"; - var map = AmCharts.makeChart("chartdiv_map", { - "type" : "map", - "theme" : "none", - "dataProvider" : { - "map" : "worldLow", - "zoomLevel" : 3.0, - "zoomLongitude": -75, - "zoomLatitude" : 42, - "lines" : [ { - "id" : "line1", - "arc" : -0.85, - "alpha" : 0.3, - "latitudes" : [ 48.8567, 43.8163, 34.3, 23 ], - "longitudes": [ 2.3510, -79.4287, -118.15, -82 ] - }, { - "id" : "line2", - "alpha" : 0, - "color" : "#000000", - "latitudes" : [ 48.8567, 43.8163, 34.3, 23 ], - "longitudes": [ 2.3510, -79.4287, -118.15, -82 ] - } ], - "images" : [ { - "svgPath" : targetSVG, - "title" : "Paris", - "latitude" : 48.8567, - "longitude": 2.3510 - }, { - "svgPath" : targetSVG, - "title" : "Toronto", - "latitude" : 43.8163, - "longitude": -79.4287 - }, { - "svgPath" : targetSVG, - "title" : "Los Angeles", - "latitude" : 34.3, - "longitude": -118.15 - }, {"svgPath": targetSVG, "title": "Havana", "latitude": 23, "longitude": -82}, { - "svgPath" : planeSVG, - "positionOnLine" : 0, - "color" : "#000000", - "alpha" : 0.1, - "animateAlongLine": true, - "lineId" : "line2", - "flipDirection" : true, - "loop" : true, - "scale" : 0.03, - "positionScale" : 1.3 - }, { - "svgPath" : planeSVG, - "positionOnLine" : 0, - "color" : "#585869", - "animateAlongLine": true, - "lineId" : "line1", - "flipDirection" : true, - "loop" : true, - "scale" : 0.03, - "positionScale" : 1.8 - } ] - }, - "areasSettings" : {"unlistedAreasColor": "#8dd9ef"}, - "imagesSettings": { - "color" : "#585869", - "rollOverColor" : "#585869", - "selectedColor" : "#585869", - "pauseDuration" : 0.2, - "animationDuration" : 2.5, - "adjustAnimationSpeed": true - }, - "linesSettings" : {"color": "#585869", "alpha": 0.4}, - "export" : {"enabled": true} - }); - } - - var _container = jQuery(".popup_chat"); - if (_container.length > 0) { - var count = 0; - var classes = [ "theme_1", "theme_2", "theme_3", "theme_4" ]; - var length = classes.length; - $(function () { - $('.app_chat_button, .pvr_chat_cnt .chat-close').on('click', function () { - $('.pvr_chat_cnt').toggleClass('active'); - return false; - }); - - $('.message-input').on('keypress', function (e) { - if (e.which == 13) { - var val = ($(this).val() !== '') ? $(this).val() : "Lorem Ipsum is simply dummy text of the printing."; - $('.chat-messages').append('
            ' + val + '
            '); - $(this).val(''); - setTimeout(function () { - $('.chat-messages').append('
            ' + val + '
            '); - $messages_w.scrollTop($messages_w.prop("scrollHeight")); - $messages_w.perfectScrollbar('update'); - }, 200) - var $messages_w = $('.pvr_chat_cnt .chat-messages'); - $messages_w.scrollTop($messages_w.prop("scrollHeight")); - $messages_w.perfectScrollbar('update'); - return false; - } - }); - - $('.pvr_chat_cnt .chat-messages').perfectScrollbar(); - App.place_holder("message-input", [ 'Type your message here...', 'Press Enter to Send Message...' ], false) - - $(".change_chat_theme").on('click', function () { - $(".chat-messages").removeAttr("class").addClass("chat-messages " + classes[ count ]); - if (parseInt(count, 10) === parseInt(length, 10) - 1) { - count = 0; - } else { - count = parseInt(count, 10) + 1; - } - var $messages_w = $('.pvr_chat_cnt .chat-messages'); - $messages_w.scrollTop($messages_w.prop("scrollHeight")); - $messages_w.perfectScrollbar('update'); - }); - - setTimeout(function () { -// $('.pvr_chat_cnt').addClass('active') - }, 2500) - }); - } - }, -}; -window.addEventListener('load', function () { - app.main(); - - var sec = 0; - - function pad(val) { - return val > 9 ? val : "0" + val; - } - - setInterval(function () { - document.getElementById("seconds").innerHTML = pad(++sec % 60); - document.getElementById("minutes").innerHTML = pad(parseInt(sec / 60, 10)); - }, 1000); - - function prtime() { - var hours = new Date().getHours(); - var seconds = new Date().getSeconds(); - var minutes = new Date().getMinutes(); - $('#hr').text((hours < 10 ? '0' : '') + hours); - $('#min').text((minutes < 10 ? '0' : '') + minutes); - $('#sec').text((seconds < 10 ? '0' : '') + seconds); - } - - function second_passed() { - $('.clock').removeClass('is-off'); - } - - setTimeout(second_passed, 2000) - - $('.switcher').on('click', function (e) { - e.preventDefault(); - $('.screen').toggleClass('glitch'); - }); - - var newDate = new Date(); - newDate.setDate(newDate.getDate()); - - prtime(); - setInterval(function () { - prtime() - }, 1000); - - setInterval(function () { - var millisecond = new Date().getMilliseconds(); - $("#milli").text(millisecond) - }, 0.001); -}); \ No newline at end of file diff --git a/ph3-beta-to-ui3.0-conv/ui3template/assets/js/jquery-1.10.2.js b/ph3-beta-to-ui3.0-conv/ui3template/assets/js/jquery-1.10.2.js deleted file mode 100644 index 8a1ab4b1..00000000 --- a/ph3-beta-to-ui3.0-conv/ui3template/assets/js/jquery-1.10.2.js +++ /dev/null @@ -1,9776 +0,0 @@ -(function( window, undefined ) { - -// Can't do this because several apps including ASP.NET trace -// the stack via arguments.caller.callee and Firefox dies if -// you try to trace through "use strict" call chains. (#13335) -// Support: Firefox 18+ -//"use strict"; -var - // The deferred used on DOM ready - readyList, - - // A central reference to the root jQuery(document) - rootjQuery, - - // Support: IE<10 - // For `typeof xmlNode.method` instead of `xmlNode.method !== undefined` - core_strundefined = typeof undefined, - - // Use the correct document accordingly with window argument (sandbox) - location = window.location, - document = window.document, - docElem = document.documentElement, - - // Map over jQuery in case of overwrite - _jQuery = window.jQuery, - - // Map over the $ in case of overwrite - _$ = window.$, - - // [[Class]] -> type pairs - class2type = {}, - - // List of deleted data cache ids, so we can reuse them - core_deletedIds = [], - - core_version = "1.10.2", - - // Save a reference to some core methods - core_concat = core_deletedIds.concat, - core_push = core_deletedIds.push, - core_slice = core_deletedIds.slice, - core_indexOf = core_deletedIds.indexOf, - core_toString = class2type.toString, - core_hasOwn = class2type.hasOwnProperty, - core_trim = core_version.trim, - - // Define a local copy of jQuery - jQuery = function( selector, context ) { - // The jQuery object is actually just the init constructor 'enhanced' - return new jQuery.fn.init( selector, context, rootjQuery ); - }, - - // Used for matching numbers - core_pnum = /[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source, - - // Used for splitting on whitespace - core_rnotwhite = /\S+/g, - - // Make sure we trim BOM and NBSP (here's looking at you, Safari 5.0 and IE) - rtrim = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, - - // A simple way to check for HTML strings - // Prioritize #id over to avoid XSS via location.hash (#9521) - // Strict HTML recognition (#11290: must start with <) - rquickExpr = /^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/, - - // Match a standalone tag - rsingleTag = /^<(\w+)\s*\/?>(?:<\/\1>|)$/, - - // JSON RegExp - rvalidchars = /^[\],:{}\s]*$/, - rvalidbraces = /(?:^|:|,)(?:\s*\[)+/g, - rvalidescape = /\\(?:["\\\/bfnrt]|u[\da-fA-F]{4})/g, - rvalidtokens = /"[^"\\\r\n]*"|true|false|null|-?(?:\d+\.|)\d+(?:[eE][+-]?\d+|)/g, - - // Matches dashed string for camelizing - rmsPrefix = /^-ms-/, - rdashAlpha = /-([\da-z])/gi, - - // Used by jQuery.camelCase as callback to replace() - fcamelCase = function( all, letter ) { - return letter.toUpperCase(); - }, - - // The ready event handler - completed = function( event ) { - - // readyState === "complete" is good enough for us to call the dom ready in oldIE - if ( document.addEventListener || event.type === "load" || document.readyState === "complete" ) { - detach(); - jQuery.ready(); - } - }, - // Clean-up method for dom ready events - detach = function() { - if ( document.addEventListener ) { - document.removeEventListener( "DOMContentLoaded", completed, false ); - window.removeEventListener( "load", completed, false ); - - } else { - document.detachEvent( "onreadystatechange", completed ); - window.detachEvent( "onload", completed ); - } - }; - -jQuery.fn = jQuery.prototype = { - // The current version of jQuery being used - jquery: core_version, - - constructor: jQuery, - init: function( selector, context, rootjQuery ) { - var match, elem; - - // HANDLE: $(""), $(null), $(undefined), $(false) - if ( !selector ) { - return this; - } - - // Handle HTML strings - if ( typeof selector === "string" ) { - if ( selector.charAt(0) === "<" && selector.charAt( selector.length - 1 ) === ">" && selector.length >= 3 ) { - // Assume that strings that start and end with <> are HTML and skip the regex check - match = [ null, selector, null ]; - - } else { - match = rquickExpr.exec( selector ); - } - - // Match html or make sure no context is specified for #id - if ( match && (match[1] || !context) ) { - - // HANDLE: $(html) -> $(array) - if ( match[1] ) { - context = context instanceof jQuery ? context[0] : context; - - // scripts is true for back-compat - jQuery.merge( this, jQuery.parseHTML( - match[1], - context && context.nodeType ? context.ownerDocument || context : document, - true - ) ); - - // HANDLE: $(html, props) - if ( rsingleTag.test( match[1] ) && jQuery.isPlainObject( context ) ) { - for ( match in context ) { - // Properties of context are called as methods if possible - if ( jQuery.isFunction( this[ match ] ) ) { - this[ match ]( context[ match ] ); - - // ...and otherwise set as attributes - } else { - this.attr( match, context[ match ] ); - } - } - } - - return this; - - // HANDLE: $(#id) - } else { - elem = document.getElementById( match[2] ); - - // Check parentNode to catch when Blackberry 4.6 returns - // nodes that are no longer in the document #6963 - if ( elem && elem.parentNode ) { - // Handle the case where IE and Opera return items - // by name instead of ID - if ( elem.id !== match[2] ) { - return rootjQuery.find( selector ); - } - - // Otherwise, we inject the element directly into the jQuery object - this.length = 1; - this[0] = elem; - } - - this.context = document; - this.selector = selector; - return this; - } - - // HANDLE: $(expr, $(...)) - } else if ( !context || context.jquery ) { - return ( context || rootjQuery ).find( selector ); - - // HANDLE: $(expr, context) - // (which is just equivalent to: $(context).find(expr) - } else { - return this.constructor( context ).find( selector ); - } - - // HANDLE: $(DOMElement) - } else if ( selector.nodeType ) { - this.context = this[0] = selector; - this.length = 1; - return this; - - // HANDLE: $(function) - // Shortcut for document ready - } else if ( jQuery.isFunction( selector ) ) { - return rootjQuery.ready( selector ); - } - - if ( selector.selector !== undefined ) { - this.selector = selector.selector; - this.context = selector.context; - } - - return jQuery.makeArray( selector, this ); - }, - - // Start with an empty selector - selector: "", - - // The default length of a jQuery object is 0 - length: 0, - - toArray: function() { - return core_slice.call( this ); - }, - - // Get the Nth element in the matched element set OR - // Get the whole matched element set as a clean array - get: function( num ) { - return num == null ? - - // Return a 'clean' array - this.toArray() : - - // Return just the object - ( num < 0 ? this[ this.length + num ] : this[ num ] ); - }, - - // Take an array of elements and push it onto the stack - // (returning the new matched element set) - pushStack: function( elems ) { - - // Build a new jQuery matched element set - var ret = jQuery.merge( this.constructor(), elems ); - - // Add the old object onto the stack (as a reference) - ret.prevObject = this; - ret.context = this.context; - - // Return the newly-formed element set - return ret; - }, - - // Execute a callback for every element in the matched set. - // (You can seed the arguments with an array of args, but this is - // only used internally.) - each: function( callback, args ) { - return jQuery.each( this, callback, args ); - }, - - ready: function( fn ) { - // Add the callback - jQuery.ready.promise().done( fn ); - - return this; - }, - - slice: function() { - return this.pushStack( core_slice.apply( this, arguments ) ); - }, - - first: function() { - return this.eq( 0 ); - }, - - last: function() { - return this.eq( -1 ); - }, - - eq: function( i ) { - var len = this.length, - j = +i + ( i < 0 ? len : 0 ); - return this.pushStack( j >= 0 && j < len ? [ this[j] ] : [] ); - }, - - map: function( callback ) { - return this.pushStack( jQuery.map(this, function( elem, i ) { - return callback.call( elem, i, elem ); - })); - }, - - end: function() { - return this.prevObject || this.constructor(null); - }, - - // For internal use only. - // Behaves like an Array's method, not like a jQuery method. - push: core_push, - sort: [].sort, - splice: [].splice -}; - -// Give the init function the jQuery prototype for later instantiation -jQuery.fn.init.prototype = jQuery.fn; - -jQuery.extend = jQuery.fn.extend = function() { - var src, copyIsArray, copy, name, options, clone, - target = arguments[0] || {}, - i = 1, - length = arguments.length, - deep = false; - - // Handle a deep copy situation - if ( typeof target === "boolean" ) { - deep = target; - target = arguments[1] || {}; - // skip the boolean and the target - i = 2; - } - - // Handle case when target is a string or something (possible in deep copy) - if ( typeof target !== "object" && !jQuery.isFunction(target) ) { - target = {}; - } - - // extend jQuery itself if only one argument is passed - if ( length === i ) { - target = this; - --i; - } - - for ( ; i < length; i++ ) { - // Only deal with non-null/undefined values - if ( (options = arguments[ i ]) != null ) { - // Extend the base object - for ( name in options ) { - src = target[ name ]; - copy = options[ name ]; - - // Prevent never-ending loop - if ( target === copy ) { - continue; - } - - // Recurse if we're merging plain objects or arrays - if ( deep && copy && ( jQuery.isPlainObject(copy) || (copyIsArray = jQuery.isArray(copy)) ) ) { - if ( copyIsArray ) { - copyIsArray = false; - clone = src && jQuery.isArray(src) ? src : []; - - } else { - clone = src && jQuery.isPlainObject(src) ? src : {}; - } - - // Never move original objects, clone them - target[ name ] = jQuery.extend( deep, clone, copy ); - - // Don't bring in undefined values - } else if ( copy !== undefined ) { - target[ name ] = copy; - } - } - } - } - - // Return the modified object - return target; -}; - -jQuery.extend({ - // Unique for each copy of jQuery on the page - // Non-digits removed to match rinlinejQuery - expando: "jQuery" + ( core_version + Math.random() ).replace( /\D/g, "" ), - - noConflict: function( deep ) { - if ( window.$ === jQuery ) { - window.$ = _$; - } - - if ( deep && window.jQuery === jQuery ) { - window.jQuery = _jQuery; - } - - return jQuery; - }, - - // Is the DOM ready to be used? Set to true once it occurs. - isReady: false, - - // A counter to track how many items to wait for before - // the ready event fires. See #6781 - readyWait: 1, - - // Hold (or release) the ready event - holdReady: function( hold ) { - if ( hold ) { - jQuery.readyWait++; - } else { - jQuery.ready( true ); - } - }, - - // Handle when the DOM is ready - ready: function( wait ) { - - // Abort if there are pending holds or we're already ready - if ( wait === true ? --jQuery.readyWait : jQuery.isReady ) { - return; - } - - // Make sure body exists, at least, in case IE gets a little overzealous (ticket #5443). - if ( !document.body ) { - return setTimeout( jQuery.ready ); - } - - // Remember that the DOM is ready - jQuery.isReady = true; - - // If a normal DOM Ready event fired, decrement, and wait if need be - if ( wait !== true && --jQuery.readyWait > 0 ) { - return; - } - - // If there are functions bound, to execute - readyList.resolveWith( document, [ jQuery ] ); - - // Trigger any bound ready events - if ( jQuery.fn.trigger ) { - jQuery( document ).trigger("ready").off("ready"); - } - }, - - // See test/unit/core.js for details concerning isFunction. - // Since version 1.3, DOM methods and functions like alert - // aren't supported. They return false on IE (#2968). - isFunction: function( obj ) { - return jQuery.type(obj) === "function"; - }, - - isArray: Array.isArray || function( obj ) { - return jQuery.type(obj) === "array"; - }, - - isWindow: function( obj ) { - /* jshint eqeqeq: false */ - return obj != null && obj == obj.window; - }, - - isNumeric: function( obj ) { - return !isNaN( parseFloat(obj) ) && isFinite( obj ); - }, - - type: function( obj ) { - if ( obj == null ) { - return String( obj ); - } - return typeof obj === "object" || typeof obj === "function" ? - class2type[ core_toString.call(obj) ] || "object" : - typeof obj; - }, - - isPlainObject: function( obj ) { - var key; - - // Must be an Object. - // Because of IE, we also have to check the presence of the constructor property. - // Make sure that DOM nodes and window objects don't pass through, as well - if ( !obj || jQuery.type(obj) !== "object" || obj.nodeType || jQuery.isWindow( obj ) ) { - return false; - } - - try { - // Not own constructor property must be Object - if ( obj.constructor && - !core_hasOwn.call(obj, "constructor") && - !core_hasOwn.call(obj.constructor.prototype, "isPrototypeOf") ) { - return false; - } - } catch ( e ) { - // IE8,9 Will throw exceptions on certain host objects #9897 - return false; - } - - // Support: IE<9 - // Handle iteration over inherited properties before own properties. - if ( jQuery.support.ownLast ) { - for ( key in obj ) { - return core_hasOwn.call( obj, key ); - } - } - - // Own properties are enumerated firstly, so to speed up, - // if last one is own, then all properties are own. - for ( key in obj ) {} - - return key === undefined || core_hasOwn.call( obj, key ); - }, - - isEmptyObject: function( obj ) { - var name; - for ( name in obj ) { - return false; - } - return true; - }, - - error: function( msg ) { - throw new Error( msg ); - }, - - // data: string of html - // context (optional): If specified, the fragment will be created in this context, defaults to document - // keepScripts (optional): If true, will include scripts passed in the html string - parseHTML: function( data, context, keepScripts ) { - if ( !data || typeof data !== "string" ) { - return null; - } - if ( typeof context === "boolean" ) { - keepScripts = context; - context = false; - } - context = context || document; - - var parsed = rsingleTag.exec( data ), - scripts = !keepScripts && []; - - // Single tag - if ( parsed ) { - return [ context.createElement( parsed[1] ) ]; - } - - parsed = jQuery.buildFragment( [ data ], context, scripts ); - if ( scripts ) { - jQuery( scripts ).remove(); - } - return jQuery.merge( [], parsed.childNodes ); - }, - - parseJSON: function( data ) { - // Attempt to parse using the native JSON parser first - if ( window.JSON && window.JSON.parse ) { - return window.JSON.parse( data ); - } - - if ( data === null ) { - return data; - } - - if ( typeof data === "string" ) { - - // Make sure leading/trailing whitespace is removed (IE can't handle it) - data = jQuery.trim( data ); - - if ( data ) { - // Make sure the incoming data is actual JSON - // Logic borrowed from http://json.org/json2.js - if ( rvalidchars.test( data.replace( rvalidescape, "@" ) - .replace( rvalidtokens, "]" ) - .replace( rvalidbraces, "")) ) { - - return ( new Function( "return " + data ) )(); - } - } - } - - jQuery.error( "Invalid JSON: " + data ); - }, - - // Cross-browser xml parsing - parseXML: function( data ) { - var xml, tmp; - if ( !data || typeof data !== "string" ) { - return null; - } - try { - if ( window.DOMParser ) { // Standard - tmp = new DOMParser(); - xml = tmp.parseFromString( data , "text/xml" ); - } else { // IE - xml = new ActiveXObject( "Microsoft.XMLDOM" ); - xml.async = "false"; - xml.loadXML( data ); - } - } catch( e ) { - xml = undefined; - } - if ( !xml || !xml.documentElement || xml.getElementsByTagName( "parsererror" ).length ) { - jQuery.error( "Invalid XML: " + data ); - } - return xml; - }, - - noop: function() {}, - - // Evaluates a script in a global context - // Workarounds based on findings by Jim Driscoll - // http://weblogs.java.net/blog/driscoll/archive/2009/09/08/eval-javascript-global-context - globalEval: function( data ) { - if ( data && jQuery.trim( data ) ) { - // We use execScript on Internet Explorer - // We use an anonymous function so that context is window - // rather than jQuery in Firefox - ( window.execScript || function( data ) { - window[ "eval" ].call( window, data ); - } )( data ); - } - }, - - // Convert dashed to camelCase; used by the css and data modules - // Microsoft forgot to hump their vendor prefix (#9572) - camelCase: function( string ) { - return string.replace( rmsPrefix, "ms-" ).replace( rdashAlpha, fcamelCase ); - }, - - nodeName: function( elem, name ) { - return elem.nodeName && elem.nodeName.toLowerCase() === name.toLowerCase(); - }, - - // args is for internal usage only - each: function( obj, callback, args ) { - var value, - i = 0, - length = obj.length, - isArray = isArraylike( obj ); - - if ( args ) { - if ( isArray ) { - for ( ; i < length; i++ ) { - value = callback.apply( obj[ i ], args ); - - if ( value === false ) { - break; - } - } - } else { - for ( i in obj ) { - value = callback.apply( obj[ i ], args ); - - if ( value === false ) { - break; - } - } - } - - // A special, fast, case for the most common use of each - } else { - if ( isArray ) { - for ( ; i < length; i++ ) { - value = callback.call( obj[ i ], i, obj[ i ] ); - - if ( value === false ) { - break; - } - } - } else { - for ( i in obj ) { - value = callback.call( obj[ i ], i, obj[ i ] ); - - if ( value === false ) { - break; - } - } - } - } - - return obj; - }, - - // Use native String.trim function wherever possible - trim: core_trim && !core_trim.call("\uFEFF\xA0") ? - function( text ) { - return text == null ? - "" : - core_trim.call( text ); - } : - - // Otherwise use our own trimming functionality - function( text ) { - return text == null ? - "" : - ( text + "" ).replace( rtrim, "" ); - }, - - // results is for internal usage only - makeArray: function( arr, results ) { - var ret = results || []; - - if ( arr != null ) { - if ( isArraylike( Object(arr) ) ) { - jQuery.merge( ret, - typeof arr === "string" ? - [ arr ] : arr - ); - } else { - core_push.call( ret, arr ); - } - } - - return ret; - }, - - inArray: function( elem, arr, i ) { - var len; - - if ( arr ) { - if ( core_indexOf ) { - return core_indexOf.call( arr, elem, i ); - } - - len = arr.length; - i = i ? i < 0 ? Math.max( 0, len + i ) : i : 0; - - for ( ; i < len; i++ ) { - // Skip accessing in sparse arrays - if ( i in arr && arr[ i ] === elem ) { - return i; - } - } - } - - return -1; - }, - - merge: function( first, second ) { - var l = second.length, - i = first.length, - j = 0; - - if ( typeof l === "number" ) { - for ( ; j < l; j++ ) { - first[ i++ ] = second[ j ]; - } - } else { - while ( second[j] !== undefined ) { - first[ i++ ] = second[ j++ ]; - } - } - - first.length = i; - - return first; - }, - - grep: function( elems, callback, inv ) { - var retVal, - ret = [], - i = 0, - length = elems.length; - inv = !!inv; - - // Go through the array, only saving the items - // that pass the validator function - for ( ; i < length; i++ ) { - retVal = !!callback( elems[ i ], i ); - if ( inv !== retVal ) { - ret.push( elems[ i ] ); - } - } - - return ret; - }, - - // arg is for internal usage only - map: function( elems, callback, arg ) { - var value, - i = 0, - length = elems.length, - isArray = isArraylike( elems ), - ret = []; - - // Go through the array, translating each of the items to their - if ( isArray ) { - for ( ; i < length; i++ ) { - value = callback( elems[ i ], i, arg ); - - if ( value != null ) { - ret[ ret.length ] = value; - } - } - - // Go through every key on the object, - } else { - for ( i in elems ) { - value = callback( elems[ i ], i, arg ); - - if ( value != null ) { - ret[ ret.length ] = value; - } - } - } - - // Flatten any nested arrays - return core_concat.apply( [], ret ); - }, - - // A global GUID counter for objects - guid: 1, - - // Bind a function to a context, optionally partially applying any - // arguments. - proxy: function( fn, context ) { - var args, proxy, tmp; - - if ( typeof context === "string" ) { - tmp = fn[ context ]; - context = fn; - fn = tmp; - } - - // Quick check to determine if target is callable, in the spec - // this throws a TypeError, but we will just return undefined. - if ( !jQuery.isFunction( fn ) ) { - return undefined; - } - - // Simulated bind - args = core_slice.call( arguments, 2 ); - proxy = function() { - return fn.apply( context || this, args.concat( core_slice.call( arguments ) ) ); - }; - - // Set the guid of unique handler to the same of original handler, so it can be removed - proxy.guid = fn.guid = fn.guid || jQuery.guid++; - - return proxy; - }, - - // Multifunctional method to get and set values of a collection - // The value/s can optionally be executed if it's a function - access: function( elems, fn, key, value, chainable, emptyGet, raw ) { - var i = 0, - length = elems.length, - bulk = key == null; - - // Sets many values - if ( jQuery.type( key ) === "object" ) { - chainable = true; - for ( i in key ) { - jQuery.access( elems, fn, i, key[i], true, emptyGet, raw ); - } - - // Sets one value - } else if ( value !== undefined ) { - chainable = true; - - if ( !jQuery.isFunction( value ) ) { - raw = true; - } - - if ( bulk ) { - // Bulk operations run against the entire set - if ( raw ) { - fn.call( elems, value ); - fn = null; - - // ...except when executing function values - } else { - bulk = fn; - fn = function( elem, key, value ) { - return bulk.call( jQuery( elem ), value ); - }; - } - } - - if ( fn ) { - for ( ; i < length; i++ ) { - fn( elems[i], key, raw ? value : value.call( elems[i], i, fn( elems[i], key ) ) ); - } - } - } - - return chainable ? - elems : - - // Gets - bulk ? - fn.call( elems ) : - length ? fn( elems[0], key ) : emptyGet; - }, - - now: function() { - return ( new Date() ).getTime(); - }, - - // A method for quickly swapping in/out CSS properties to get correct calculations. - // Note: this method belongs to the css module but it's needed here for the support module. - // If support gets modularized, this method should be moved back to the css module. - swap: function( elem, options, callback, args ) { - var ret, name, - old = {}; - - // Remember the old values, and insert the new ones - for ( name in options ) { - old[ name ] = elem.style[ name ]; - elem.style[ name ] = options[ name ]; - } - - ret = callback.apply( elem, args || [] ); - - // Revert the old values - for ( name in options ) { - elem.style[ name ] = old[ name ]; - } - - return ret; - } -}); - -jQuery.ready.promise = function( obj ) { - if ( !readyList ) { - - readyList = jQuery.Deferred(); - - // Catch cases where $(document).ready() is called after the browser event has already occurred. - // we once tried to use readyState "interactive" here, but it caused issues like the one - // discovered by ChrisS here: http://bugs.jquery.com/ticket/12282#comment:15 - if ( document.readyState === "complete" ) { - // Handle it asynchronously to allow scripts the opportunity to delay ready - setTimeout( jQuery.ready ); - - // Standards-based browsers support DOMContentLoaded - } else if ( document.addEventListener ) { - // Use the handy event callback - document.addEventListener( "DOMContentLoaded", completed, false ); - - // A fallback to window.onload, that will always work - window.addEventListener( "load", completed, false ); - - // If IE event model is used - } else { - // Ensure firing before onload, maybe late but safe also for iframes - document.attachEvent( "onreadystatechange", completed ); - - // A fallback to window.onload, that will always work - window.attachEvent( "onload", completed ); - - // If IE and not a frame - // continually check to see if the document is ready - var top = false; - - try { - top = window.frameElement == null && document.documentElement; - } catch(e) {} - - if ( top && top.doScroll ) { - (function doScrollCheck() { - if ( !jQuery.isReady ) { - - try { - // Use the trick by Diego Perini - // http://javascript.nwbox.com/IEContentLoaded/ - top.doScroll("left"); - } catch(e) { - return setTimeout( doScrollCheck, 50 ); - } - - // detach all dom ready events - detach(); - - // and execute any waiting functions - jQuery.ready(); - } - })(); - } - } - } - return readyList.promise( obj ); -}; - -// Populate the class2type map -jQuery.each("Boolean Number String Function Array Date RegExp Object Error".split(" "), function(i, name) { - class2type[ "[object " + name + "]" ] = name.toLowerCase(); -}); - -function isArraylike( obj ) { - var length = obj.length, - type = jQuery.type( obj ); - - if ( jQuery.isWindow( obj ) ) { - return false; - } - - if ( obj.nodeType === 1 && length ) { - return true; - } - - return type === "array" || type !== "function" && - ( length === 0 || - typeof length === "number" && length > 0 && ( length - 1 ) in obj ); -} - -// All jQuery objects should point back to these -rootjQuery = jQuery(document); -/*! - * Sizzle CSS Selector Engine v1.10.2 - * http://sizzlejs.com/ - * - * Copyright 2013 jQuery Foundation, Inc. and other contributors - * Released under the MIT license - * http://jquery.org/license - * - * Date: 2013-07-03 - */ -(function( window, undefined ) { - -var i, - support, - cachedruns, - Expr, - getText, - isXML, - compile, - outermostContext, - sortInput, - - // Local document vars - setDocument, - document, - docElem, - documentIsHTML, - rbuggyQSA, - rbuggyMatches, - matches, - contains, - - // Instance-specific data - expando = "sizzle" + -(new Date()), - preferredDoc = window.document, - dirruns = 0, - done = 0, - classCache = createCache(), - tokenCache = createCache(), - compilerCache = createCache(), - hasDuplicate = false, - sortOrder = function( a, b ) { - if ( a === b ) { - hasDuplicate = true; - return 0; - } - return 0; - }, - - // General-purpose constants - strundefined = typeof undefined, - MAX_NEGATIVE = 1 << 31, - - // Instance methods - hasOwn = ({}).hasOwnProperty, - arr = [], - pop = arr.pop, - push_native = arr.push, - push = arr.push, - slice = arr.slice, - // Use a stripped-down indexOf if we can't use a native one - indexOf = arr.indexOf || function( elem ) { - var i = 0, - len = this.length; - for ( ; i < len; i++ ) { - if ( this[i] === elem ) { - return i; - } - } - return -1; - }, - - booleans = "checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped", - - // Regular expressions - - // Whitespace characters http://www.w3.org/TR/css3-selectors/#whitespace - whitespace = "[\\x20\\t\\r\\n\\f]", - // http://www.w3.org/TR/css3-syntax/#characters - characterEncoding = "(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+", - - // Loosely modeled on CSS identifier characters - // An unquoted value should be a CSS identifier http://www.w3.org/TR/css3-selectors/#attribute-selectors - // Proper syntax: http://www.w3.org/TR/CSS21/syndata.html#value-def-identifier - identifier = characterEncoding.replace( "w", "w#" ), - - // Acceptable operators http://www.w3.org/TR/selectors/#attribute-selectors - attributes = "\\[" + whitespace + "*(" + characterEncoding + ")" + whitespace + - "*(?:([*^$|!~]?=)" + whitespace + "*(?:(['\"])((?:\\\\.|[^\\\\])*?)\\3|(" + identifier + ")|)|)" + whitespace + "*\\]", - - // Prefer arguments quoted, - // then not containing pseudos/brackets, - // then attribute selectors/non-parenthetical expressions, - // then anything else - // These preferences are here to reduce the number of selectors - // needing tokenize in the PSEUDO preFilter - pseudos = ":(" + characterEncoding + ")(?:\\(((['\"])((?:\\\\.|[^\\\\])*?)\\3|((?:\\\\.|[^\\\\()[\\]]|" + attributes.replace( 3, 8 ) + ")*)|.*)\\)|)", - - // Leading and non-escaped trailing whitespace, capturing some non-whitespace characters preceding the latter - rtrim = new RegExp( "^" + whitespace + "+|((?:^|[^\\\\])(?:\\\\.)*)" + whitespace + "+$", "g" ), - - rcomma = new RegExp( "^" + whitespace + "*," + whitespace + "*" ), - rcombinators = new RegExp( "^" + whitespace + "*([>+~]|" + whitespace + ")" + whitespace + "*" ), - - rsibling = new RegExp( whitespace + "*[+~]" ), - rattributeQuotes = new RegExp( "=" + whitespace + "*([^\\]'\"]*)" + whitespace + "*\\]", "g" ), - - rpseudo = new RegExp( pseudos ), - ridentifier = new RegExp( "^" + identifier + "$" ), - - matchExpr = { - "ID": new RegExp( "^#(" + characterEncoding + ")" ), - "CLASS": new RegExp( "^\\.(" + characterEncoding + ")" ), - "TAG": new RegExp( "^(" + characterEncoding.replace( "w", "w*" ) + ")" ), - "ATTR": new RegExp( "^" + attributes ), - "PSEUDO": new RegExp( "^" + pseudos ), - "CHILD": new RegExp( "^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\(" + whitespace + - "*(even|odd|(([+-]|)(\\d*)n|)" + whitespace + "*(?:([+-]|)" + whitespace + - "*(\\d+)|))" + whitespace + "*\\)|)", "i" ), - "bool": new RegExp( "^(?:" + booleans + ")$", "i" ), - // For use in libraries implementing .is() - // We use this for POS matching in `select` - "needsContext": new RegExp( "^" + whitespace + "*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\(" + - whitespace + "*((?:-\\d)?\\d*)" + whitespace + "*\\)|)(?=[^-]|$)", "i" ) - }, - - rnative = /^[^{]+\{\s*\[native \w/, - - // Easily-parseable/retrievable ID or TAG or CLASS selectors - rquickExpr = /^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/, - - rinputs = /^(?:input|select|textarea|button)$/i, - rheader = /^h\d$/i, - - rescape = /'|\\/g, - - // CSS escapes http://www.w3.org/TR/CSS21/syndata.html#escaped-characters - runescape = new RegExp( "\\\\([\\da-f]{1,6}" + whitespace + "?|(" + whitespace + ")|.)", "ig" ), - funescape = function( _, escaped, escapedWhitespace ) { - var high = "0x" + escaped - 0x10000; - // NaN means non-codepoint - // Support: Firefox - // Workaround erroneous numeric interpretation of +"0x" - return high !== high || escapedWhitespace ? - escaped : - // BMP codepoint - high < 0 ? - String.fromCharCode( high + 0x10000 ) : - // Supplemental Plane codepoint (surrogate pair) - String.fromCharCode( high >> 10 | 0xD800, high & 0x3FF | 0xDC00 ); - }; - -// Optimize for push.apply( _, NodeList ) -try { - push.apply( - (arr = slice.call( preferredDoc.childNodes )), - preferredDoc.childNodes - ); - // Support: Android<4.0 - // Detect silently failing push.apply - arr[ preferredDoc.childNodes.length ].nodeType; -} catch ( e ) { - push = { apply: arr.length ? - - // Leverage slice if possible - function( target, els ) { - push_native.apply( target, slice.call(els) ); - } : - - // Support: IE<9 - // Otherwise append directly - function( target, els ) { - var j = target.length, - i = 0; - // Can't trust NodeList.length - while ( (target[j++] = els[i++]) ) {} - target.length = j - 1; - } - }; -} - -function Sizzle( selector, context, results, seed ) { - var match, elem, m, nodeType, - // QSA vars - i, groups, old, nid, newContext, newSelector; - - if ( ( context ? context.ownerDocument || context : preferredDoc ) !== document ) { - setDocument( context ); - } - - context = context || document; - results = results || []; - - if ( !selector || typeof selector !== "string" ) { - return results; - } - - if ( (nodeType = context.nodeType) !== 1 && nodeType !== 9 ) { - return []; - } - - if ( documentIsHTML && !seed ) { - - // Shortcuts - if ( (match = rquickExpr.exec( selector )) ) { - // Speed-up: Sizzle("#ID") - if ( (m = match[1]) ) { - if ( nodeType === 9 ) { - elem = context.getElementById( m ); - // Check parentNode to catch when Blackberry 4.6 returns - // nodes that are no longer in the document #6963 - if ( elem && elem.parentNode ) { - // Handle the case where IE, Opera, and Webkit return items - // by name instead of ID - if ( elem.id === m ) { - results.push( elem ); - return results; - } - } else { - return results; - } - } else { - // Context is not a document - if ( context.ownerDocument && (elem = context.ownerDocument.getElementById( m )) && - contains( context, elem ) && elem.id === m ) { - results.push( elem ); - return results; - } - } - - // Speed-up: Sizzle("TAG") - } else if ( match[2] ) { - push.apply( results, context.getElementsByTagName( selector ) ); - return results; - - // Speed-up: Sizzle(".CLASS") - } else if ( (m = match[3]) && support.getElementsByClassName && context.getElementsByClassName ) { - push.apply( results, context.getElementsByClassName( m ) ); - return results; - } - } - - // QSA path - if ( support.qsa && (!rbuggyQSA || !rbuggyQSA.test( selector )) ) { - nid = old = expando; - newContext = context; - newSelector = nodeType === 9 && selector; - - // qSA works strangely on Element-rooted queries - // We can work around this by specifying an extra ID on the root - // and working up from there (Thanks to Andrew Dupont for the technique) - // IE 8 doesn't work on object elements - if ( nodeType === 1 && context.nodeName.toLowerCase() !== "object" ) { - groups = tokenize( selector ); - - if ( (old = context.getAttribute("id")) ) { - nid = old.replace( rescape, "\\$&" ); - } else { - context.setAttribute( "id", nid ); - } - nid = "[id='" + nid + "'] "; - - i = groups.length; - while ( i-- ) { - groups[i] = nid + toSelector( groups[i] ); - } - newContext = rsibling.test( selector ) && context.parentNode || context; - newSelector = groups.join(","); - } - - if ( newSelector ) { - try { - push.apply( results, - newContext.querySelectorAll( newSelector ) - ); - return results; - } catch(qsaError) { - } finally { - if ( !old ) { - context.removeAttribute("id"); - } - } - } - } - } - - // All others - return select( selector.replace( rtrim, "$1" ), context, results, seed ); -} - -/** - * Create key-value caches of limited size - * @returns {Function(string, Object)} Returns the Object data after storing it on itself with - * property name the (space-suffixed) string and (if the cache is larger than Expr.cacheLength) - * deleting the oldest entry - */ -function createCache() { - var keys = []; - - function cache( key, value ) { - // Use (key + " ") to avoid collision with native prototype properties (see Issue #157) - if ( keys.push( key += " " ) > Expr.cacheLength ) { - // Only keep the most recent entries - delete cache[ keys.shift() ]; - } - return (cache[ key ] = value); - } - return cache; -} - -/** - * Mark a function for special use by Sizzle - * @param {Function} fn The function to mark - */ -function markFunction( fn ) { - fn[ expando ] = true; - return fn; -} - -/** - * Support testing using an element - * @param {Function} fn Passed the created div and expects a boolean result - */ -function assert( fn ) { - var div = document.createElement("div"); - - try { - return !!fn( div ); - } catch (e) { - return false; - } finally { - // Remove from its parent by default - if ( div.parentNode ) { - div.parentNode.removeChild( div ); - } - // release memory in IE - div = null; - } -} - -/** - * Adds the same handler for all of the specified attrs - * @param {String} attrs Pipe-separated list of attributes - * @param {Function} handler The method that will be applied - */ -function addHandle( attrs, handler ) { - var arr = attrs.split("|"), - i = attrs.length; - - while ( i-- ) { - Expr.attrHandle[ arr[i] ] = handler; - } -} - -/** - * Checks document order of two siblings - * @param {Element} a - * @param {Element} b - * @returns {Number} Returns less than 0 if a precedes b, greater than 0 if a follows b - */ -function siblingCheck( a, b ) { - var cur = b && a, - diff = cur && a.nodeType === 1 && b.nodeType === 1 && - ( ~b.sourceIndex || MAX_NEGATIVE ) - - ( ~a.sourceIndex || MAX_NEGATIVE ); - - // Use IE sourceIndex if available on both nodes - if ( diff ) { - return diff; - } - - // Check if b follows a - if ( cur ) { - while ( (cur = cur.nextSibling) ) { - if ( cur === b ) { - return -1; - } - } - } - - return a ? 1 : -1; -} - -/** - * Returns a function to use in pseudos for input types - * @param {String} type - */ -function createInputPseudo( type ) { - return function( elem ) { - var name = elem.nodeName.toLowerCase(); - return name === "input" && elem.type === type; - }; -} - -/** - * Returns a function to use in pseudos for buttons - * @param {String} type - */ -function createButtonPseudo( type ) { - return function( elem ) { - var name = elem.nodeName.toLowerCase(); - return (name === "input" || name === "button") && elem.type === type; - }; -} - -/** - * Returns a function to use in pseudos for positionals - * @param {Function} fn - */ -function createPositionalPseudo( fn ) { - return markFunction(function( argument ) { - argument = +argument; - return markFunction(function( seed, matches ) { - var j, - matchIndexes = fn( [], seed.length, argument ), - i = matchIndexes.length; - - // Match elements found at the specified indexes - while ( i-- ) { - if ( seed[ (j = matchIndexes[i]) ] ) { - seed[j] = !(matches[j] = seed[j]); - } - } - }); - }); -} - -/** - * Detect xml - * @param {Element|Object} elem An element or a document - */ -isXML = Sizzle.isXML = function( elem ) { - // documentElement is verified for cases where it doesn't yet exist - // (such as loading iframes in IE - #4833) - var documentElement = elem && (elem.ownerDocument || elem).documentElement; - return documentElement ? documentElement.nodeName !== "HTML" : false; -}; - -// Expose support vars for convenience -support = Sizzle.support = {}; - -/** - * Sets document-related variables once based on the current document - * @param {Element|Object} [doc] An element or document object to use to set the document - * @returns {Object} Returns the current document - */ -setDocument = Sizzle.setDocument = function( node ) { - var doc = node ? node.ownerDocument || node : preferredDoc, - parent = doc.defaultView; - - // If no document and documentElement is available, return - if ( doc === document || doc.nodeType !== 9 || !doc.documentElement ) { - return document; - } - - // Set our document - document = doc; - docElem = doc.documentElement; - - // Support tests - documentIsHTML = !isXML( doc ); - - // Support: IE>8 - // If iframe document is assigned to "document" variable and if iframe has been reloaded, - // IE will throw "permission denied" error when accessing "document" variable, see jQuery #13936 - // IE6-8 do not support the defaultView property so parent will be undefined - if ( parent && parent.attachEvent && parent !== parent.top ) { - parent.attachEvent( "onbeforeunload", function() { - setDocument(); - }); - } - - /* Attributes - ---------------------------------------------------------------------- */ - - // Support: IE<8 - // Verify that getAttribute really returns attributes and not properties (excepting IE8 booleans) - support.attributes = assert(function( div ) { - div.className = "i"; - return !div.getAttribute("className"); - }); - - /* getElement(s)By* - ---------------------------------------------------------------------- */ - - // Check if getElementsByTagName("*") returns only elements - support.getElementsByTagName = assert(function( div ) { - div.appendChild( doc.createComment("") ); - return !div.getElementsByTagName("*").length; - }); - - // Check if getElementsByClassName can be trusted - support.getElementsByClassName = assert(function( div ) { - div.innerHTML = "
            "; - - // Support: Safari<4 - // Catch class over-caching - div.firstChild.className = "i"; - // Support: Opera<10 - // Catch gEBCN failure to find non-leading classes - return div.getElementsByClassName("i").length === 2; - }); - - // Support: IE<10 - // Check if getElementById returns elements by name - // The broken getElementById methods don't pick up programatically-set names, - // so use a roundabout getElementsByName test - support.getById = assert(function( div ) { - docElem.appendChild( div ).id = expando; - return !doc.getElementsByName || !doc.getElementsByName( expando ).length; - }); - - // ID find and filter - if ( support.getById ) { - Expr.find["ID"] = function( id, context ) { - if ( typeof context.getElementById !== strundefined && documentIsHTML ) { - var m = context.getElementById( id ); - // Check parentNode to catch when Blackberry 4.6 returns - // nodes that are no longer in the document #6963 - return m && m.parentNode ? [m] : []; - } - }; - Expr.filter["ID"] = function( id ) { - var attrId = id.replace( runescape, funescape ); - return function( elem ) { - return elem.getAttribute("id") === attrId; - }; - }; - } else { - // Support: IE6/7 - // getElementById is not reliable as a find shortcut - delete Expr.find["ID"]; - - Expr.filter["ID"] = function( id ) { - var attrId = id.replace( runescape, funescape ); - return function( elem ) { - var node = typeof elem.getAttributeNode !== strundefined && elem.getAttributeNode("id"); - return node && node.value === attrId; - }; - }; - } - - // Tag - Expr.find["TAG"] = support.getElementsByTagName ? - function( tag, context ) { - if ( typeof context.getElementsByTagName !== strundefined ) { - return context.getElementsByTagName( tag ); - } - } : - function( tag, context ) { - var elem, - tmp = [], - i = 0, - results = context.getElementsByTagName( tag ); - - // Filter out possible comments - if ( tag === "*" ) { - while ( (elem = results[i++]) ) { - if ( elem.nodeType === 1 ) { - tmp.push( elem ); - } - } - - return tmp; - } - return results; - }; - - // Class - Expr.find["CLASS"] = support.getElementsByClassName && function( className, context ) { - if ( typeof context.getElementsByClassName !== strundefined && documentIsHTML ) { - return context.getElementsByClassName( className ); - } - }; - - /* QSA/matchesSelector - ---------------------------------------------------------------------- */ - - // QSA and matchesSelector support - - // matchesSelector(:active) reports false when true (IE9/Opera 11.5) - rbuggyMatches = []; - - // qSa(:focus) reports false when true (Chrome 21) - // We allow this because of a bug in IE8/9 that throws an error - // whenever `document.activeElement` is accessed on an iframe - // So, we allow :focus to pass through QSA all the time to avoid the IE error - // See http://bugs.jquery.com/ticket/13378 - rbuggyQSA = []; - - if ( (support.qsa = rnative.test( doc.querySelectorAll )) ) { - // Build QSA regex - // Regex strategy adopted from Diego Perini - assert(function( div ) { - // Select is set to empty string on purpose - // This is to test IE's treatment of not explicitly - // setting a boolean content attribute, - // since its presence should be enough - // http://bugs.jquery.com/ticket/12359 - div.innerHTML = ""; - - // Support: IE8 - // Boolean attributes and "value" are not treated correctly - if ( !div.querySelectorAll("[selected]").length ) { - rbuggyQSA.push( "\\[" + whitespace + "*(?:value|" + booleans + ")" ); - } - - // Webkit/Opera - :checked should return selected option elements - // http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked - // IE8 throws error here and will not see later tests - if ( !div.querySelectorAll(":checked").length ) { - rbuggyQSA.push(":checked"); - } - }); - - assert(function( div ) { - - // Support: Opera 10-12/IE8 - // ^= $= *= and empty values - // Should not select anything - // Support: Windows 8 Native Apps - // The type attribute is restricted during .innerHTML assignment - var input = doc.createElement("input"); - input.setAttribute( "type", "hidden" ); - div.appendChild( input ).setAttribute( "t", "" ); - - if ( div.querySelectorAll("[t^='']").length ) { - rbuggyQSA.push( "[*^$]=" + whitespace + "*(?:''|\"\")" ); - } - - // FF 3.5 - :enabled/:disabled and hidden elements (hidden elements are still enabled) - // IE8 throws error here and will not see later tests - if ( !div.querySelectorAll(":enabled").length ) { - rbuggyQSA.push( ":enabled", ":disabled" ); - } - - // Opera 10-11 does not throw on post-comma invalid pseudos - div.querySelectorAll("*,:x"); - rbuggyQSA.push(",.*:"); - }); - } - - if ( (support.matchesSelector = rnative.test( (matches = docElem.webkitMatchesSelector || - docElem.mozMatchesSelector || - docElem.oMatchesSelector || - docElem.msMatchesSelector) )) ) { - - assert(function( div ) { - // Check to see if it's possible to do matchesSelector - // on a disconnected node (IE 9) - support.disconnectedMatch = matches.call( div, "div" ); - - // This should fail with an exception - // Gecko does not error, returns false instead - matches.call( div, "[s!='']:x" ); - rbuggyMatches.push( "!=", pseudos ); - }); - } - - rbuggyQSA = rbuggyQSA.length && new RegExp( rbuggyQSA.join("|") ); - rbuggyMatches = rbuggyMatches.length && new RegExp( rbuggyMatches.join("|") ); - - /* Contains - ---------------------------------------------------------------------- */ - - // Element contains another - // Purposefully does not implement inclusive descendent - // As in, an element does not contain itself - contains = rnative.test( docElem.contains ) || docElem.compareDocumentPosition ? - function( a, b ) { - var adown = a.nodeType === 9 ? a.documentElement : a, - bup = b && b.parentNode; - return a === bup || !!( bup && bup.nodeType === 1 && ( - adown.contains ? - adown.contains( bup ) : - a.compareDocumentPosition && a.compareDocumentPosition( bup ) & 16 - )); - } : - function( a, b ) { - if ( b ) { - while ( (b = b.parentNode) ) { - if ( b === a ) { - return true; - } - } - } - return false; - }; - - /* Sorting - ---------------------------------------------------------------------- */ - - // Document order sorting - sortOrder = docElem.compareDocumentPosition ? - function( a, b ) { - - // Flag for duplicate removal - if ( a === b ) { - hasDuplicate = true; - return 0; - } - - var compare = b.compareDocumentPosition && a.compareDocumentPosition && a.compareDocumentPosition( b ); - - if ( compare ) { - // Disconnected nodes - if ( compare & 1 || - (!support.sortDetached && b.compareDocumentPosition( a ) === compare) ) { - - // Choose the first element that is related to our preferred document - if ( a === doc || contains(preferredDoc, a) ) { - return -1; - } - if ( b === doc || contains(preferredDoc, b) ) { - return 1; - } - - // Maintain original order - return sortInput ? - ( indexOf.call( sortInput, a ) - indexOf.call( sortInput, b ) ) : - 0; - } - - return compare & 4 ? -1 : 1; - } - - // Not directly comparable, sort on existence of method - return a.compareDocumentPosition ? -1 : 1; - } : - function( a, b ) { - var cur, - i = 0, - aup = a.parentNode, - bup = b.parentNode, - ap = [ a ], - bp = [ b ]; - - // Exit early if the nodes are identical - if ( a === b ) { - hasDuplicate = true; - return 0; - - // Parentless nodes are either documents or disconnected - } else if ( !aup || !bup ) { - return a === doc ? -1 : - b === doc ? 1 : - aup ? -1 : - bup ? 1 : - sortInput ? - ( indexOf.call( sortInput, a ) - indexOf.call( sortInput, b ) ) : - 0; - - // If the nodes are siblings, we can do a quick check - } else if ( aup === bup ) { - return siblingCheck( a, b ); - } - - // Otherwise we need full lists of their ancestors for comparison - cur = a; - while ( (cur = cur.parentNode) ) { - ap.unshift( cur ); - } - cur = b; - while ( (cur = cur.parentNode) ) { - bp.unshift( cur ); - } - - // Walk down the tree looking for a discrepancy - while ( ap[i] === bp[i] ) { - i++; - } - - return i ? - // Do a sibling check if the nodes have a common ancestor - siblingCheck( ap[i], bp[i] ) : - - // Otherwise nodes in our document sort first - ap[i] === preferredDoc ? -1 : - bp[i] === preferredDoc ? 1 : - 0; - }; - - return doc; -}; - -Sizzle.matches = function( expr, elements ) { - return Sizzle( expr, null, null, elements ); -}; - -Sizzle.matchesSelector = function( elem, expr ) { - // Set document vars if needed - if ( ( elem.ownerDocument || elem ) !== document ) { - setDocument( elem ); - } - - // Make sure that attribute selectors are quoted - expr = expr.replace( rattributeQuotes, "='$1']" ); - - if ( support.matchesSelector && documentIsHTML && - ( !rbuggyMatches || !rbuggyMatches.test( expr ) ) && - ( !rbuggyQSA || !rbuggyQSA.test( expr ) ) ) { - - try { - var ret = matches.call( elem, expr ); - - // IE 9's matchesSelector returns false on disconnected nodes - if ( ret || support.disconnectedMatch || - // As well, disconnected nodes are said to be in a document - // fragment in IE 9 - elem.document && elem.document.nodeType !== 11 ) { - return ret; - } - } catch(e) {} - } - - return Sizzle( expr, document, null, [elem] ).length > 0; -}; - -Sizzle.contains = function( context, elem ) { - // Set document vars if needed - if ( ( context.ownerDocument || context ) !== document ) { - setDocument( context ); - } - return contains( context, elem ); -}; - -Sizzle.attr = function( elem, name ) { - // Set document vars if needed - if ( ( elem.ownerDocument || elem ) !== document ) { - setDocument( elem ); - } - - var fn = Expr.attrHandle[ name.toLowerCase() ], - // Don't get fooled by Object.prototype properties (jQuery #13807) - val = fn && hasOwn.call( Expr.attrHandle, name.toLowerCase() ) ? - fn( elem, name, !documentIsHTML ) : - undefined; - - return val === undefined ? - support.attributes || !documentIsHTML ? - elem.getAttribute( name ) : - (val = elem.getAttributeNode(name)) && val.specified ? - val.value : - null : - val; -}; - -Sizzle.error = function( msg ) { - throw new Error( "Syntax error, unrecognized expression: " + msg ); -}; - -/** - * Document sorting and removing duplicates - * @param {ArrayLike} results - */ -Sizzle.uniqueSort = function( results ) { - var elem, - duplicates = [], - j = 0, - i = 0; - - // Unless we *know* we can detect duplicates, assume their presence - hasDuplicate = !support.detectDuplicates; - sortInput = !support.sortStable && results.slice( 0 ); - results.sort( sortOrder ); - - if ( hasDuplicate ) { - while ( (elem = results[i++]) ) { - if ( elem === results[ i ] ) { - j = duplicates.push( i ); - } - } - while ( j-- ) { - results.splice( duplicates[ j ], 1 ); - } - } - - return results; -}; - -/** - * Utility function for retrieving the text value of an array of DOM nodes - * @param {Array|Element} elem - */ -getText = Sizzle.getText = function( elem ) { - var node, - ret = "", - i = 0, - nodeType = elem.nodeType; - - if ( !nodeType ) { - // If no nodeType, this is expected to be an array - for ( ; (node = elem[i]); i++ ) { - // Do not traverse comment nodes - ret += getText( node ); - } - } else if ( nodeType === 1 || nodeType === 9 || nodeType === 11 ) { - // Use textContent for elements - // innerText usage removed for consistency of new lines (see #11153) - if ( typeof elem.textContent === "string" ) { - return elem.textContent; - } else { - // Traverse its children - for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) { - ret += getText( elem ); - } - } - } else if ( nodeType === 3 || nodeType === 4 ) { - return elem.nodeValue; - } - // Do not include comment or processing instruction nodes - - return ret; -}; - -Expr = Sizzle.selectors = { - - // Can be adjusted by the user - cacheLength: 50, - - createPseudo: markFunction, - - match: matchExpr, - - attrHandle: {}, - - find: {}, - - relative: { - ">": { dir: "parentNode", first: true }, - " ": { dir: "parentNode" }, - "+": { dir: "previousSibling", first: true }, - "~": { dir: "previousSibling" } - }, - - preFilter: { - "ATTR": function( match ) { - match[1] = match[1].replace( runescape, funescape ); - - // Move the given value to match[3] whether quoted or unquoted - match[3] = ( match[4] || match[5] || "" ).replace( runescape, funescape ); - - if ( match[2] === "~=" ) { - match[3] = " " + match[3] + " "; - } - - return match.slice( 0, 4 ); - }, - - "CHILD": function( match ) { - /* matches from matchExpr["CHILD"] - 1 type (only|nth|...) - 2 what (child|of-type) - 3 argument (even|odd|\d*|\d*n([+-]\d+)?|...) - 4 xn-component of xn+y argument ([+-]?\d*n|) - 5 sign of xn-component - 6 x of xn-component - 7 sign of y-component - 8 y of y-component - */ - match[1] = match[1].toLowerCase(); - - if ( match[1].slice( 0, 3 ) === "nth" ) { - // nth-* requires argument - if ( !match[3] ) { - Sizzle.error( match[0] ); - } - - // numeric x and y parameters for Expr.filter.CHILD - // remember that false/true cast respectively to 0/1 - match[4] = +( match[4] ? match[5] + (match[6] || 1) : 2 * ( match[3] === "even" || match[3] === "odd" ) ); - match[5] = +( ( match[7] + match[8] ) || match[3] === "odd" ); - - // other types prohibit arguments - } else if ( match[3] ) { - Sizzle.error( match[0] ); - } - - return match; - }, - - "PSEUDO": function( match ) { - var excess, - unquoted = !match[5] && match[2]; - - if ( matchExpr["CHILD"].test( match[0] ) ) { - return null; - } - - // Accept quoted arguments as-is - if ( match[3] && match[4] !== undefined ) { - match[2] = match[4]; - - // Strip excess characters from unquoted arguments - } else if ( unquoted && rpseudo.test( unquoted ) && - // Get excess from tokenize (recursively) - (excess = tokenize( unquoted, true )) && - // advance to the next closing parenthesis - (excess = unquoted.indexOf( ")", unquoted.length - excess ) - unquoted.length) ) { - - // excess is a negative index - match[0] = match[0].slice( 0, excess ); - match[2] = unquoted.slice( 0, excess ); - } - - // Return only captures needed by the pseudo filter method (type and argument) - return match.slice( 0, 3 ); - } - }, - - filter: { - - "TAG": function( nodeNameSelector ) { - var nodeName = nodeNameSelector.replace( runescape, funescape ).toLowerCase(); - return nodeNameSelector === "*" ? - function() { return true; } : - function( elem ) { - return elem.nodeName && elem.nodeName.toLowerCase() === nodeName; - }; - }, - - "CLASS": function( className ) { - var pattern = classCache[ className + " " ]; - - return pattern || - (pattern = new RegExp( "(^|" + whitespace + ")" + className + "(" + whitespace + "|$)" )) && - classCache( className, function( elem ) { - return pattern.test( typeof elem.className === "string" && elem.className || typeof elem.getAttribute !== strundefined && elem.getAttribute("class") || "" ); - }); - }, - - "ATTR": function( name, operator, check ) { - return function( elem ) { - var result = Sizzle.attr( elem, name ); - - if ( result == null ) { - return operator === "!="; - } - if ( !operator ) { - return true; - } - - result += ""; - - return operator === "=" ? result === check : - operator === "!=" ? result !== check : - operator === "^=" ? check && result.indexOf( check ) === 0 : - operator === "*=" ? check && result.indexOf( check ) > -1 : - operator === "$=" ? check && result.slice( -check.length ) === check : - operator === "~=" ? ( " " + result + " " ).indexOf( check ) > -1 : - operator === "|=" ? result === check || result.slice( 0, check.length + 1 ) === check + "-" : - false; - }; - }, - - "CHILD": function( type, what, argument, first, last ) { - var simple = type.slice( 0, 3 ) !== "nth", - forward = type.slice( -4 ) !== "last", - ofType = what === "of-type"; - - return first === 1 && last === 0 ? - - // Shortcut for :nth-*(n) - function( elem ) { - return !!elem.parentNode; - } : - - function( elem, context, xml ) { - var cache, outerCache, node, diff, nodeIndex, start, - dir = simple !== forward ? "nextSibling" : "previousSibling", - parent = elem.parentNode, - name = ofType && elem.nodeName.toLowerCase(), - useCache = !xml && !ofType; - - if ( parent ) { - - // :(first|last|only)-(child|of-type) - if ( simple ) { - while ( dir ) { - node = elem; - while ( (node = node[ dir ]) ) { - if ( ofType ? node.nodeName.toLowerCase() === name : node.nodeType === 1 ) { - return false; - } - } - // Reverse direction for :only-* (if we haven't yet done so) - start = dir = type === "only" && !start && "nextSibling"; - } - return true; - } - - start = [ forward ? parent.firstChild : parent.lastChild ]; - - // non-xml :nth-child(...) stores cache data on `parent` - if ( forward && useCache ) { - // Seek `elem` from a previously-cached index - outerCache = parent[ expando ] || (parent[ expando ] = {}); - cache = outerCache[ type ] || []; - nodeIndex = cache[0] === dirruns && cache[1]; - diff = cache[0] === dirruns && cache[2]; - node = nodeIndex && parent.childNodes[ nodeIndex ]; - - while ( (node = ++nodeIndex && node && node[ dir ] || - - // Fallback to seeking `elem` from the start - (diff = nodeIndex = 0) || start.pop()) ) { - - // When found, cache indexes on `parent` and break - if ( node.nodeType === 1 && ++diff && node === elem ) { - outerCache[ type ] = [ dirruns, nodeIndex, diff ]; - break; - } - } - - // Use previously-cached element index if available - } else if ( useCache && (cache = (elem[ expando ] || (elem[ expando ] = {}))[ type ]) && cache[0] === dirruns ) { - diff = cache[1]; - - // xml :nth-child(...) or :nth-last-child(...) or :nth(-last)?-of-type(...) - } else { - // Use the same loop as above to seek `elem` from the start - while ( (node = ++nodeIndex && node && node[ dir ] || - (diff = nodeIndex = 0) || start.pop()) ) { - - if ( ( ofType ? node.nodeName.toLowerCase() === name : node.nodeType === 1 ) && ++diff ) { - // Cache the index of each encountered element - if ( useCache ) { - (node[ expando ] || (node[ expando ] = {}))[ type ] = [ dirruns, diff ]; - } - - if ( node === elem ) { - break; - } - } - } - } - - // Incorporate the offset, then check against cycle size - diff -= last; - return diff === first || ( diff % first === 0 && diff / first >= 0 ); - } - }; - }, - - "PSEUDO": function( pseudo, argument ) { - // pseudo-class names are case-insensitive - // http://www.w3.org/TR/selectors/#pseudo-classes - // Prioritize by case sensitivity in case custom pseudos are added with uppercase letters - // Remember that setFilters inherits from pseudos - var args, - fn = Expr.pseudos[ pseudo ] || Expr.setFilters[ pseudo.toLowerCase() ] || - Sizzle.error( "unsupported pseudo: " + pseudo ); - - // The user may use createPseudo to indicate that - // arguments are needed to create the filter function - // just as Sizzle does - if ( fn[ expando ] ) { - return fn( argument ); - } - - // But maintain support for old signatures - if ( fn.length > 1 ) { - args = [ pseudo, pseudo, "", argument ]; - return Expr.setFilters.hasOwnProperty( pseudo.toLowerCase() ) ? - markFunction(function( seed, matches ) { - var idx, - matched = fn( seed, argument ), - i = matched.length; - while ( i-- ) { - idx = indexOf.call( seed, matched[i] ); - seed[ idx ] = !( matches[ idx ] = matched[i] ); - } - }) : - function( elem ) { - return fn( elem, 0, args ); - }; - } - - return fn; - } - }, - - pseudos: { - // Potentially complex pseudos - "not": markFunction(function( selector ) { - // Trim the selector passed to compile - // to avoid treating leading and trailing - // spaces as combinators - var input = [], - results = [], - matcher = compile( selector.replace( rtrim, "$1" ) ); - - return matcher[ expando ] ? - markFunction(function( seed, matches, context, xml ) { - var elem, - unmatched = matcher( seed, null, xml, [] ), - i = seed.length; - - // Match elements unmatched by `matcher` - while ( i-- ) { - if ( (elem = unmatched[i]) ) { - seed[i] = !(matches[i] = elem); - } - } - }) : - function( elem, context, xml ) { - input[0] = elem; - matcher( input, null, xml, results ); - return !results.pop(); - }; - }), - - "has": markFunction(function( selector ) { - return function( elem ) { - return Sizzle( selector, elem ).length > 0; - }; - }), - - "contains": markFunction(function( text ) { - return function( elem ) { - return ( elem.textContent || elem.innerText || getText( elem ) ).indexOf( text ) > -1; - }; - }), - - // "Whether an element is represented by a :lang() selector - // is based solely on the element's language value - // being equal to the identifier C, - // or beginning with the identifier C immediately followed by "-". - // The matching of C against the element's language value is performed case-insensitively. - // The identifier C does not have to be a valid language name." - // http://www.w3.org/TR/selectors/#lang-pseudo - "lang": markFunction( function( lang ) { - // lang value must be a valid identifier - if ( !ridentifier.test(lang || "") ) { - Sizzle.error( "unsupported lang: " + lang ); - } - lang = lang.replace( runescape, funescape ).toLowerCase(); - return function( elem ) { - var elemLang; - do { - if ( (elemLang = documentIsHTML ? - elem.lang : - elem.getAttribute("xml:lang") || elem.getAttribute("lang")) ) { - - elemLang = elemLang.toLowerCase(); - return elemLang === lang || elemLang.indexOf( lang + "-" ) === 0; - } - } while ( (elem = elem.parentNode) && elem.nodeType === 1 ); - return false; - }; - }), - - // Miscellaneous - "target": function( elem ) { - var hash = window.location && window.location.hash; - return hash && hash.slice( 1 ) === elem.id; - }, - - "root": function( elem ) { - return elem === docElem; - }, - - "focus": function( elem ) { - return elem === document.activeElement && (!document.hasFocus || document.hasFocus()) && !!(elem.type || elem.href || ~elem.tabIndex); - }, - - // Boolean properties - "enabled": function( elem ) { - return elem.disabled === false; - }, - - "disabled": function( elem ) { - return elem.disabled === true; - }, - - "checked": function( elem ) { - // In CSS3, :checked should return both checked and selected elements - // http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked - var nodeName = elem.nodeName.toLowerCase(); - return (nodeName === "input" && !!elem.checked) || (nodeName === "option" && !!elem.selected); - }, - - "selected": function( elem ) { - // Accessing this property makes selected-by-default - // options in Safari work properly - if ( elem.parentNode ) { - elem.parentNode.selectedIndex; - } - - return elem.selected === true; - }, - - // Contents - "empty": function( elem ) { - // http://www.w3.org/TR/selectors/#empty-pseudo - // :empty is only affected by element nodes and content nodes(including text(3), cdata(4)), - // not comment, processing instructions, or others - // Thanks to Diego Perini for the nodeName shortcut - // Greater than "@" means alpha characters (specifically not starting with "#" or "?") - for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) { - if ( elem.nodeName > "@" || elem.nodeType === 3 || elem.nodeType === 4 ) { - return false; - } - } - return true; - }, - - "parent": function( elem ) { - return !Expr.pseudos["empty"]( elem ); - }, - - // Element/input types - "header": function( elem ) { - return rheader.test( elem.nodeName ); - }, - - "input": function( elem ) { - return rinputs.test( elem.nodeName ); - }, - - "button": function( elem ) { - var name = elem.nodeName.toLowerCase(); - return name === "input" && elem.type === "button" || name === "button"; - }, - - "text": function( elem ) { - var attr; - // IE6 and 7 will map elem.type to 'text' for new HTML5 types (search, etc) - // use getAttribute instead to test this case - return elem.nodeName.toLowerCase() === "input" && - elem.type === "text" && - ( (attr = elem.getAttribute("type")) == null || attr.toLowerCase() === elem.type ); - }, - - // Position-in-collection - "first": createPositionalPseudo(function() { - return [ 0 ]; - }), - - "last": createPositionalPseudo(function( matchIndexes, length ) { - return [ length - 1 ]; - }), - - "eq": createPositionalPseudo(function( matchIndexes, length, argument ) { - return [ argument < 0 ? argument + length : argument ]; - }), - - "even": createPositionalPseudo(function( matchIndexes, length ) { - var i = 0; - for ( ; i < length; i += 2 ) { - matchIndexes.push( i ); - } - return matchIndexes; - }), - - "odd": createPositionalPseudo(function( matchIndexes, length ) { - var i = 1; - for ( ; i < length; i += 2 ) { - matchIndexes.push( i ); - } - return matchIndexes; - }), - - "lt": createPositionalPseudo(function( matchIndexes, length, argument ) { - var i = argument < 0 ? argument + length : argument; - for ( ; --i >= 0; ) { - matchIndexes.push( i ); - } - return matchIndexes; - }), - - "gt": createPositionalPseudo(function( matchIndexes, length, argument ) { - var i = argument < 0 ? argument + length : argument; - for ( ; ++i < length; ) { - matchIndexes.push( i ); - } - return matchIndexes; - }) - } -}; - -Expr.pseudos["nth"] = Expr.pseudos["eq"]; - -// Add button/input type pseudos -for ( i in { radio: true, checkbox: true, file: true, password: true, image: true } ) { - Expr.pseudos[ i ] = createInputPseudo( i ); -} -for ( i in { submit: true, reset: true } ) { - Expr.pseudos[ i ] = createButtonPseudo( i ); -} - -// Easy API for creating new setFilters -function setFilters() {} -setFilters.prototype = Expr.filters = Expr.pseudos; -Expr.setFilters = new setFilters(); - -function tokenize( selector, parseOnly ) { - var matched, match, tokens, type, - soFar, groups, preFilters, - cached = tokenCache[ selector + " " ]; - - if ( cached ) { - return parseOnly ? 0 : cached.slice( 0 ); - } - - soFar = selector; - groups = []; - preFilters = Expr.preFilter; - - while ( soFar ) { - - // Comma and first run - if ( !matched || (match = rcomma.exec( soFar )) ) { - if ( match ) { - // Don't consume trailing commas as valid - soFar = soFar.slice( match[0].length ) || soFar; - } - groups.push( tokens = [] ); - } - - matched = false; - - // Combinators - if ( (match = rcombinators.exec( soFar )) ) { - matched = match.shift(); - tokens.push({ - value: matched, - // Cast descendant combinators to space - type: match[0].replace( rtrim, " " ) - }); - soFar = soFar.slice( matched.length ); - } - - // Filters - for ( type in Expr.filter ) { - if ( (match = matchExpr[ type ].exec( soFar )) && (!preFilters[ type ] || - (match = preFilters[ type ]( match ))) ) { - matched = match.shift(); - tokens.push({ - value: matched, - type: type, - matches: match - }); - soFar = soFar.slice( matched.length ); - } - } - - if ( !matched ) { - break; - } - } - - // Return the length of the invalid excess - // if we're just parsing - // Otherwise, throw an error or return tokens - return parseOnly ? - soFar.length : - soFar ? - Sizzle.error( selector ) : - // Cache the tokens - tokenCache( selector, groups ).slice( 0 ); -} - -function toSelector( tokens ) { - var i = 0, - len = tokens.length, - selector = ""; - for ( ; i < len; i++ ) { - selector += tokens[i].value; - } - return selector; -} - -function addCombinator( matcher, combinator, base ) { - var dir = combinator.dir, - checkNonElements = base && dir === "parentNode", - doneName = done++; - - return combinator.first ? - // Check against closest ancestor/preceding element - function( elem, context, xml ) { - while ( (elem = elem[ dir ]) ) { - if ( elem.nodeType === 1 || checkNonElements ) { - return matcher( elem, context, xml ); - } - } - } : - - // Check against all ancestor/preceding elements - function( elem, context, xml ) { - var data, cache, outerCache, - dirkey = dirruns + " " + doneName; - - // We can't set arbitrary data on XML nodes, so they don't benefit from dir caching - if ( xml ) { - while ( (elem = elem[ dir ]) ) { - if ( elem.nodeType === 1 || checkNonElements ) { - if ( matcher( elem, context, xml ) ) { - return true; - } - } - } - } else { - while ( (elem = elem[ dir ]) ) { - if ( elem.nodeType === 1 || checkNonElements ) { - outerCache = elem[ expando ] || (elem[ expando ] = {}); - if ( (cache = outerCache[ dir ]) && cache[0] === dirkey ) { - if ( (data = cache[1]) === true || data === cachedruns ) { - return data === true; - } - } else { - cache = outerCache[ dir ] = [ dirkey ]; - cache[1] = matcher( elem, context, xml ) || cachedruns; - if ( cache[1] === true ) { - return true; - } - } - } - } - } - }; -} - -function elementMatcher( matchers ) { - return matchers.length > 1 ? - function( elem, context, xml ) { - var i = matchers.length; - while ( i-- ) { - if ( !matchers[i]( elem, context, xml ) ) { - return false; - } - } - return true; - } : - matchers[0]; -} - -function condense( unmatched, map, filter, context, xml ) { - var elem, - newUnmatched = [], - i = 0, - len = unmatched.length, - mapped = map != null; - - for ( ; i < len; i++ ) { - if ( (elem = unmatched[i]) ) { - if ( !filter || filter( elem, context, xml ) ) { - newUnmatched.push( elem ); - if ( mapped ) { - map.push( i ); - } - } - } - } - - return newUnmatched; -} - -function setMatcher( preFilter, selector, matcher, postFilter, postFinder, postSelector ) { - if ( postFilter && !postFilter[ expando ] ) { - postFilter = setMatcher( postFilter ); - } - if ( postFinder && !postFinder[ expando ] ) { - postFinder = setMatcher( postFinder, postSelector ); - } - return markFunction(function( seed, results, context, xml ) { - var temp, i, elem, - preMap = [], - postMap = [], - preexisting = results.length, - - // Get initial elements from seed or context - elems = seed || multipleContexts( selector || "*", context.nodeType ? [ context ] : context, [] ), - - // Prefilter to get matcher input, preserving a map for seed-results synchronization - matcherIn = preFilter && ( seed || !selector ) ? - condense( elems, preMap, preFilter, context, xml ) : - elems, - - matcherOut = matcher ? - // If we have a postFinder, or filtered seed, or non-seed postFilter or preexisting results, - postFinder || ( seed ? preFilter : preexisting || postFilter ) ? - - // ...intermediate processing is necessary - [] : - - // ...otherwise use results directly - results : - matcherIn; - - // Find primary matches - if ( matcher ) { - matcher( matcherIn, matcherOut, context, xml ); - } - - // Apply postFilter - if ( postFilter ) { - temp = condense( matcherOut, postMap ); - postFilter( temp, [], context, xml ); - - // Un-match failing elements by moving them back to matcherIn - i = temp.length; - while ( i-- ) { - if ( (elem = temp[i]) ) { - matcherOut[ postMap[i] ] = !(matcherIn[ postMap[i] ] = elem); - } - } - } - - if ( seed ) { - if ( postFinder || preFilter ) { - if ( postFinder ) { - // Get the final matcherOut by condensing this intermediate into postFinder contexts - temp = []; - i = matcherOut.length; - while ( i-- ) { - if ( (elem = matcherOut[i]) ) { - // Restore matcherIn since elem is not yet a final match - temp.push( (matcherIn[i] = elem) ); - } - } - postFinder( null, (matcherOut = []), temp, xml ); - } - - // Move matched elements from seed to results to keep them synchronized - i = matcherOut.length; - while ( i-- ) { - if ( (elem = matcherOut[i]) && - (temp = postFinder ? indexOf.call( seed, elem ) : preMap[i]) > -1 ) { - - seed[temp] = !(results[temp] = elem); - } - } - } - - // Add elements to results, through postFinder if defined - } else { - matcherOut = condense( - matcherOut === results ? - matcherOut.splice( preexisting, matcherOut.length ) : - matcherOut - ); - if ( postFinder ) { - postFinder( null, results, matcherOut, xml ); - } else { - push.apply( results, matcherOut ); - } - } - }); -} - -function matcherFromTokens( tokens ) { - var checkContext, matcher, j, - len = tokens.length, - leadingRelative = Expr.relative[ tokens[0].type ], - implicitRelative = leadingRelative || Expr.relative[" "], - i = leadingRelative ? 1 : 0, - - // The foundational matcher ensures that elements are reachable from top-level context(s) - matchContext = addCombinator( function( elem ) { - return elem === checkContext; - }, implicitRelative, true ), - matchAnyContext = addCombinator( function( elem ) { - return indexOf.call( checkContext, elem ) > -1; - }, implicitRelative, true ), - matchers = [ function( elem, context, xml ) { - return ( !leadingRelative && ( xml || context !== outermostContext ) ) || ( - (checkContext = context).nodeType ? - matchContext( elem, context, xml ) : - matchAnyContext( elem, context, xml ) ); - } ]; - - for ( ; i < len; i++ ) { - if ( (matcher = Expr.relative[ tokens[i].type ]) ) { - matchers = [ addCombinator(elementMatcher( matchers ), matcher) ]; - } else { - matcher = Expr.filter[ tokens[i].type ].apply( null, tokens[i].matches ); - - // Return special upon seeing a positional matcher - if ( matcher[ expando ] ) { - // Find the next relative operator (if any) for proper handling - j = ++i; - for ( ; j < len; j++ ) { - if ( Expr.relative[ tokens[j].type ] ) { - break; - } - } - return setMatcher( - i > 1 && elementMatcher( matchers ), - i > 1 && toSelector( - // If the preceding token was a descendant combinator, insert an implicit any-element `*` - tokens.slice( 0, i - 1 ).concat({ value: tokens[ i - 2 ].type === " " ? "*" : "" }) - ).replace( rtrim, "$1" ), - matcher, - i < j && matcherFromTokens( tokens.slice( i, j ) ), - j < len && matcherFromTokens( (tokens = tokens.slice( j )) ), - j < len && toSelector( tokens ) - ); - } - matchers.push( matcher ); - } - } - - return elementMatcher( matchers ); -} - -function matcherFromGroupMatchers( elementMatchers, setMatchers ) { - // A counter to specify which element is currently being matched - var matcherCachedRuns = 0, - bySet = setMatchers.length > 0, - byElement = elementMatchers.length > 0, - superMatcher = function( seed, context, xml, results, expandContext ) { - var elem, j, matcher, - setMatched = [], - matchedCount = 0, - i = "0", - unmatched = seed && [], - outermost = expandContext != null, - contextBackup = outermostContext, - // We must always have either seed elements or context - elems = seed || byElement && Expr.find["TAG"]( "*", expandContext && context.parentNode || context ), - // Use integer dirruns iff this is the outermost matcher - dirrunsUnique = (dirruns += contextBackup == null ? 1 : Math.random() || 0.1); - - if ( outermost ) { - outermostContext = context !== document && context; - cachedruns = matcherCachedRuns; - } - - // Add elements passing elementMatchers directly to results - // Keep `i` a string if there are no elements so `matchedCount` will be "00" below - for ( ; (elem = elems[i]) != null; i++ ) { - if ( byElement && elem ) { - j = 0; - while ( (matcher = elementMatchers[j++]) ) { - if ( matcher( elem, context, xml ) ) { - results.push( elem ); - break; - } - } - if ( outermost ) { - dirruns = dirrunsUnique; - cachedruns = ++matcherCachedRuns; - } - } - - // Track unmatched elements for set filters - if ( bySet ) { - // They will have gone through all possible matchers - if ( (elem = !matcher && elem) ) { - matchedCount--; - } - - // Lengthen the array for every element, matched or not - if ( seed ) { - unmatched.push( elem ); - } - } - } - - // Apply set filters to unmatched elements - matchedCount += i; - if ( bySet && i !== matchedCount ) { - j = 0; - while ( (matcher = setMatchers[j++]) ) { - matcher( unmatched, setMatched, context, xml ); - } - - if ( seed ) { - // Reintegrate element matches to eliminate the need for sorting - if ( matchedCount > 0 ) { - while ( i-- ) { - if ( !(unmatched[i] || setMatched[i]) ) { - setMatched[i] = pop.call( results ); - } - } - } - - // Discard index placeholder values to get only actual matches - setMatched = condense( setMatched ); - } - - // Add matches to results - push.apply( results, setMatched ); - - // Seedless set matches succeeding multiple successful matchers stipulate sorting - if ( outermost && !seed && setMatched.length > 0 && - ( matchedCount + setMatchers.length ) > 1 ) { - - Sizzle.uniqueSort( results ); - } - } - - // Override manipulation of globals by nested matchers - if ( outermost ) { - dirruns = dirrunsUnique; - outermostContext = contextBackup; - } - - return unmatched; - }; - - return bySet ? - markFunction( superMatcher ) : - superMatcher; -} - -compile = Sizzle.compile = function( selector, group /* Internal Use Only */ ) { - var i, - setMatchers = [], - elementMatchers = [], - cached = compilerCache[ selector + " " ]; - - if ( !cached ) { - // Generate a function of recursive functions that can be used to check each element - if ( !group ) { - group = tokenize( selector ); - } - i = group.length; - while ( i-- ) { - cached = matcherFromTokens( group[i] ); - if ( cached[ expando ] ) { - setMatchers.push( cached ); - } else { - elementMatchers.push( cached ); - } - } - - // Cache the compiled function - cached = compilerCache( selector, matcherFromGroupMatchers( elementMatchers, setMatchers ) ); - } - return cached; -}; - -function multipleContexts( selector, contexts, results ) { - var i = 0, - len = contexts.length; - for ( ; i < len; i++ ) { - Sizzle( selector, contexts[i], results ); - } - return results; -} - -function select( selector, context, results, seed ) { - var i, tokens, token, type, find, - match = tokenize( selector ); - - if ( !seed ) { - // Try to minimize operations if there is only one group - if ( match.length === 1 ) { - - // Take a shortcut and set the context if the root selector is an ID - tokens = match[0] = match[0].slice( 0 ); - if ( tokens.length > 2 && (token = tokens[0]).type === "ID" && - support.getById && context.nodeType === 9 && documentIsHTML && - Expr.relative[ tokens[1].type ] ) { - - context = ( Expr.find["ID"]( token.matches[0].replace(runescape, funescape), context ) || [] )[0]; - if ( !context ) { - return results; - } - selector = selector.slice( tokens.shift().value.length ); - } - - // Fetch a seed set for right-to-left matching - i = matchExpr["needsContext"].test( selector ) ? 0 : tokens.length; - while ( i-- ) { - token = tokens[i]; - - // Abort if we hit a combinator - if ( Expr.relative[ (type = token.type) ] ) { - break; - } - if ( (find = Expr.find[ type ]) ) { - // Search, expanding context for leading sibling combinators - if ( (seed = find( - token.matches[0].replace( runescape, funescape ), - rsibling.test( tokens[0].type ) && context.parentNode || context - )) ) { - - // If seed is empty or no tokens remain, we can return early - tokens.splice( i, 1 ); - selector = seed.length && toSelector( tokens ); - if ( !selector ) { - push.apply( results, seed ); - return results; - } - - break; - } - } - } - } - } - - // Compile and execute a filtering function - // Provide `match` to avoid retokenization if we modified the selector above - compile( selector, match )( - seed, - context, - !documentIsHTML, - results, - rsibling.test( selector ) - ); - return results; -} - -// One-time assignments - -// Sort stability -support.sortStable = expando.split("").sort( sortOrder ).join("") === expando; - -// Support: Chrome<14 -// Always assume duplicates if they aren't passed to the comparison function -support.detectDuplicates = hasDuplicate; - -// Initialize against the default document -setDocument(); - -// Support: Webkit<537.32 - Safari 6.0.3/Chrome 25 (fixed in Chrome 27) -// Detached nodes confoundingly follow *each other* -support.sortDetached = assert(function( div1 ) { - // Should return 1, but returns 4 (following) - return div1.compareDocumentPosition( document.createElement("div") ) & 1; -}); - -// Support: IE<8 -// Prevent attribute/property "interpolation" -// http://msdn.microsoft.com/en-us/library/ms536429%28VS.85%29.aspx -if ( !assert(function( div ) { - div.innerHTML = ""; - return div.firstChild.getAttribute("href") === "#" ; -}) ) { - addHandle( "type|href|height|width", function( elem, name, isXML ) { - if ( !isXML ) { - return elem.getAttribute( name, name.toLowerCase() === "type" ? 1 : 2 ); - } - }); -} - -// Support: IE<9 -// Use defaultValue in place of getAttribute("value") -if ( !support.attributes || !assert(function( div ) { - div.innerHTML = ""; - div.firstChild.setAttribute( "value", "" ); - return div.firstChild.getAttribute( "value" ) === ""; -}) ) { - addHandle( "value", function( elem, name, isXML ) { - if ( !isXML && elem.nodeName.toLowerCase() === "input" ) { - return elem.defaultValue; - } - }); -} - -// Support: IE<9 -// Use getAttributeNode to fetch booleans when getAttribute lies -if ( !assert(function( div ) { - return div.getAttribute("disabled") == null; -}) ) { - addHandle( booleans, function( elem, name, isXML ) { - var val; - if ( !isXML ) { - return (val = elem.getAttributeNode( name )) && val.specified ? - val.value : - elem[ name ] === true ? name.toLowerCase() : null; - } - }); -} - -jQuery.find = Sizzle; -jQuery.expr = Sizzle.selectors; -jQuery.expr[":"] = jQuery.expr.pseudos; -jQuery.unique = Sizzle.uniqueSort; -jQuery.text = Sizzle.getText; -jQuery.isXMLDoc = Sizzle.isXML; -jQuery.contains = Sizzle.contains; - - -})( window ); -// String to Object options format cache -var optionsCache = {}; - -// Convert String-formatted options into Object-formatted ones and store in cache -function createOptions( options ) { - var object = optionsCache[ options ] = {}; - jQuery.each( options.match( core_rnotwhite ) || [], function( _, flag ) { - object[ flag ] = true; - }); - return object; -} - -/* - * Create a callback list using the following parameters: - * - * options: an optional list of space-separated options that will change how - * the callback list behaves or a more traditional option object - * - * By default a callback list will act like an event callback list and can be - * "fired" multiple times. - * - * Possible options: - * - * once: will ensure the callback list can only be fired once (like a Deferred) - * - * memory: will keep track of previous values and will call any callback added - * after the list has been fired right away with the latest "memorized" - * values (like a Deferred) - * - * unique: will ensure a callback can only be added once (no duplicate in the list) - * - * stopOnFalse: interrupt callings when a callback returns false - * - */ -jQuery.Callbacks = function( options ) { - - // Convert options from String-formatted to Object-formatted if needed - // (we check in cache first) - options = typeof options === "string" ? - ( optionsCache[ options ] || createOptions( options ) ) : - jQuery.extend( {}, options ); - - var // Flag to know if list is currently firing - firing, - // Last fire value (for non-forgettable lists) - memory, - // Flag to know if list was already fired - fired, - // End of the loop when firing - firingLength, - // Index of currently firing callback (modified by remove if needed) - firingIndex, - // First callback to fire (used internally by add and fireWith) - firingStart, - // Actual callback list - list = [], - // Stack of fire calls for repeatable lists - stack = !options.once && [], - // Fire callbacks - fire = function( data ) { - memory = options.memory && data; - fired = true; - firingIndex = firingStart || 0; - firingStart = 0; - firingLength = list.length; - firing = true; - for ( ; list && firingIndex < firingLength; firingIndex++ ) { - if ( list[ firingIndex ].apply( data[ 0 ], data[ 1 ] ) === false && options.stopOnFalse ) { - memory = false; // To prevent further calls using add - break; - } - } - firing = false; - if ( list ) { - if ( stack ) { - if ( stack.length ) { - fire( stack.shift() ); - } - } else if ( memory ) { - list = []; - } else { - self.disable(); - } - } - }, - // Actual Callbacks object - self = { - // Add a callback or a collection of callbacks to the list - add: function() { - if ( list ) { - // First, we save the current length - var start = list.length; - (function add( args ) { - jQuery.each( args, function( _, arg ) { - var type = jQuery.type( arg ); - if ( type === "function" ) { - if ( !options.unique || !self.has( arg ) ) { - list.push( arg ); - } - } else if ( arg && arg.length && type !== "string" ) { - // Inspect recursively - add( arg ); - } - }); - })( arguments ); - // Do we need to add the callbacks to the - // current firing batch? - if ( firing ) { - firingLength = list.length; - // With memory, if we're not firing then - // we should call right away - } else if ( memory ) { - firingStart = start; - fire( memory ); - } - } - return this; - }, - // Remove a callback from the list - remove: function() { - if ( list ) { - jQuery.each( arguments, function( _, arg ) { - var index; - while( ( index = jQuery.inArray( arg, list, index ) ) > -1 ) { - list.splice( index, 1 ); - // Handle firing indexes - if ( firing ) { - if ( index <= firingLength ) { - firingLength--; - } - if ( index <= firingIndex ) { - firingIndex--; - } - } - } - }); - } - return this; - }, - // Check if a given callback is in the list. - // If no argument is given, return whether or not list has callbacks attached. - has: function( fn ) { - return fn ? jQuery.inArray( fn, list ) > -1 : !!( list && list.length ); - }, - // Remove all callbacks from the list - empty: function() { - list = []; - firingLength = 0; - return this; - }, - // Have the list do nothing anymore - disable: function() { - list = stack = memory = undefined; - return this; - }, - // Is it disabled? - disabled: function() { - return !list; - }, - // Lock the list in its current state - lock: function() { - stack = undefined; - if ( !memory ) { - self.disable(); - } - return this; - }, - // Is it locked? - locked: function() { - return !stack; - }, - // Call all callbacks with the given context and arguments - fireWith: function( context, args ) { - if ( list && ( !fired || stack ) ) { - args = args || []; - args = [ context, args.slice ? args.slice() : args ]; - if ( firing ) { - stack.push( args ); - } else { - fire( args ); - } - } - return this; - }, - // Call all the callbacks with the given arguments - fire: function() { - self.fireWith( this, arguments ); - return this; - }, - // To know if the callbacks have already been called at least once - fired: function() { - return !!fired; - } - }; - - return self; -}; -jQuery.extend({ - - Deferred: function( func ) { - var tuples = [ - // action, add listener, listener list, final state - [ "resolve", "done", jQuery.Callbacks("once memory"), "resolved" ], - [ "reject", "fail", jQuery.Callbacks("once memory"), "rejected" ], - [ "notify", "progress", jQuery.Callbacks("memory") ] - ], - state = "pending", - promise = { - state: function() { - return state; - }, - always: function() { - deferred.done( arguments ).fail( arguments ); - return this; - }, - then: function( /* fnDone, fnFail, fnProgress */ ) { - var fns = arguments; - return jQuery.Deferred(function( newDefer ) { - jQuery.each( tuples, function( i, tuple ) { - var action = tuple[ 0 ], - fn = jQuery.isFunction( fns[ i ] ) && fns[ i ]; - // deferred[ done | fail | progress ] for forwarding actions to newDefer - deferred[ tuple[1] ](function() { - var returned = fn && fn.apply( this, arguments ); - if ( returned && jQuery.isFunction( returned.promise ) ) { - returned.promise() - .done( newDefer.resolve ) - .fail( newDefer.reject ) - .progress( newDefer.notify ); - } else { - newDefer[ action + "With" ]( this === promise ? newDefer.promise() : this, fn ? [ returned ] : arguments ); - } - }); - }); - fns = null; - }).promise(); - }, - // Get a promise for this deferred - // If obj is provided, the promise aspect is added to the object - promise: function( obj ) { - return obj != null ? jQuery.extend( obj, promise ) : promise; - } - }, - deferred = {}; - - // Keep pipe for back-compat - promise.pipe = promise.then; - - // Add list-specific methods - jQuery.each( tuples, function( i, tuple ) { - var list = tuple[ 2 ], - stateString = tuple[ 3 ]; - - // promise[ done | fail | progress ] = list.add - promise[ tuple[1] ] = list.add; - - // Handle state - if ( stateString ) { - list.add(function() { - // state = [ resolved | rejected ] - state = stateString; - - // [ reject_list | resolve_list ].disable; progress_list.lock - }, tuples[ i ^ 1 ][ 2 ].disable, tuples[ 2 ][ 2 ].lock ); - } - - // deferred[ resolve | reject | notify ] - deferred[ tuple[0] ] = function() { - deferred[ tuple[0] + "With" ]( this === deferred ? promise : this, arguments ); - return this; - }; - deferred[ tuple[0] + "With" ] = list.fireWith; - }); - - // Make the deferred a promise - promise.promise( deferred ); - - // Call given func if any - if ( func ) { - func.call( deferred, deferred ); - } - - // All done! - return deferred; - }, - - // Deferred helper - when: function( subordinate /* , ..., subordinateN */ ) { - var i = 0, - resolveValues = core_slice.call( arguments ), - length = resolveValues.length, - - // the count of uncompleted subordinates - remaining = length !== 1 || ( subordinate && jQuery.isFunction( subordinate.promise ) ) ? length : 0, - - // the master Deferred. If resolveValues consist of only a single Deferred, just use that. - deferred = remaining === 1 ? subordinate : jQuery.Deferred(), - - // Update function for both resolve and progress values - updateFunc = function( i, contexts, values ) { - return function( value ) { - contexts[ i ] = this; - values[ i ] = arguments.length > 1 ? core_slice.call( arguments ) : value; - if( values === progressValues ) { - deferred.notifyWith( contexts, values ); - } else if ( !( --remaining ) ) { - deferred.resolveWith( contexts, values ); - } - }; - }, - - progressValues, progressContexts, resolveContexts; - - // add listeners to Deferred subordinates; treat others as resolved - if ( length > 1 ) { - progressValues = new Array( length ); - progressContexts = new Array( length ); - resolveContexts = new Array( length ); - for ( ; i < length; i++ ) { - if ( resolveValues[ i ] && jQuery.isFunction( resolveValues[ i ].promise ) ) { - resolveValues[ i ].promise() - .done( updateFunc( i, resolveContexts, resolveValues ) ) - .fail( deferred.reject ) - .progress( updateFunc( i, progressContexts, progressValues ) ); - } else { - --remaining; - } - } - } - - // if we're not waiting on anything, resolve the master - if ( !remaining ) { - deferred.resolveWith( resolveContexts, resolveValues ); - } - - return deferred.promise(); - } -}); -jQuery.support = (function( support ) { - - var all, a, input, select, fragment, opt, eventName, isSupported, i, - div = document.createElement("div"); - - // Setup - div.setAttribute( "className", "t" ); - div.innerHTML = "
            a"; - - // Finish early in limited (non-browser) environments - all = div.getElementsByTagName("*") || []; - a = div.getElementsByTagName("a")[ 0 ]; - if ( !a || !a.style || !all.length ) { - return support; - } - - // First batch of tests - select = document.createElement("select"); - opt = select.appendChild( document.createElement("option") ); - input = div.getElementsByTagName("input")[ 0 ]; - - a.style.cssText = "top:1px;float:left;opacity:.5"; - - // Test setAttribute on camelCase class. If it works, we need attrFixes when doing get/setAttribute (ie6/7) - support.getSetAttribute = div.className !== "t"; - - // IE strips leading whitespace when .innerHTML is used - support.leadingWhitespace = div.firstChild.nodeType === 3; - - // Make sure that tbody elements aren't automatically inserted - // IE will insert them into empty tables - support.tbody = !div.getElementsByTagName("tbody").length; - - // Make sure that link elements get serialized correctly by innerHTML - // This requires a wrapper element in IE - support.htmlSerialize = !!div.getElementsByTagName("link").length; - - // Get the style information from getAttribute - // (IE uses .cssText instead) - support.style = /top/.test( a.getAttribute("style") ); - - // Make sure that URLs aren't manipulated - // (IE normalizes it by default) - support.hrefNormalized = a.getAttribute("href") === "/a"; - - // Make sure that element opacity exists - // (IE uses filter instead) - // Use a regex to work around a WebKit issue. See #5145 - support.opacity = /^0.5/.test( a.style.opacity ); - - // Verify style float existence - // (IE uses styleFloat instead of cssFloat) - support.cssFloat = !!a.style.cssFloat; - - // Check the default checkbox/radio value ("" on WebKit; "on" elsewhere) - support.checkOn = !!input.value; - - // Make sure that a selected-by-default option has a working selected property. - // (WebKit defaults to false instead of true, IE too, if it's in an optgroup) - support.optSelected = opt.selected; - - // Tests for enctype support on a form (#6743) - support.enctype = !!document.createElement("form").enctype; - - // Makes sure cloning an html5 element does not cause problems - // Where outerHTML is undefined, this still works - support.html5Clone = document.createElement("nav").cloneNode( true ).outerHTML !== "<:nav>"; - - // Will be defined later - support.inlineBlockNeedsLayout = false; - support.shrinkWrapBlocks = false; - support.pixelPosition = false; - support.deleteExpando = true; - support.noCloneEvent = true; - support.reliableMarginRight = true; - support.boxSizingReliable = true; - - // Make sure checked status is properly cloned - input.checked = true; - support.noCloneChecked = input.cloneNode( true ).checked; - - // Make sure that the options inside disabled selects aren't marked as disabled - // (WebKit marks them as disabled) - select.disabled = true; - support.optDisabled = !opt.disabled; - - // Support: IE<9 - try { - delete div.test; - } catch( e ) { - support.deleteExpando = false; - } - - // Check if we can trust getAttribute("value") - input = document.createElement("input"); - input.setAttribute( "value", "" ); - support.input = input.getAttribute( "value" ) === ""; - - // Check if an input maintains its value after becoming a radio - input.value = "t"; - input.setAttribute( "type", "radio" ); - support.radioValue = input.value === "t"; - - // #11217 - WebKit loses check when the name is after the checked attribute - input.setAttribute( "checked", "t" ); - input.setAttribute( "name", "t" ); - - fragment = document.createDocumentFragment(); - fragment.appendChild( input ); - - // Check if a disconnected checkbox will retain its checked - // value of true after appended to the DOM (IE6/7) - support.appendChecked = input.checked; - - // WebKit doesn't clone checked state correctly in fragments - support.checkClone = fragment.cloneNode( true ).cloneNode( true ).lastChild.checked; - - // Support: IE<9 - // Opera does not clone events (and typeof div.attachEvent === undefined). - // IE9-10 clones events bound via attachEvent, but they don't trigger with .click() - if ( div.attachEvent ) { - div.attachEvent( "onclick", function() { - support.noCloneEvent = false; - }); - - div.cloneNode( true ).click(); - } - - // Support: IE<9 (lack submit/change bubble), Firefox 17+ (lack focusin event) - // Beware of CSP restrictions (https://developer.mozilla.org/en/Security/CSP) - for ( i in { submit: true, change: true, focusin: true }) { - div.setAttribute( eventName = "on" + i, "t" ); - - support[ i + "Bubbles" ] = eventName in window || div.attributes[ eventName ].expando === false; - } - - div.style.backgroundClip = "content-box"; - div.cloneNode( true ).style.backgroundClip = ""; - support.clearCloneStyle = div.style.backgroundClip === "content-box"; - - // Support: IE<9 - // Iteration over object's inherited properties before its own. - for ( i in jQuery( support ) ) { - break; - } - support.ownLast = i !== "0"; - - // Run tests that need a body at doc ready - jQuery(function() { - var container, marginDiv, tds, - divReset = "padding:0;margin:0;border:0;display:block;box-sizing:content-box;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;", - body = document.getElementsByTagName("body")[0]; - - if ( !body ) { - // Return for frameset docs that don't have a body - return; - } - - container = document.createElement("div"); - container.style.cssText = "border:0;width:0;height:0;position:absolute;top:0;left:-9999px;margin-top:1px"; - - body.appendChild( container ).appendChild( div ); - - // Support: IE8 - // Check if table cells still have offsetWidth/Height when they are set - // to display:none and there are still other visible table cells in a - // table row; if so, offsetWidth/Height are not reliable for use when - // determining if an element has been hidden directly using - // display:none (it is still safe to use offsets if a parent element is - // hidden; don safety goggles and see bug #4512 for more information). - div.innerHTML = "
            t
            "; - tds = div.getElementsByTagName("td"); - tds[ 0 ].style.cssText = "padding:0;margin:0;border:0;display:none"; - isSupported = ( tds[ 0 ].offsetHeight === 0 ); - - tds[ 0 ].style.display = ""; - tds[ 1 ].style.display = "none"; - - // Support: IE8 - // Check if empty table cells still have offsetWidth/Height - support.reliableHiddenOffsets = isSupported && ( tds[ 0 ].offsetHeight === 0 ); - - // Check box-sizing and margin behavior. - div.innerHTML = ""; - div.style.cssText = "box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;padding:1px;border:1px;display:block;width:4px;margin-top:1%;position:absolute;top:1%;"; - - // Workaround failing boxSizing test due to offsetWidth returning wrong value - // with some non-1 values of body zoom, ticket #13543 - jQuery.swap( body, body.style.zoom != null ? { zoom: 1 } : {}, function() { - support.boxSizing = div.offsetWidth === 4; - }); - - // Use window.getComputedStyle because jsdom on node.js will break without it. - if ( window.getComputedStyle ) { - support.pixelPosition = ( window.getComputedStyle( div, null ) || {} ).top !== "1%"; - support.boxSizingReliable = ( window.getComputedStyle( div, null ) || { width: "4px" } ).width === "4px"; - - // Check if div with explicit width and no margin-right incorrectly - // gets computed margin-right based on width of container. (#3333) - // Fails in WebKit before Feb 2011 nightlies - // WebKit Bug 13343 - getComputedStyle returns wrong value for margin-right - marginDiv = div.appendChild( document.createElement("div") ); - marginDiv.style.cssText = div.style.cssText = divReset; - marginDiv.style.marginRight = marginDiv.style.width = "0"; - div.style.width = "1px"; - - support.reliableMarginRight = - !parseFloat( ( window.getComputedStyle( marginDiv, null ) || {} ).marginRight ); - } - - if ( typeof div.style.zoom !== core_strundefined ) { - // Support: IE<8 - // Check if natively block-level elements act like inline-block - // elements when setting their display to 'inline' and giving - // them layout - div.innerHTML = ""; - div.style.cssText = divReset + "width:1px;padding:1px;display:inline;zoom:1"; - support.inlineBlockNeedsLayout = ( div.offsetWidth === 3 ); - - // Support: IE6 - // Check if elements with layout shrink-wrap their children - div.style.display = "block"; - div.innerHTML = "
            "; - div.firstChild.style.width = "5px"; - support.shrinkWrapBlocks = ( div.offsetWidth !== 3 ); - - if ( support.inlineBlockNeedsLayout ) { - // Prevent IE 6 from affecting layout for positioned elements #11048 - // Prevent IE from shrinking the body in IE 7 mode #12869 - // Support: IE<8 - body.style.zoom = 1; - } - } - - body.removeChild( container ); - - // Null elements to avoid leaks in IE - container = div = tds = marginDiv = null; - }); - - // Null elements to avoid leaks in IE - all = select = fragment = opt = a = input = null; - - return support; -})({}); - -var rbrace = /(?:\{[\s\S]*\}|\[[\s\S]*\])$/, - rmultiDash = /([A-Z])/g; - -function internalData( elem, name, data, pvt /* Internal Use Only */ ){ - if ( !jQuery.acceptData( elem ) ) { - return; - } - - var ret, thisCache, - internalKey = jQuery.expando, - - // We have to handle DOM nodes and JS objects differently because IE6-7 - // can't GC object references properly across the DOM-JS boundary - isNode = elem.nodeType, - - // Only DOM nodes need the global jQuery cache; JS object data is - // attached directly to the object so GC can occur automatically - cache = isNode ? jQuery.cache : elem, - - // Only defining an ID for JS objects if its cache already exists allows - // the code to shortcut on the same path as a DOM node with no cache - id = isNode ? elem[ internalKey ] : elem[ internalKey ] && internalKey; - - // Avoid doing any more work than we need to when trying to get data on an - // object that has no data at all - if ( (!id || !cache[id] || (!pvt && !cache[id].data)) && data === undefined && typeof name === "string" ) { - return; - } - - if ( !id ) { - // Only DOM nodes need a new unique ID for each element since their data - // ends up in the global cache - if ( isNode ) { - id = elem[ internalKey ] = core_deletedIds.pop() || jQuery.guid++; - } else { - id = internalKey; - } - } - - if ( !cache[ id ] ) { - // Avoid exposing jQuery metadata on plain JS objects when the object - // is serialized using JSON.stringify - cache[ id ] = isNode ? {} : { toJSON: jQuery.noop }; - } - - // An object can be passed to jQuery.data instead of a key/value pair; this gets - // shallow copied over onto the existing cache - if ( typeof name === "object" || typeof name === "function" ) { - if ( pvt ) { - cache[ id ] = jQuery.extend( cache[ id ], name ); - } else { - cache[ id ].data = jQuery.extend( cache[ id ].data, name ); - } - } - - thisCache = cache[ id ]; - - // jQuery data() is stored in a separate object inside the object's internal data - // cache in order to avoid key collisions between internal data and user-defined - // data. - if ( !pvt ) { - if ( !thisCache.data ) { - thisCache.data = {}; - } - - thisCache = thisCache.data; - } - - if ( data !== undefined ) { - thisCache[ jQuery.camelCase( name ) ] = data; - } - - // Check for both converted-to-camel and non-converted data property names - // If a data property was specified - if ( typeof name === "string" ) { - - // First Try to find as-is property data - ret = thisCache[ name ]; - - // Test for null|undefined property data - if ( ret == null ) { - - // Try to find the camelCased property - ret = thisCache[ jQuery.camelCase( name ) ]; - } - } else { - ret = thisCache; - } - - return ret; -} - -function internalRemoveData( elem, name, pvt ) { - if ( !jQuery.acceptData( elem ) ) { - return; - } - - var thisCache, i, - isNode = elem.nodeType, - - // See jQuery.data for more information - cache = isNode ? jQuery.cache : elem, - id = isNode ? elem[ jQuery.expando ] : jQuery.expando; - - // If there is already no cache entry for this object, there is no - // purpose in continuing - if ( !cache[ id ] ) { - return; - } - - if ( name ) { - - thisCache = pvt ? cache[ id ] : cache[ id ].data; - - if ( thisCache ) { - - // Support array or space separated string names for data keys - if ( !jQuery.isArray( name ) ) { - - // try the string as a key before any manipulation - if ( name in thisCache ) { - name = [ name ]; - } else { - - // split the camel cased version by spaces unless a key with the spaces exists - name = jQuery.camelCase( name ); - if ( name in thisCache ) { - name = [ name ]; - } else { - name = name.split(" "); - } - } - } else { - // If "name" is an array of keys... - // When data is initially created, via ("key", "val") signature, - // keys will be converted to camelCase. - // Since there is no way to tell _how_ a key was added, remove - // both plain key and camelCase key. #12786 - // This will only penalize the array argument path. - name = name.concat( jQuery.map( name, jQuery.camelCase ) ); - } - - i = name.length; - while ( i-- ) { - delete thisCache[ name[i] ]; - } - - // If there is no data left in the cache, we want to continue - // and let the cache object itself get destroyed - if ( pvt ? !isEmptyDataObject(thisCache) : !jQuery.isEmptyObject(thisCache) ) { - return; - } - } - } - - // See jQuery.data for more information - if ( !pvt ) { - delete cache[ id ].data; - - // Don't destroy the parent cache unless the internal data object - // had been the only thing left in it - if ( !isEmptyDataObject( cache[ id ] ) ) { - return; - } - } - - // Destroy the cache - if ( isNode ) { - jQuery.cleanData( [ elem ], true ); - - // Use delete when supported for expandos or `cache` is not a window per isWindow (#10080) - /* jshint eqeqeq: false */ - } else if ( jQuery.support.deleteExpando || cache != cache.window ) { - /* jshint eqeqeq: true */ - delete cache[ id ]; - - // When all else fails, null - } else { - cache[ id ] = null; - } -} - -jQuery.extend({ - cache: {}, - - // The following elements throw uncatchable exceptions if you - // attempt to add expando properties to them. - noData: { - "applet": true, - "embed": true, - // Ban all objects except for Flash (which handle expandos) - "object": "clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" - }, - - hasData: function( elem ) { - elem = elem.nodeType ? jQuery.cache[ elem[jQuery.expando] ] : elem[ jQuery.expando ]; - return !!elem && !isEmptyDataObject( elem ); - }, - - data: function( elem, name, data ) { - return internalData( elem, name, data ); - }, - - removeData: function( elem, name ) { - return internalRemoveData( elem, name ); - }, - - // For internal use only. - _data: function( elem, name, data ) { - return internalData( elem, name, data, true ); - }, - - _removeData: function( elem, name ) { - return internalRemoveData( elem, name, true ); - }, - - // A method for determining if a DOM node can handle the data expando - acceptData: function( elem ) { - // Do not set data on non-element because it will not be cleared (#8335). - if ( elem.nodeType && elem.nodeType !== 1 && elem.nodeType !== 9 ) { - return false; - } - - var noData = elem.nodeName && jQuery.noData[ elem.nodeName.toLowerCase() ]; - - // nodes accept data unless otherwise specified; rejection can be conditional - return !noData || noData !== true && elem.getAttribute("classid") === noData; - } -}); - -jQuery.fn.extend({ - data: function( key, value ) { - var attrs, name, - data = null, - i = 0, - elem = this[0]; - - // Special expections of .data basically thwart jQuery.access, - // so implement the relevant behavior ourselves - - // Gets all values - if ( key === undefined ) { - if ( this.length ) { - data = jQuery.data( elem ); - - if ( elem.nodeType === 1 && !jQuery._data( elem, "parsedAttrs" ) ) { - attrs = elem.attributes; - for ( ; i < attrs.length; i++ ) { - name = attrs[i].name; - - if ( name.indexOf("data-") === 0 ) { - name = jQuery.camelCase( name.slice(5) ); - - dataAttr( elem, name, data[ name ] ); - } - } - jQuery._data( elem, "parsedAttrs", true ); - } - } - - return data; - } - - // Sets multiple values - if ( typeof key === "object" ) { - return this.each(function() { - jQuery.data( this, key ); - }); - } - - return arguments.length > 1 ? - - // Sets one value - this.each(function() { - jQuery.data( this, key, value ); - }) : - - // Gets one value - // Try to fetch any internally stored data first - elem ? dataAttr( elem, key, jQuery.data( elem, key ) ) : null; - }, - - removeData: function( key ) { - return this.each(function() { - jQuery.removeData( this, key ); - }); - } -}); - -function dataAttr( elem, key, data ) { - // If nothing was found internally, try to fetch any - // data from the HTML5 data-* attribute - if ( data === undefined && elem.nodeType === 1 ) { - - var name = "data-" + key.replace( rmultiDash, "-$1" ).toLowerCase(); - - data = elem.getAttribute( name ); - - if ( typeof data === "string" ) { - try { - data = data === "true" ? true : - data === "false" ? false : - data === "null" ? null : - // Only convert to a number if it doesn't change the string - +data + "" === data ? +data : - rbrace.test( data ) ? jQuery.parseJSON( data ) : - data; - } catch( e ) {} - - // Make sure we set the data so it isn't changed later - jQuery.data( elem, key, data ); - - } else { - data = undefined; - } - } - - return data; -} - -// checks a cache object for emptiness -function isEmptyDataObject( obj ) { - var name; - for ( name in obj ) { - - // if the public data object is empty, the private is still empty - if ( name === "data" && jQuery.isEmptyObject( obj[name] ) ) { - continue; - } - if ( name !== "toJSON" ) { - return false; - } - } - - return true; -} -jQuery.extend({ - queue: function( elem, type, data ) { - var queue; - - if ( elem ) { - type = ( type || "fx" ) + "queue"; - queue = jQuery._data( elem, type ); - - // Speed up dequeue by getting out quickly if this is just a lookup - if ( data ) { - if ( !queue || jQuery.isArray(data) ) { - queue = jQuery._data( elem, type, jQuery.makeArray(data) ); - } else { - queue.push( data ); - } - } - return queue || []; - } - }, - - dequeue: function( elem, type ) { - type = type || "fx"; - - var queue = jQuery.queue( elem, type ), - startLength = queue.length, - fn = queue.shift(), - hooks = jQuery._queueHooks( elem, type ), - next = function() { - jQuery.dequeue( elem, type ); - }; - - // If the fx queue is dequeued, always remove the progress sentinel - if ( fn === "inprogress" ) { - fn = queue.shift(); - startLength--; - } - - if ( fn ) { - - // Add a progress sentinel to prevent the fx queue from being - // automatically dequeued - if ( type === "fx" ) { - queue.unshift( "inprogress" ); - } - - // clear up the last queue stop function - delete hooks.stop; - fn.call( elem, next, hooks ); - } - - if ( !startLength && hooks ) { - hooks.empty.fire(); - } - }, - - // not intended for public consumption - generates a queueHooks object, or returns the current one - _queueHooks: function( elem, type ) { - var key = type + "queueHooks"; - return jQuery._data( elem, key ) || jQuery._data( elem, key, { - empty: jQuery.Callbacks("once memory").add(function() { - jQuery._removeData( elem, type + "queue" ); - jQuery._removeData( elem, key ); - }) - }); - } -}); - -jQuery.fn.extend({ - queue: function( type, data ) { - var setter = 2; - - if ( typeof type !== "string" ) { - data = type; - type = "fx"; - setter--; - } - - if ( arguments.length < setter ) { - return jQuery.queue( this[0], type ); - } - - return data === undefined ? - this : - this.each(function() { - var queue = jQuery.queue( this, type, data ); - - // ensure a hooks for this queue - jQuery._queueHooks( this, type ); - - if ( type === "fx" && queue[0] !== "inprogress" ) { - jQuery.dequeue( this, type ); - } - }); - }, - dequeue: function( type ) { - return this.each(function() { - jQuery.dequeue( this, type ); - }); - }, - // Based off of the plugin by Clint Helfers, with permission. - // http://blindsignals.com/index.php/2009/07/jquery-delay/ - delay: function( time, type ) { - time = jQuery.fx ? jQuery.fx.speeds[ time ] || time : time; - type = type || "fx"; - - return this.queue( type, function( next, hooks ) { - var timeout = setTimeout( next, time ); - hooks.stop = function() { - clearTimeout( timeout ); - }; - }); - }, - clearQueue: function( type ) { - return this.queue( type || "fx", [] ); - }, - // Get a promise resolved when queues of a certain type - // are emptied (fx is the type by default) - promise: function( type, obj ) { - var tmp, - count = 1, - defer = jQuery.Deferred(), - elements = this, - i = this.length, - resolve = function() { - if ( !( --count ) ) { - defer.resolveWith( elements, [ elements ] ); - } - }; - - if ( typeof type !== "string" ) { - obj = type; - type = undefined; - } - type = type || "fx"; - - while( i-- ) { - tmp = jQuery._data( elements[ i ], type + "queueHooks" ); - if ( tmp && tmp.empty ) { - count++; - tmp.empty.add( resolve ); - } - } - resolve(); - return defer.promise( obj ); - } -}); -var nodeHook, boolHook, - rclass = /[\t\r\n\f]/g, - rreturn = /\r/g, - rfocusable = /^(?:input|select|textarea|button|object)$/i, - rclickable = /^(?:a|area)$/i, - ruseDefault = /^(?:checked|selected)$/i, - getSetAttribute = jQuery.support.getSetAttribute, - getSetInput = jQuery.support.input; - -jQuery.fn.extend({ - attr: function( name, value ) { - return jQuery.access( this, jQuery.attr, name, value, arguments.length > 1 ); - }, - - removeAttr: function( name ) { - return this.each(function() { - jQuery.removeAttr( this, name ); - }); - }, - - prop: function( name, value ) { - return jQuery.access( this, jQuery.prop, name, value, arguments.length > 1 ); - }, - - removeProp: function( name ) { - name = jQuery.propFix[ name ] || name; - return this.each(function() { - // try/catch handles cases where IE balks (such as removing a property on window) - try { - this[ name ] = undefined; - delete this[ name ]; - } catch( e ) {} - }); - }, - - addClass: function( value ) { - var classes, elem, cur, clazz, j, - i = 0, - len = this.length, - proceed = typeof value === "string" && value; - - if ( jQuery.isFunction( value ) ) { - return this.each(function( j ) { - jQuery( this ).addClass( value.call( this, j, this.className ) ); - }); - } - - if ( proceed ) { - // The disjunction here is for better compressibility (see removeClass) - classes = ( value || "" ).match( core_rnotwhite ) || []; - - for ( ; i < len; i++ ) { - elem = this[ i ]; - cur = elem.nodeType === 1 && ( elem.className ? - ( " " + elem.className + " " ).replace( rclass, " " ) : - " " - ); - - if ( cur ) { - j = 0; - while ( (clazz = classes[j++]) ) { - if ( cur.indexOf( " " + clazz + " " ) < 0 ) { - cur += clazz + " "; - } - } - elem.className = jQuery.trim( cur ); - - } - } - } - - return this; - }, - - removeClass: function( value ) { - var classes, elem, cur, clazz, j, - i = 0, - len = this.length, - proceed = arguments.length === 0 || typeof value === "string" && value; - - if ( jQuery.isFunction( value ) ) { - return this.each(function( j ) { - jQuery( this ).removeClass( value.call( this, j, this.className ) ); - }); - } - if ( proceed ) { - classes = ( value || "" ).match( core_rnotwhite ) || []; - - for ( ; i < len; i++ ) { - elem = this[ i ]; - // This expression is here for better compressibility (see addClass) - cur = elem.nodeType === 1 && ( elem.className ? - ( " " + elem.className + " " ).replace( rclass, " " ) : - "" - ); - - if ( cur ) { - j = 0; - while ( (clazz = classes[j++]) ) { - // Remove *all* instances - while ( cur.indexOf( " " + clazz + " " ) >= 0 ) { - cur = cur.replace( " " + clazz + " ", " " ); - } - } - elem.className = value ? jQuery.trim( cur ) : ""; - } - } - } - - return this; - }, - - toggleClass: function( value, stateVal ) { - var type = typeof value; - - if ( typeof stateVal === "boolean" && type === "string" ) { - return stateVal ? this.addClass( value ) : this.removeClass( value ); - } - - if ( jQuery.isFunction( value ) ) { - return this.each(function( i ) { - jQuery( this ).toggleClass( value.call(this, i, this.className, stateVal), stateVal ); - }); - } - - return this.each(function() { - if ( type === "string" ) { - // toggle individual class names - var className, - i = 0, - self = jQuery( this ), - classNames = value.match( core_rnotwhite ) || []; - - while ( (className = classNames[ i++ ]) ) { - // check each className given, space separated list - if ( self.hasClass( className ) ) { - self.removeClass( className ); - } else { - self.addClass( className ); - } - } - - // Toggle whole class name - } else if ( type === core_strundefined || type === "boolean" ) { - if ( this.className ) { - // store className if set - jQuery._data( this, "__className__", this.className ); - } - - // If the element has a class name or if we're passed "false", - // then remove the whole classname (if there was one, the above saved it). - // Otherwise bring back whatever was previously saved (if anything), - // falling back to the empty string if nothing was stored. - this.className = this.className || value === false ? "" : jQuery._data( this, "__className__" ) || ""; - } - }); - }, - - hasClass: function( selector ) { - var className = " " + selector + " ", - i = 0, - l = this.length; - for ( ; i < l; i++ ) { - if ( this[i].nodeType === 1 && (" " + this[i].className + " ").replace(rclass, " ").indexOf( className ) >= 0 ) { - return true; - } - } - - return false; - }, - - val: function( value ) { - var ret, hooks, isFunction, - elem = this[0]; - - if ( !arguments.length ) { - if ( elem ) { - hooks = jQuery.valHooks[ elem.type ] || jQuery.valHooks[ elem.nodeName.toLowerCase() ]; - - if ( hooks && "get" in hooks && (ret = hooks.get( elem, "value" )) !== undefined ) { - return ret; - } - - ret = elem.value; - - return typeof ret === "string" ? - // handle most common string cases - ret.replace(rreturn, "") : - // handle cases where value is null/undef or number - ret == null ? "" : ret; - } - - return; - } - - isFunction = jQuery.isFunction( value ); - - return this.each(function( i ) { - var val; - - if ( this.nodeType !== 1 ) { - return; - } - - if ( isFunction ) { - val = value.call( this, i, jQuery( this ).val() ); - } else { - val = value; - } - - // Treat null/undefined as ""; convert numbers to string - if ( val == null ) { - val = ""; - } else if ( typeof val === "number" ) { - val += ""; - } else if ( jQuery.isArray( val ) ) { - val = jQuery.map(val, function ( value ) { - return value == null ? "" : value + ""; - }); - } - - hooks = jQuery.valHooks[ this.type ] || jQuery.valHooks[ this.nodeName.toLowerCase() ]; - - // If set returns undefined, fall back to normal setting - if ( !hooks || !("set" in hooks) || hooks.set( this, val, "value" ) === undefined ) { - this.value = val; - } - }); - } -}); - -jQuery.extend({ - valHooks: { - option: { - get: function( elem ) { - // Use proper attribute retrieval(#6932, #12072) - var val = jQuery.find.attr( elem, "value" ); - return val != null ? - val : - elem.text; - } - }, - select: { - get: function( elem ) { - var value, option, - options = elem.options, - index = elem.selectedIndex, - one = elem.type === "select-one" || index < 0, - values = one ? null : [], - max = one ? index + 1 : options.length, - i = index < 0 ? - max : - one ? index : 0; - - // Loop through all the selected options - for ( ; i < max; i++ ) { - option = options[ i ]; - - // oldIE doesn't update selected after form reset (#2551) - if ( ( option.selected || i === index ) && - // Don't return options that are disabled or in a disabled optgroup - ( jQuery.support.optDisabled ? !option.disabled : option.getAttribute("disabled") === null ) && - ( !option.parentNode.disabled || !jQuery.nodeName( option.parentNode, "optgroup" ) ) ) { - - // Get the specific value for the option - value = jQuery( option ).val(); - - // We don't need an array for one selects - if ( one ) { - return value; - } - - // Multi-Selects return an array - values.push( value ); - } - } - - return values; - }, - - set: function( elem, value ) { - var optionSet, option, - options = elem.options, - values = jQuery.makeArray( value ), - i = options.length; - - while ( i-- ) { - option = options[ i ]; - if ( (option.selected = jQuery.inArray( jQuery(option).val(), values ) >= 0) ) { - optionSet = true; - } - } - - // force browsers to behave consistently when non-matching value is set - if ( !optionSet ) { - elem.selectedIndex = -1; - } - return values; - } - } - }, - - attr: function( elem, name, value ) { - var hooks, ret, - nType = elem.nodeType; - - // don't get/set attributes on text, comment and attribute nodes - if ( !elem || nType === 3 || nType === 8 || nType === 2 ) { - return; - } - - // Fallback to prop when attributes are not supported - if ( typeof elem.getAttribute === core_strundefined ) { - return jQuery.prop( elem, name, value ); - } - - // All attributes are lowercase - // Grab necessary hook if one is defined - if ( nType !== 1 || !jQuery.isXMLDoc( elem ) ) { - name = name.toLowerCase(); - hooks = jQuery.attrHooks[ name ] || - ( jQuery.expr.match.bool.test( name ) ? boolHook : nodeHook ); - } - - if ( value !== undefined ) { - - if ( value === null ) { - jQuery.removeAttr( elem, name ); - - } else if ( hooks && "set" in hooks && (ret = hooks.set( elem, value, name )) !== undefined ) { - return ret; - - } else { - elem.setAttribute( name, value + "" ); - return value; - } - - } else if ( hooks && "get" in hooks && (ret = hooks.get( elem, name )) !== null ) { - return ret; - - } else { - ret = jQuery.find.attr( elem, name ); - - // Non-existent attributes return null, we normalize to undefined - return ret == null ? - undefined : - ret; - } - }, - - removeAttr: function( elem, value ) { - var name, propName, - i = 0, - attrNames = value && value.match( core_rnotwhite ); - - if ( attrNames && elem.nodeType === 1 ) { - while ( (name = attrNames[i++]) ) { - propName = jQuery.propFix[ name ] || name; - - // Boolean attributes get special treatment (#10870) - if ( jQuery.expr.match.bool.test( name ) ) { - // Set corresponding property to false - if ( getSetInput && getSetAttribute || !ruseDefault.test( name ) ) { - elem[ propName ] = false; - // Support: IE<9 - // Also clear defaultChecked/defaultSelected (if appropriate) - } else { - elem[ jQuery.camelCase( "default-" + name ) ] = - elem[ propName ] = false; - } - - // See #9699 for explanation of this approach (setting first, then removal) - } else { - jQuery.attr( elem, name, "" ); - } - - elem.removeAttribute( getSetAttribute ? name : propName ); - } - } - }, - - attrHooks: { - type: { - set: function( elem, value ) { - if ( !jQuery.support.radioValue && value === "radio" && jQuery.nodeName(elem, "input") ) { - // Setting the type on a radio button after the value resets the value in IE6-9 - // Reset value to default in case type is set after value during creation - var val = elem.value; - elem.setAttribute( "type", value ); - if ( val ) { - elem.value = val; - } - return value; - } - } - } - }, - - propFix: { - "for": "htmlFor", - "class": "className" - }, - - prop: function( elem, name, value ) { - var ret, hooks, notxml, - nType = elem.nodeType; - - // don't get/set properties on text, comment and attribute nodes - if ( !elem || nType === 3 || nType === 8 || nType === 2 ) { - return; - } - - notxml = nType !== 1 || !jQuery.isXMLDoc( elem ); - - if ( notxml ) { - // Fix name and attach hooks - name = jQuery.propFix[ name ] || name; - hooks = jQuery.propHooks[ name ]; - } - - if ( value !== undefined ) { - return hooks && "set" in hooks && (ret = hooks.set( elem, value, name )) !== undefined ? - ret : - ( elem[ name ] = value ); - - } else { - return hooks && "get" in hooks && (ret = hooks.get( elem, name )) !== null ? - ret : - elem[ name ]; - } - }, - - propHooks: { - tabIndex: { - get: function( elem ) { - // elem.tabIndex doesn't always return the correct value when it hasn't been explicitly set - // http://fluidproject.org/blog/2008/01/09/getting-setting-and-removing-tabindex-values-with-javascript/ - // Use proper attribute retrieval(#12072) - var tabindex = jQuery.find.attr( elem, "tabindex" ); - - return tabindex ? - parseInt( tabindex, 10 ) : - rfocusable.test( elem.nodeName ) || rclickable.test( elem.nodeName ) && elem.href ? - 0 : - -1; - } - } - } -}); - -// Hooks for boolean attributes -boolHook = { - set: function( elem, value, name ) { - if ( value === false ) { - // Remove boolean attributes when set to false - jQuery.removeAttr( elem, name ); - } else if ( getSetInput && getSetAttribute || !ruseDefault.test( name ) ) { - // IE<8 needs the *property* name - elem.setAttribute( !getSetAttribute && jQuery.propFix[ name ] || name, name ); - - // Use defaultChecked and defaultSelected for oldIE - } else { - elem[ jQuery.camelCase( "default-" + name ) ] = elem[ name ] = true; - } - - return name; - } -}; -jQuery.each( jQuery.expr.match.bool.source.match( /\w+/g ), function( i, name ) { - var getter = jQuery.expr.attrHandle[ name ] || jQuery.find.attr; - - jQuery.expr.attrHandle[ name ] = getSetInput && getSetAttribute || !ruseDefault.test( name ) ? - function( elem, name, isXML ) { - var fn = jQuery.expr.attrHandle[ name ], - ret = isXML ? - undefined : - /* jshint eqeqeq: false */ - (jQuery.expr.attrHandle[ name ] = undefined) != - getter( elem, name, isXML ) ? - - name.toLowerCase() : - null; - jQuery.expr.attrHandle[ name ] = fn; - return ret; - } : - function( elem, name, isXML ) { - return isXML ? - undefined : - elem[ jQuery.camelCase( "default-" + name ) ] ? - name.toLowerCase() : - null; - }; -}); - -// fix oldIE attroperties -if ( !getSetInput || !getSetAttribute ) { - jQuery.attrHooks.value = { - set: function( elem, value, name ) { - if ( jQuery.nodeName( elem, "input" ) ) { - // Does not return so that setAttribute is also used - elem.defaultValue = value; - } else { - // Use nodeHook if defined (#1954); otherwise setAttribute is fine - return nodeHook && nodeHook.set( elem, value, name ); - } - } - }; -} - -// IE6/7 do not support getting/setting some attributes with get/setAttribute -if ( !getSetAttribute ) { - - // Use this for any attribute in IE6/7 - // This fixes almost every IE6/7 issue - nodeHook = { - set: function( elem, value, name ) { - // Set the existing or create a new attribute node - var ret = elem.getAttributeNode( name ); - if ( !ret ) { - elem.setAttributeNode( - (ret = elem.ownerDocument.createAttribute( name )) - ); - } - - ret.value = value += ""; - - // Break association with cloned elements by also using setAttribute (#9646) - return name === "value" || value === elem.getAttribute( name ) ? - value : - undefined; - } - }; - jQuery.expr.attrHandle.id = jQuery.expr.attrHandle.name = jQuery.expr.attrHandle.coords = - // Some attributes are constructed with empty-string values when not defined - function( elem, name, isXML ) { - var ret; - return isXML ? - undefined : - (ret = elem.getAttributeNode( name )) && ret.value !== "" ? - ret.value : - null; - }; - jQuery.valHooks.button = { - get: function( elem, name ) { - var ret = elem.getAttributeNode( name ); - return ret && ret.specified ? - ret.value : - undefined; - }, - set: nodeHook.set - }; - - // Set contenteditable to false on removals(#10429) - // Setting to empty string throws an error as an invalid value - jQuery.attrHooks.contenteditable = { - set: function( elem, value, name ) { - nodeHook.set( elem, value === "" ? false : value, name ); - } - }; - - // Set width and height to auto instead of 0 on empty string( Bug #8150 ) - // This is for removals - jQuery.each([ "width", "height" ], function( i, name ) { - jQuery.attrHooks[ name ] = { - set: function( elem, value ) { - if ( value === "" ) { - elem.setAttribute( name, "auto" ); - return value; - } - } - }; - }); -} - - -// Some attributes require a special call on IE -// http://msdn.microsoft.com/en-us/library/ms536429%28VS.85%29.aspx -if ( !jQuery.support.hrefNormalized ) { - // href/src property should get the full normalized URL (#10299/#12915) - jQuery.each([ "href", "src" ], function( i, name ) { - jQuery.propHooks[ name ] = { - get: function( elem ) { - return elem.getAttribute( name, 4 ); - } - }; - }); -} - -if ( !jQuery.support.style ) { - jQuery.attrHooks.style = { - get: function( elem ) { - // Return undefined in the case of empty string - // Note: IE uppercases css property names, but if we were to .toLowerCase() - // .cssText, that would destroy case senstitivity in URL's, like in "background" - return elem.style.cssText || undefined; - }, - set: function( elem, value ) { - return ( elem.style.cssText = value + "" ); - } - }; -} - -// Safari mis-reports the default selected property of an option -// Accessing the parent's selectedIndex property fixes it -if ( !jQuery.support.optSelected ) { - jQuery.propHooks.selected = { - get: function( elem ) { - var parent = elem.parentNode; - - if ( parent ) { - parent.selectedIndex; - - // Make sure that it also works with optgroups, see #5701 - if ( parent.parentNode ) { - parent.parentNode.selectedIndex; - } - } - return null; - } - }; -} - -jQuery.each([ - "tabIndex", - "readOnly", - "maxLength", - "cellSpacing", - "cellPadding", - "rowSpan", - "colSpan", - "useMap", - "frameBorder", - "contentEditable" -], function() { - jQuery.propFix[ this.toLowerCase() ] = this; -}); - -// IE6/7 call enctype encoding -if ( !jQuery.support.enctype ) { - jQuery.propFix.enctype = "encoding"; -} - -// Radios and checkboxes getter/setter -jQuery.each([ "radio", "checkbox" ], function() { - jQuery.valHooks[ this ] = { - set: function( elem, value ) { - if ( jQuery.isArray( value ) ) { - return ( elem.checked = jQuery.inArray( jQuery(elem).val(), value ) >= 0 ); - } - } - }; - if ( !jQuery.support.checkOn ) { - jQuery.valHooks[ this ].get = function( elem ) { - // Support: Webkit - // "" is returned instead of "on" if a value isn't specified - return elem.getAttribute("value") === null ? "on" : elem.value; - }; - } -}); -var rformElems = /^(?:input|select|textarea)$/i, - rkeyEvent = /^key/, - rmouseEvent = /^(?:mouse|contextmenu)|click/, - rfocusMorph = /^(?:focusinfocus|focusoutblur)$/, - rtypenamespace = /^([^.]*)(?:\.(.+)|)$/; - -function returnTrue() { - return true; -} - -function returnFalse() { - return false; -} - -function safeActiveElement() { - try { - return document.activeElement; - } catch ( err ) { } -} - -/* - * Helper functions for managing events -- not part of the public interface. - * Props to Dean Edwards' addEvent library for many of the ideas. - */ -jQuery.event = { - - global: {}, - - add: function( elem, types, handler, data, selector ) { - var tmp, events, t, handleObjIn, - special, eventHandle, handleObj, - handlers, type, namespaces, origType, - elemData = jQuery._data( elem ); - - // Don't attach events to noData or text/comment nodes (but allow plain objects) - if ( !elemData ) { - return; - } - - // Caller can pass in an object of custom data in lieu of the handler - if ( handler.handler ) { - handleObjIn = handler; - handler = handleObjIn.handler; - selector = handleObjIn.selector; - } - - // Make sure that the handler has a unique ID, used to find/remove it later - if ( !handler.guid ) { - handler.guid = jQuery.guid++; - } - - // Init the element's event structure and main handler, if this is the first - if ( !(events = elemData.events) ) { - events = elemData.events = {}; - } - if ( !(eventHandle = elemData.handle) ) { - eventHandle = elemData.handle = function( e ) { - // Discard the second event of a jQuery.event.trigger() and - // when an event is called after a page has unloaded - return typeof jQuery !== core_strundefined && (!e || jQuery.event.triggered !== e.type) ? - jQuery.event.dispatch.apply( eventHandle.elem, arguments ) : - undefined; - }; - // Add elem as a property of the handle fn to prevent a memory leak with IE non-native events - eventHandle.elem = elem; - } - - // Handle multiple events separated by a space - types = ( types || "" ).match( core_rnotwhite ) || [""]; - t = types.length; - while ( t-- ) { - tmp = rtypenamespace.exec( types[t] ) || []; - type = origType = tmp[1]; - namespaces = ( tmp[2] || "" ).split( "." ).sort(); - - // There *must* be a type, no attaching namespace-only handlers - if ( !type ) { - continue; - } - - // If event changes its type, use the special event handlers for the changed type - special = jQuery.event.special[ type ] || {}; - - // If selector defined, determine special event api type, otherwise given type - type = ( selector ? special.delegateType : special.bindType ) || type; - - // Update special based on newly reset type - special = jQuery.event.special[ type ] || {}; - - // handleObj is passed to all event handlers - handleObj = jQuery.extend({ - type: type, - origType: origType, - data: data, - handler: handler, - guid: handler.guid, - selector: selector, - needsContext: selector && jQuery.expr.match.needsContext.test( selector ), - namespace: namespaces.join(".") - }, handleObjIn ); - - // Init the event handler queue if we're the first - if ( !(handlers = events[ type ]) ) { - handlers = events[ type ] = []; - handlers.delegateCount = 0; - - // Only use addEventListener/attachEvent if the special events handler returns false - if ( !special.setup || special.setup.call( elem, data, namespaces, eventHandle ) === false ) { - // Bind the global event handler to the element - if ( elem.addEventListener ) { - elem.addEventListener( type, eventHandle, false ); - - } else if ( elem.attachEvent ) { - elem.attachEvent( "on" + type, eventHandle ); - } - } - } - - if ( special.add ) { - special.add.call( elem, handleObj ); - - if ( !handleObj.handler.guid ) { - handleObj.handler.guid = handler.guid; - } - } - - // Add to the element's handler list, delegates in front - if ( selector ) { - handlers.splice( handlers.delegateCount++, 0, handleObj ); - } else { - handlers.push( handleObj ); - } - - // Keep track of which events have ever been used, for event optimization - jQuery.event.global[ type ] = true; - } - - // Nullify elem to prevent memory leaks in IE - elem = null; - }, - - // Detach an event or set of events from an element - remove: function( elem, types, handler, selector, mappedTypes ) { - var j, handleObj, tmp, - origCount, t, events, - special, handlers, type, - namespaces, origType, - elemData = jQuery.hasData( elem ) && jQuery._data( elem ); - - if ( !elemData || !(events = elemData.events) ) { - return; - } - - // Once for each type.namespace in types; type may be omitted - types = ( types || "" ).match( core_rnotwhite ) || [""]; - t = types.length; - while ( t-- ) { - tmp = rtypenamespace.exec( types[t] ) || []; - type = origType = tmp[1]; - namespaces = ( tmp[2] || "" ).split( "." ).sort(); - - // Unbind all events (on this namespace, if provided) for the element - if ( !type ) { - for ( type in events ) { - jQuery.event.remove( elem, type + types[ t ], handler, selector, true ); - } - continue; - } - - special = jQuery.event.special[ type ] || {}; - type = ( selector ? special.delegateType : special.bindType ) || type; - handlers = events[ type ] || []; - tmp = tmp[2] && new RegExp( "(^|\\.)" + namespaces.join("\\.(?:.*\\.|)") + "(\\.|$)" ); - - // Remove matching events - origCount = j = handlers.length; - while ( j-- ) { - handleObj = handlers[ j ]; - - if ( ( mappedTypes || origType === handleObj.origType ) && - ( !handler || handler.guid === handleObj.guid ) && - ( !tmp || tmp.test( handleObj.namespace ) ) && - ( !selector || selector === handleObj.selector || selector === "**" && handleObj.selector ) ) { - handlers.splice( j, 1 ); - - if ( handleObj.selector ) { - handlers.delegateCount--; - } - if ( special.remove ) { - special.remove.call( elem, handleObj ); - } - } - } - - // Remove generic event handler if we removed something and no more handlers exist - // (avoids potential for endless recursion during removal of special event handlers) - if ( origCount && !handlers.length ) { - if ( !special.teardown || special.teardown.call( elem, namespaces, elemData.handle ) === false ) { - jQuery.removeEvent( elem, type, elemData.handle ); - } - - delete events[ type ]; - } - } - - // Remove the expando if it's no longer used - if ( jQuery.isEmptyObject( events ) ) { - delete elemData.handle; - - // removeData also checks for emptiness and clears the expando if empty - // so use it instead of delete - jQuery._removeData( elem, "events" ); - } - }, - - trigger: function( event, data, elem, onlyHandlers ) { - var handle, ontype, cur, - bubbleType, special, tmp, i, - eventPath = [ elem || document ], - type = core_hasOwn.call( event, "type" ) ? event.type : event, - namespaces = core_hasOwn.call( event, "namespace" ) ? event.namespace.split(".") : []; - - cur = tmp = elem = elem || document; - - // Don't do events on text and comment nodes - if ( elem.nodeType === 3 || elem.nodeType === 8 ) { - return; - } - - // focus/blur morphs to focusin/out; ensure we're not firing them right now - if ( rfocusMorph.test( type + jQuery.event.triggered ) ) { - return; - } - - if ( type.indexOf(".") >= 0 ) { - // Namespaced trigger; create a regexp to match event type in handle() - namespaces = type.split("."); - type = namespaces.shift(); - namespaces.sort(); - } - ontype = type.indexOf(":") < 0 && "on" + type; - - // Caller can pass in a jQuery.Event object, Object, or just an event type string - event = event[ jQuery.expando ] ? - event : - new jQuery.Event( type, typeof event === "object" && event ); - - // Trigger bitmask: & 1 for native handlers; & 2 for jQuery (always true) - event.isTrigger = onlyHandlers ? 2 : 3; - event.namespace = namespaces.join("."); - event.namespace_re = event.namespace ? - new RegExp( "(^|\\.)" + namespaces.join("\\.(?:.*\\.|)") + "(\\.|$)" ) : - null; - - // Clean up the event in case it is being reused - event.result = undefined; - if ( !event.target ) { - event.target = elem; - } - - // Clone any incoming data and prepend the event, creating the handler arg list - data = data == null ? - [ event ] : - jQuery.makeArray( data, [ event ] ); - - // Allow special events to draw outside the lines - special = jQuery.event.special[ type ] || {}; - if ( !onlyHandlers && special.trigger && special.trigger.apply( elem, data ) === false ) { - return; - } - - // Determine event propagation path in advance, per W3C events spec (#9951) - // Bubble up to document, then to window; watch for a global ownerDocument var (#9724) - if ( !onlyHandlers && !special.noBubble && !jQuery.isWindow( elem ) ) { - - bubbleType = special.delegateType || type; - if ( !rfocusMorph.test( bubbleType + type ) ) { - cur = cur.parentNode; - } - for ( ; cur; cur = cur.parentNode ) { - eventPath.push( cur ); - tmp = cur; - } - - // Only add window if we got to document (e.g., not plain obj or detached DOM) - if ( tmp === (elem.ownerDocument || document) ) { - eventPath.push( tmp.defaultView || tmp.parentWindow || window ); - } - } - - // Fire handlers on the event path - i = 0; - while ( (cur = eventPath[i++]) && !event.isPropagationStopped() ) { - - event.type = i > 1 ? - bubbleType : - special.bindType || type; - - // jQuery handler - handle = ( jQuery._data( cur, "events" ) || {} )[ event.type ] && jQuery._data( cur, "handle" ); - if ( handle ) { - handle.apply( cur, data ); - } - - // Native handler - handle = ontype && cur[ ontype ]; - if ( handle && jQuery.acceptData( cur ) && handle.apply && handle.apply( cur, data ) === false ) { - event.preventDefault(); - } - } - event.type = type; - - // If nobody prevented the default action, do it now - if ( !onlyHandlers && !event.isDefaultPrevented() ) { - - if ( (!special._default || special._default.apply( eventPath.pop(), data ) === false) && - jQuery.acceptData( elem ) ) { - - // Call a native DOM method on the target with the same name name as the event. - // Can't use an .isFunction() check here because IE6/7 fails that test. - // Don't do default actions on window, that's where global variables be (#6170) - if ( ontype && elem[ type ] && !jQuery.isWindow( elem ) ) { - - // Don't re-trigger an onFOO event when we call its FOO() method - tmp = elem[ ontype ]; - - if ( tmp ) { - elem[ ontype ] = null; - } - - // Prevent re-triggering of the same event, since we already bubbled it above - jQuery.event.triggered = type; - try { - elem[ type ](); - } catch ( e ) { - // IE<9 dies on focus/blur to hidden element (#1486,#12518) - // only reproducible on winXP IE8 native, not IE9 in IE8 mode - } - jQuery.event.triggered = undefined; - - if ( tmp ) { - elem[ ontype ] = tmp; - } - } - } - } - - return event.result; - }, - - dispatch: function( event ) { - - // Make a writable jQuery.Event from the native event object - event = jQuery.event.fix( event ); - - var i, ret, handleObj, matched, j, - handlerQueue = [], - args = core_slice.call( arguments ), - handlers = ( jQuery._data( this, "events" ) || {} )[ event.type ] || [], - special = jQuery.event.special[ event.type ] || {}; - - // Use the fix-ed jQuery.Event rather than the (read-only) native event - args[0] = event; - event.delegateTarget = this; - - // Call the preDispatch hook for the mapped type, and let it bail if desired - if ( special.preDispatch && special.preDispatch.call( this, event ) === false ) { - return; - } - - // Determine handlers - handlerQueue = jQuery.event.handlers.call( this, event, handlers ); - - // Run delegates first; they may want to stop propagation beneath us - i = 0; - while ( (matched = handlerQueue[ i++ ]) && !event.isPropagationStopped() ) { - event.currentTarget = matched.elem; - - j = 0; - while ( (handleObj = matched.handlers[ j++ ]) && !event.isImmediatePropagationStopped() ) { - - // Triggered event must either 1) have no namespace, or - // 2) have namespace(s) a subset or equal to those in the bound event (both can have no namespace). - if ( !event.namespace_re || event.namespace_re.test( handleObj.namespace ) ) { - - event.handleObj = handleObj; - event.data = handleObj.data; - - ret = ( (jQuery.event.special[ handleObj.origType ] || {}).handle || handleObj.handler ) - .apply( matched.elem, args ); - - if ( ret !== undefined ) { - if ( (event.result = ret) === false ) { - event.preventDefault(); - event.stopPropagation(); - } - } - } - } - } - - // Call the postDispatch hook for the mapped type - if ( special.postDispatch ) { - special.postDispatch.call( this, event ); - } - - return event.result; - }, - - handlers: function( event, handlers ) { - var sel, handleObj, matches, i, - handlerQueue = [], - delegateCount = handlers.delegateCount, - cur = event.target; - - // Find delegate handlers - // Black-hole SVG instance trees (#13180) - // Avoid non-left-click bubbling in Firefox (#3861) - if ( delegateCount && cur.nodeType && (!event.button || event.type !== "click") ) { - - /* jshint eqeqeq: false */ - for ( ; cur != this; cur = cur.parentNode || this ) { - /* jshint eqeqeq: true */ - - // Don't check non-elements (#13208) - // Don't process clicks on disabled elements (#6911, #8165, #11382, #11764) - if ( cur.nodeType === 1 && (cur.disabled !== true || event.type !== "click") ) { - matches = []; - for ( i = 0; i < delegateCount; i++ ) { - handleObj = handlers[ i ]; - - // Don't conflict with Object.prototype properties (#13203) - sel = handleObj.selector + " "; - - if ( matches[ sel ] === undefined ) { - matches[ sel ] = handleObj.needsContext ? - jQuery( sel, this ).index( cur ) >= 0 : - jQuery.find( sel, this, null, [ cur ] ).length; - } - if ( matches[ sel ] ) { - matches.push( handleObj ); - } - } - if ( matches.length ) { - handlerQueue.push({ elem: cur, handlers: matches }); - } - } - } - } - - // Add the remaining (directly-bound) handlers - if ( delegateCount < handlers.length ) { - handlerQueue.push({ elem: this, handlers: handlers.slice( delegateCount ) }); - } - - return handlerQueue; - }, - - fix: function( event ) { - if ( event[ jQuery.expando ] ) { - return event; - } - - // Create a writable copy of the event object and normalize some properties - var i, prop, copy, - type = event.type, - originalEvent = event, - fixHook = this.fixHooks[ type ]; - - if ( !fixHook ) { - this.fixHooks[ type ] = fixHook = - rmouseEvent.test( type ) ? this.mouseHooks : - rkeyEvent.test( type ) ? this.keyHooks : - {}; - } - copy = fixHook.props ? this.props.concat( fixHook.props ) : this.props; - - event = new jQuery.Event( originalEvent ); - - i = copy.length; - while ( i-- ) { - prop = copy[ i ]; - event[ prop ] = originalEvent[ prop ]; - } - - // Support: IE<9 - // Fix target property (#1925) - if ( !event.target ) { - event.target = originalEvent.srcElement || document; - } - - // Support: Chrome 23+, Safari? - // Target should not be a text node (#504, #13143) - if ( event.target.nodeType === 3 ) { - event.target = event.target.parentNode; - } - - // Support: IE<9 - // For mouse/key events, metaKey==false if it's undefined (#3368, #11328) - event.metaKey = !!event.metaKey; - - return fixHook.filter ? fixHook.filter( event, originalEvent ) : event; - }, - - // Includes some event props shared by KeyEvent and MouseEvent - props: "altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "), - - fixHooks: {}, - - keyHooks: { - props: "char charCode key keyCode".split(" "), - filter: function( event, original ) { - - // Add which for key events - if ( event.which == null ) { - event.which = original.charCode != null ? original.charCode : original.keyCode; - } - - return event; - } - }, - - mouseHooks: { - props: "button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "), - filter: function( event, original ) { - var body, eventDoc, doc, - button = original.button, - fromElement = original.fromElement; - - // Calculate pageX/Y if missing and clientX/Y available - if ( event.pageX == null && original.clientX != null ) { - eventDoc = event.target.ownerDocument || document; - doc = eventDoc.documentElement; - body = eventDoc.body; - - event.pageX = original.clientX + ( doc && doc.scrollLeft || body && body.scrollLeft || 0 ) - ( doc && doc.clientLeft || body && body.clientLeft || 0 ); - event.pageY = original.clientY + ( doc && doc.scrollTop || body && body.scrollTop || 0 ) - ( doc && doc.clientTop || body && body.clientTop || 0 ); - } - - // Add relatedTarget, if necessary - if ( !event.relatedTarget && fromElement ) { - event.relatedTarget = fromElement === event.target ? original.toElement : fromElement; - } - - // Add which for click: 1 === left; 2 === middle; 3 === right - // Note: button is not normalized, so don't use it - if ( !event.which && button !== undefined ) { - event.which = ( button & 1 ? 1 : ( button & 2 ? 3 : ( button & 4 ? 2 : 0 ) ) ); - } - - return event; - } - }, - - special: { - load: { - // Prevent triggered image.load events from bubbling to window.load - noBubble: true - }, - focus: { - // Fire native event if possible so blur/focus sequence is correct - trigger: function() { - if ( this !== safeActiveElement() && this.focus ) { - try { - this.focus(); - return false; - } catch ( e ) { - // Support: IE<9 - // If we error on focus to hidden element (#1486, #12518), - // let .trigger() run the handlers - } - } - }, - delegateType: "focusin" - }, - blur: { - trigger: function() { - if ( this === safeActiveElement() && this.blur ) { - this.blur(); - return false; - } - }, - delegateType: "focusout" - }, - click: { - // For checkbox, fire native event so checked state will be right - trigger: function() { - if ( jQuery.nodeName( this, "input" ) && this.type === "checkbox" && this.click ) { - this.click(); - return false; - } - }, - - // For cross-browser consistency, don't fire native .click() on links - _default: function( event ) { - return jQuery.nodeName( event.target, "a" ); - } - }, - - beforeunload: { - postDispatch: function( event ) { - - // Even when returnValue equals to undefined Firefox will still show alert - if ( event.result !== undefined ) { - event.originalEvent.returnValue = event.result; - } - } - } - }, - - simulate: function( type, elem, event, bubble ) { - // Piggyback on a donor event to simulate a different one. - // Fake originalEvent to avoid donor's stopPropagation, but if the - // simulated event prevents default then we do the same on the donor. - var e = jQuery.extend( - new jQuery.Event(), - event, - { - type: type, - isSimulated: true, - originalEvent: {} - } - ); - if ( bubble ) { - jQuery.event.trigger( e, null, elem ); - } else { - jQuery.event.dispatch.call( elem, e ); - } - if ( e.isDefaultPrevented() ) { - event.preventDefault(); - } - } -}; - -jQuery.removeEvent = document.removeEventListener ? - function( elem, type, handle ) { - if ( elem.removeEventListener ) { - elem.removeEventListener( type, handle, false ); - } - } : - function( elem, type, handle ) { - var name = "on" + type; - - if ( elem.detachEvent ) { - - // #8545, #7054, preventing memory leaks for custom events in IE6-8 - // detachEvent needed property on element, by name of that event, to properly expose it to GC - if ( typeof elem[ name ] === core_strundefined ) { - elem[ name ] = null; - } - - elem.detachEvent( name, handle ); - } - }; - -jQuery.Event = function( src, props ) { - // Allow instantiation without the 'new' keyword - if ( !(this instanceof jQuery.Event) ) { - return new jQuery.Event( src, props ); - } - - // Event object - if ( src && src.type ) { - this.originalEvent = src; - this.type = src.type; - - // Events bubbling up the document may have been marked as prevented - // by a handler lower down the tree; reflect the correct value. - this.isDefaultPrevented = ( src.defaultPrevented || src.returnValue === false || - src.getPreventDefault && src.getPreventDefault() ) ? returnTrue : returnFalse; - - // Event type - } else { - this.type = src; - } - - // Put explicitly provided properties onto the event object - if ( props ) { - jQuery.extend( this, props ); - } - - // Create a timestamp if incoming event doesn't have one - this.timeStamp = src && src.timeStamp || jQuery.now(); - - // Mark it as fixed - this[ jQuery.expando ] = true; -}; - -// jQuery.Event is based on DOM3 Events as specified by the ECMAScript Language Binding -// http://www.w3.org/TR/2003/WD-DOM-Level-3-Events-20030331/ecma-script-binding.html -jQuery.Event.prototype = { - isDefaultPrevented: returnFalse, - isPropagationStopped: returnFalse, - isImmediatePropagationStopped: returnFalse, - - preventDefault: function() { - var e = this.originalEvent; - - this.isDefaultPrevented = returnTrue; - if ( !e ) { - return; - } - - // If preventDefault exists, run it on the original event - if ( e.preventDefault ) { - e.preventDefault(); - - // Support: IE - // Otherwise set the returnValue property of the original event to false - } else { - e.returnValue = false; - } - }, - stopPropagation: function() { - var e = this.originalEvent; - - this.isPropagationStopped = returnTrue; - if ( !e ) { - return; - } - // If stopPropagation exists, run it on the original event - if ( e.stopPropagation ) { - e.stopPropagation(); - } - - // Support: IE - // Set the cancelBubble property of the original event to true - e.cancelBubble = true; - }, - stopImmediatePropagation: function() { - this.isImmediatePropagationStopped = returnTrue; - this.stopPropagation(); - } -}; - -// Create mouseenter/leave events using mouseover/out and event-time checks -jQuery.each({ - mouseenter: "mouseover", - mouseleave: "mouseout" -}, function( orig, fix ) { - jQuery.event.special[ orig ] = { - delegateType: fix, - bindType: fix, - - handle: function( event ) { - var ret, - target = this, - related = event.relatedTarget, - handleObj = event.handleObj; - - // For mousenter/leave call the handler if related is outside the target. - // NB: No relatedTarget if the mouse left/entered the browser window - if ( !related || (related !== target && !jQuery.contains( target, related )) ) { - event.type = handleObj.origType; - ret = handleObj.handler.apply( this, arguments ); - event.type = fix; - } - return ret; - } - }; -}); - -// IE submit delegation -if ( !jQuery.support.submitBubbles ) { - - jQuery.event.special.submit = { - setup: function() { - // Only need this for delegated form submit events - if ( jQuery.nodeName( this, "form" ) ) { - return false; - } - - // Lazy-add a submit handler when a descendant form may potentially be submitted - jQuery.event.add( this, "click._submit keypress._submit", function( e ) { - // Node name check avoids a VML-related crash in IE (#9807) - var elem = e.target, - form = jQuery.nodeName( elem, "input" ) || jQuery.nodeName( elem, "button" ) ? elem.form : undefined; - if ( form && !jQuery._data( form, "submitBubbles" ) ) { - jQuery.event.add( form, "submit._submit", function( event ) { - event._submit_bubble = true; - }); - jQuery._data( form, "submitBubbles", true ); - } - }); - // return undefined since we don't need an event listener - }, - - postDispatch: function( event ) { - // If form was submitted by the user, bubble the event up the tree - if ( event._submit_bubble ) { - delete event._submit_bubble; - if ( this.parentNode && !event.isTrigger ) { - jQuery.event.simulate( "submit", this.parentNode, event, true ); - } - } - }, - - teardown: function() { - // Only need this for delegated form submit events - if ( jQuery.nodeName( this, "form" ) ) { - return false; - } - - // Remove delegated handlers; cleanData eventually reaps submit handlers attached above - jQuery.event.remove( this, "._submit" ); - } - }; -} - -// IE change delegation and checkbox/radio fix -if ( !jQuery.support.changeBubbles ) { - - jQuery.event.special.change = { - - setup: function() { - - if ( rformElems.test( this.nodeName ) ) { - // IE doesn't fire change on a check/radio until blur; trigger it on click - // after a propertychange. Eat the blur-change in special.change.handle. - // This still fires onchange a second time for check/radio after blur. - if ( this.type === "checkbox" || this.type === "radio" ) { - jQuery.event.add( this, "propertychange._change", function( event ) { - if ( event.originalEvent.propertyName === "checked" ) { - this._just_changed = true; - } - }); - jQuery.event.add( this, "click._change", function( event ) { - if ( this._just_changed && !event.isTrigger ) { - this._just_changed = false; - } - // Allow triggered, simulated change events (#11500) - jQuery.event.simulate( "change", this, event, true ); - }); - } - return false; - } - // Delegated event; lazy-add a change handler on descendant inputs - jQuery.event.add( this, "beforeactivate._change", function( e ) { - var elem = e.target; - - if ( rformElems.test( elem.nodeName ) && !jQuery._data( elem, "changeBubbles" ) ) { - jQuery.event.add( elem, "change._change", function( event ) { - if ( this.parentNode && !event.isSimulated && !event.isTrigger ) { - jQuery.event.simulate( "change", this.parentNode, event, true ); - } - }); - jQuery._data( elem, "changeBubbles", true ); - } - }); - }, - - handle: function( event ) { - var elem = event.target; - - // Swallow native change events from checkbox/radio, we already triggered them above - if ( this !== elem || event.isSimulated || event.isTrigger || (elem.type !== "radio" && elem.type !== "checkbox") ) { - return event.handleObj.handler.apply( this, arguments ); - } - }, - - teardown: function() { - jQuery.event.remove( this, "._change" ); - - return !rformElems.test( this.nodeName ); - } - }; -} - -// Create "bubbling" focus and blur events -if ( !jQuery.support.focusinBubbles ) { - jQuery.each({ focus: "focusin", blur: "focusout" }, function( orig, fix ) { - - // Attach a single capturing handler while someone wants focusin/focusout - var attaches = 0, - handler = function( event ) { - jQuery.event.simulate( fix, event.target, jQuery.event.fix( event ), true ); - }; - - jQuery.event.special[ fix ] = { - setup: function() { - if ( attaches++ === 0 ) { - document.addEventListener( orig, handler, true ); - } - }, - teardown: function() { - if ( --attaches === 0 ) { - document.removeEventListener( orig, handler, true ); - } - } - }; - }); -} - -jQuery.fn.extend({ - - on: function( types, selector, data, fn, /*INTERNAL*/ one ) { - var type, origFn; - - // Types can be a map of types/handlers - if ( typeof types === "object" ) { - // ( types-Object, selector, data ) - if ( typeof selector !== "string" ) { - // ( types-Object, data ) - data = data || selector; - selector = undefined; - } - for ( type in types ) { - this.on( type, selector, data, types[ type ], one ); - } - return this; - } - - if ( data == null && fn == null ) { - // ( types, fn ) - fn = selector; - data = selector = undefined; - } else if ( fn == null ) { - if ( typeof selector === "string" ) { - // ( types, selector, fn ) - fn = data; - data = undefined; - } else { - // ( types, data, fn ) - fn = data; - data = selector; - selector = undefined; - } - } - if ( fn === false ) { - fn = returnFalse; - } else if ( !fn ) { - return this; - } - - if ( one === 1 ) { - origFn = fn; - fn = function( event ) { - // Can use an empty set, since event contains the info - jQuery().off( event ); - return origFn.apply( this, arguments ); - }; - // Use same guid so caller can remove using origFn - fn.guid = origFn.guid || ( origFn.guid = jQuery.guid++ ); - } - return this.each( function() { - jQuery.event.add( this, types, fn, data, selector ); - }); - }, - one: function( types, selector, data, fn ) { - return this.on( types, selector, data, fn, 1 ); - }, - off: function( types, selector, fn ) { - var handleObj, type; - if ( types && types.preventDefault && types.handleObj ) { - // ( event ) dispatched jQuery.Event - handleObj = types.handleObj; - jQuery( types.delegateTarget ).off( - handleObj.namespace ? handleObj.origType + "." + handleObj.namespace : handleObj.origType, - handleObj.selector, - handleObj.handler - ); - return this; - } - if ( typeof types === "object" ) { - // ( types-object [, selector] ) - for ( type in types ) { - this.off( type, selector, types[ type ] ); - } - return this; - } - if ( selector === false || typeof selector === "function" ) { - // ( types [, fn] ) - fn = selector; - selector = undefined; - } - if ( fn === false ) { - fn = returnFalse; - } - return this.each(function() { - jQuery.event.remove( this, types, fn, selector ); - }); - }, - - trigger: function( type, data ) { - return this.each(function() { - jQuery.event.trigger( type, data, this ); - }); - }, - triggerHandler: function( type, data ) { - var elem = this[0]; - if ( elem ) { - return jQuery.event.trigger( type, data, elem, true ); - } - } -}); -var isSimple = /^.[^:#\[\.,]*$/, - rparentsprev = /^(?:parents|prev(?:Until|All))/, - rneedsContext = jQuery.expr.match.needsContext, - // methods guaranteed to produce a unique set when starting from a unique set - guaranteedUnique = { - children: true, - contents: true, - next: true, - prev: true - }; - -jQuery.fn.extend({ - find: function( selector ) { - var i, - ret = [], - self = this, - len = self.length; - - if ( typeof selector !== "string" ) { - return this.pushStack( jQuery( selector ).filter(function() { - for ( i = 0; i < len; i++ ) { - if ( jQuery.contains( self[ i ], this ) ) { - return true; - } - } - }) ); - } - - for ( i = 0; i < len; i++ ) { - jQuery.find( selector, self[ i ], ret ); - } - - // Needed because $( selector, context ) becomes $( context ).find( selector ) - ret = this.pushStack( len > 1 ? jQuery.unique( ret ) : ret ); - ret.selector = this.selector ? this.selector + " " + selector : selector; - return ret; - }, - - has: function( target ) { - var i, - targets = jQuery( target, this ), - len = targets.length; - - return this.filter(function() { - for ( i = 0; i < len; i++ ) { - if ( jQuery.contains( this, targets[i] ) ) { - return true; - } - } - }); - }, - - not: function( selector ) { - return this.pushStack( winnow(this, selector || [], true) ); - }, - - filter: function( selector ) { - return this.pushStack( winnow(this, selector || [], false) ); - }, - - is: function( selector ) { - return !!winnow( - this, - - // If this is a positional/relative selector, check membership in the returned set - // so $("p:first").is("p:last") won't return true for a doc with two "p". - typeof selector === "string" && rneedsContext.test( selector ) ? - jQuery( selector ) : - selector || [], - false - ).length; - }, - - closest: function( selectors, context ) { - var cur, - i = 0, - l = this.length, - ret = [], - pos = rneedsContext.test( selectors ) || typeof selectors !== "string" ? - jQuery( selectors, context || this.context ) : - 0; - - for ( ; i < l; i++ ) { - for ( cur = this[i]; cur && cur !== context; cur = cur.parentNode ) { - // Always skip document fragments - if ( cur.nodeType < 11 && (pos ? - pos.index(cur) > -1 : - - // Don't pass non-elements to Sizzle - cur.nodeType === 1 && - jQuery.find.matchesSelector(cur, selectors)) ) { - - cur = ret.push( cur ); - break; - } - } - } - - return this.pushStack( ret.length > 1 ? jQuery.unique( ret ) : ret ); - }, - - // Determine the position of an element within - // the matched set of elements - index: function( elem ) { - - // No argument, return index in parent - if ( !elem ) { - return ( this[0] && this[0].parentNode ) ? this.first().prevAll().length : -1; - } - - // index in selector - if ( typeof elem === "string" ) { - return jQuery.inArray( this[0], jQuery( elem ) ); - } - - // Locate the position of the desired element - return jQuery.inArray( - // If it receives a jQuery object, the first element is used - elem.jquery ? elem[0] : elem, this ); - }, - - add: function( selector, context ) { - var set = typeof selector === "string" ? - jQuery( selector, context ) : - jQuery.makeArray( selector && selector.nodeType ? [ selector ] : selector ), - all = jQuery.merge( this.get(), set ); - - return this.pushStack( jQuery.unique(all) ); - }, - - addBack: function( selector ) { - return this.add( selector == null ? - this.prevObject : this.prevObject.filter(selector) - ); - } -}); - -function sibling( cur, dir ) { - do { - cur = cur[ dir ]; - } while ( cur && cur.nodeType !== 1 ); - - return cur; -} - -jQuery.each({ - parent: function( elem ) { - var parent = elem.parentNode; - return parent && parent.nodeType !== 11 ? parent : null; - }, - parents: function( elem ) { - return jQuery.dir( elem, "parentNode" ); - }, - parentsUntil: function( elem, i, until ) { - return jQuery.dir( elem, "parentNode", until ); - }, - next: function( elem ) { - return sibling( elem, "nextSibling" ); - }, - prev: function( elem ) { - return sibling( elem, "previousSibling" ); - }, - nextAll: function( elem ) { - return jQuery.dir( elem, "nextSibling" ); - }, - prevAll: function( elem ) { - return jQuery.dir( elem, "previousSibling" ); - }, - nextUntil: function( elem, i, until ) { - return jQuery.dir( elem, "nextSibling", until ); - }, - prevUntil: function( elem, i, until ) { - return jQuery.dir( elem, "previousSibling", until ); - }, - siblings: function( elem ) { - return jQuery.sibling( ( elem.parentNode || {} ).firstChild, elem ); - }, - children: function( elem ) { - return jQuery.sibling( elem.firstChild ); - }, - contents: function( elem ) { - return jQuery.nodeName( elem, "iframe" ) ? - elem.contentDocument || elem.contentWindow.document : - jQuery.merge( [], elem.childNodes ); - } -}, function( name, fn ) { - jQuery.fn[ name ] = function( until, selector ) { - var ret = jQuery.map( this, fn, until ); - - if ( name.slice( -5 ) !== "Until" ) { - selector = until; - } - - if ( selector && typeof selector === "string" ) { - ret = jQuery.filter( selector, ret ); - } - - if ( this.length > 1 ) { - // Remove duplicates - if ( !guaranteedUnique[ name ] ) { - ret = jQuery.unique( ret ); - } - - // Reverse order for parents* and prev-derivatives - if ( rparentsprev.test( name ) ) { - ret = ret.reverse(); - } - } - - return this.pushStack( ret ); - }; -}); - -jQuery.extend({ - filter: function( expr, elems, not ) { - var elem = elems[ 0 ]; - - if ( not ) { - expr = ":not(" + expr + ")"; - } - - return elems.length === 1 && elem.nodeType === 1 ? - jQuery.find.matchesSelector( elem, expr ) ? [ elem ] : [] : - jQuery.find.matches( expr, jQuery.grep( elems, function( elem ) { - return elem.nodeType === 1; - })); - }, - - dir: function( elem, dir, until ) { - var matched = [], - cur = elem[ dir ]; - - while ( cur && cur.nodeType !== 9 && (until === undefined || cur.nodeType !== 1 || !jQuery( cur ).is( until )) ) { - if ( cur.nodeType === 1 ) { - matched.push( cur ); - } - cur = cur[dir]; - } - return matched; - }, - - sibling: function( n, elem ) { - var r = []; - - for ( ; n; n = n.nextSibling ) { - if ( n.nodeType === 1 && n !== elem ) { - r.push( n ); - } - } - - return r; - } -}); - -// Implement the identical functionality for filter and not -function winnow( elements, qualifier, not ) { - if ( jQuery.isFunction( qualifier ) ) { - return jQuery.grep( elements, function( elem, i ) { - /* jshint -W018 */ - return !!qualifier.call( elem, i, elem ) !== not; - }); - - } - - if ( qualifier.nodeType ) { - return jQuery.grep( elements, function( elem ) { - return ( elem === qualifier ) !== not; - }); - - } - - if ( typeof qualifier === "string" ) { - if ( isSimple.test( qualifier ) ) { - return jQuery.filter( qualifier, elements, not ); - } - - qualifier = jQuery.filter( qualifier, elements ); - } - - return jQuery.grep( elements, function( elem ) { - return ( jQuery.inArray( elem, qualifier ) >= 0 ) !== not; - }); -} -function createSafeFragment( document ) { - var list = nodeNames.split( "|" ), - safeFrag = document.createDocumentFragment(); - - if ( safeFrag.createElement ) { - while ( list.length ) { - safeFrag.createElement( - list.pop() - ); - } - } - return safeFrag; -} - -var nodeNames = "abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|" + - "header|hgroup|mark|meter|nav|output|progress|section|summary|time|video", - rinlinejQuery = / jQuery\d+="(?:null|\d+)"/g, - rnoshimcache = new RegExp("<(?:" + nodeNames + ")[\\s/>]", "i"), - rleadingWhitespace = /^\s+/, - rxhtmlTag = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi, - rtagName = /<([\w:]+)/, - rtbody = /\s*$/g, - - // We have to close these tags to support XHTML (#13200) - wrapMap = { - option: [ 1, "" ], - legend: [ 1, "
            ", "
            " ], - area: [ 1, "", "" ], - param: [ 1, "", "" ], - thead: [ 1, "", "
            " ], - tr: [ 2, "", "
            " ], - col: [ 2, "", "
            " ], - td: [ 3, "", "
            " ], - - // IE6-8 can't serialize link, script, style, or any html5 (NoScope) tags, - // unless wrapped in a div with non-breaking characters in front of it. - _default: jQuery.support.htmlSerialize ? [ 0, "", "" ] : [ 1, "X
            ", "
            " ] - }, - safeFragment = createSafeFragment( document ), - fragmentDiv = safeFragment.appendChild( document.createElement("div") ); - -wrapMap.optgroup = wrapMap.option; -wrapMap.tbody = wrapMap.tfoot = wrapMap.colgroup = wrapMap.caption = wrapMap.thead; -wrapMap.th = wrapMap.td; - -jQuery.fn.extend({ - text: function( value ) { - return jQuery.access( this, function( value ) { - return value === undefined ? - jQuery.text( this ) : - this.empty().append( ( this[0] && this[0].ownerDocument || document ).createTextNode( value ) ); - }, null, value, arguments.length ); - }, - - append: function() { - return this.domManip( arguments, function( elem ) { - if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) { - var target = manipulationTarget( this, elem ); - target.appendChild( elem ); - } - }); - }, - - prepend: function() { - return this.domManip( arguments, function( elem ) { - if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) { - var target = manipulationTarget( this, elem ); - target.insertBefore( elem, target.firstChild ); - } - }); - }, - - before: function() { - return this.domManip( arguments, function( elem ) { - if ( this.parentNode ) { - this.parentNode.insertBefore( elem, this ); - } - }); - }, - - after: function() { - return this.domManip( arguments, function( elem ) { - if ( this.parentNode ) { - this.parentNode.insertBefore( elem, this.nextSibling ); - } - }); - }, - - // keepData is for internal use only--do not document - remove: function( selector, keepData ) { - var elem, - elems = selector ? jQuery.filter( selector, this ) : this, - i = 0; - - for ( ; (elem = elems[i]) != null; i++ ) { - - if ( !keepData && elem.nodeType === 1 ) { - jQuery.cleanData( getAll( elem ) ); - } - - if ( elem.parentNode ) { - if ( keepData && jQuery.contains( elem.ownerDocument, elem ) ) { - setGlobalEval( getAll( elem, "script" ) ); - } - elem.parentNode.removeChild( elem ); - } - } - - return this; - }, - - empty: function() { - var elem, - i = 0; - - for ( ; (elem = this[i]) != null; i++ ) { - // Remove element nodes and prevent memory leaks - if ( elem.nodeType === 1 ) { - jQuery.cleanData( getAll( elem, false ) ); - } - - // Remove any remaining nodes - while ( elem.firstChild ) { - elem.removeChild( elem.firstChild ); - } - - // If this is a select, ensure that it displays empty (#12336) - // Support: IE<9 - if ( elem.options && jQuery.nodeName( elem, "select" ) ) { - elem.options.length = 0; - } - } - - return this; - }, - - clone: function( dataAndEvents, deepDataAndEvents ) { - dataAndEvents = dataAndEvents == null ? false : dataAndEvents; - deepDataAndEvents = deepDataAndEvents == null ? dataAndEvents : deepDataAndEvents; - - return this.map( function () { - return jQuery.clone( this, dataAndEvents, deepDataAndEvents ); - }); - }, - - html: function( value ) { - return jQuery.access( this, function( value ) { - var elem = this[0] || {}, - i = 0, - l = this.length; - - if ( value === undefined ) { - return elem.nodeType === 1 ? - elem.innerHTML.replace( rinlinejQuery, "" ) : - undefined; - } - - // See if we can take a shortcut and just use innerHTML - if ( typeof value === "string" && !rnoInnerhtml.test( value ) && - ( jQuery.support.htmlSerialize || !rnoshimcache.test( value ) ) && - ( jQuery.support.leadingWhitespace || !rleadingWhitespace.test( value ) ) && - !wrapMap[ ( rtagName.exec( value ) || ["", ""] )[1].toLowerCase() ] ) { - - value = value.replace( rxhtmlTag, "<$1>" ); - - try { - for (; i < l; i++ ) { - // Remove element nodes and prevent memory leaks - elem = this[i] || {}; - if ( elem.nodeType === 1 ) { - jQuery.cleanData( getAll( elem, false ) ); - elem.innerHTML = value; - } - } - - elem = 0; - - // If using innerHTML throws an exception, use the fallback method - } catch(e) {} - } - - if ( elem ) { - this.empty().append( value ); - } - }, null, value, arguments.length ); - }, - - replaceWith: function() { - var - // Snapshot the DOM in case .domManip sweeps something relevant into its fragment - args = jQuery.map( this, function( elem ) { - return [ elem.nextSibling, elem.parentNode ]; - }), - i = 0; - - // Make the changes, replacing each context element with the new content - this.domManip( arguments, function( elem ) { - var next = args[ i++ ], - parent = args[ i++ ]; - - if ( parent ) { - // Don't use the snapshot next if it has moved (#13810) - if ( next && next.parentNode !== parent ) { - next = this.nextSibling; - } - jQuery( this ).remove(); - parent.insertBefore( elem, next ); - } - // Allow new content to include elements from the context set - }, true ); - - // Force removal if there was no new content (e.g., from empty arguments) - return i ? this : this.remove(); - }, - - detach: function( selector ) { - return this.remove( selector, true ); - }, - - domManip: function( args, callback, allowIntersection ) { - - // Flatten any nested arrays - args = core_concat.apply( [], args ); - - var first, node, hasScripts, - scripts, doc, fragment, - i = 0, - l = this.length, - set = this, - iNoClone = l - 1, - value = args[0], - isFunction = jQuery.isFunction( value ); - - // We can't cloneNode fragments that contain checked, in WebKit - if ( isFunction || !( l <= 1 || typeof value !== "string" || jQuery.support.checkClone || !rchecked.test( value ) ) ) { - return this.each(function( index ) { - var self = set.eq( index ); - if ( isFunction ) { - args[0] = value.call( this, index, self.html() ); - } - self.domManip( args, callback, allowIntersection ); - }); - } - - if ( l ) { - fragment = jQuery.buildFragment( args, this[ 0 ].ownerDocument, false, !allowIntersection && this ); - first = fragment.firstChild; - - if ( fragment.childNodes.length === 1 ) { - fragment = first; - } - - if ( first ) { - scripts = jQuery.map( getAll( fragment, "script" ), disableScript ); - hasScripts = scripts.length; - - // Use the original fragment for the last item instead of the first because it can end up - // being emptied incorrectly in certain situations (#8070). - for ( ; i < l; i++ ) { - node = fragment; - - if ( i !== iNoClone ) { - node = jQuery.clone( node, true, true ); - - // Keep references to cloned scripts for later restoration - if ( hasScripts ) { - jQuery.merge( scripts, getAll( node, "script" ) ); - } - } - - callback.call( this[i], node, i ); - } - - if ( hasScripts ) { - doc = scripts[ scripts.length - 1 ].ownerDocument; - - // Reenable scripts - jQuery.map( scripts, restoreScript ); - - // Evaluate executable scripts on first document insertion - for ( i = 0; i < hasScripts; i++ ) { - node = scripts[ i ]; - if ( rscriptType.test( node.type || "" ) && - !jQuery._data( node, "globalEval" ) && jQuery.contains( doc, node ) ) { - - if ( node.src ) { - // Hope ajax is available... - jQuery._evalUrl( node.src ); - } else { - jQuery.globalEval( ( node.text || node.textContent || node.innerHTML || "" ).replace( rcleanScript, "" ) ); - } - } - } - } - - // Fix #11809: Avoid leaking memory - fragment = first = null; - } - } - - return this; - } -}); - -// Support: IE<8 -// Manipulating tables requires a tbody -function manipulationTarget( elem, content ) { - return jQuery.nodeName( elem, "table" ) && - jQuery.nodeName( content.nodeType === 1 ? content : content.firstChild, "tr" ) ? - - elem.getElementsByTagName("tbody")[0] || - elem.appendChild( elem.ownerDocument.createElement("tbody") ) : - elem; -} - -// Replace/restore the type attribute of script elements for safe DOM manipulation -function disableScript( elem ) { - elem.type = (jQuery.find.attr( elem, "type" ) !== null) + "/" + elem.type; - return elem; -} -function restoreScript( elem ) { - var match = rscriptTypeMasked.exec( elem.type ); - if ( match ) { - elem.type = match[1]; - } else { - elem.removeAttribute("type"); - } - return elem; -} - -// Mark scripts as having already been evaluated -function setGlobalEval( elems, refElements ) { - var elem, - i = 0; - for ( ; (elem = elems[i]) != null; i++ ) { - jQuery._data( elem, "globalEval", !refElements || jQuery._data( refElements[i], "globalEval" ) ); - } -} - -function cloneCopyEvent( src, dest ) { - - if ( dest.nodeType !== 1 || !jQuery.hasData( src ) ) { - return; - } - - var type, i, l, - oldData = jQuery._data( src ), - curData = jQuery._data( dest, oldData ), - events = oldData.events; - - if ( events ) { - delete curData.handle; - curData.events = {}; - - for ( type in events ) { - for ( i = 0, l = events[ type ].length; i < l; i++ ) { - jQuery.event.add( dest, type, events[ type ][ i ] ); - } - } - } - - // make the cloned public data object a copy from the original - if ( curData.data ) { - curData.data = jQuery.extend( {}, curData.data ); - } -} - -function fixCloneNodeIssues( src, dest ) { - var nodeName, e, data; - - // We do not need to do anything for non-Elements - if ( dest.nodeType !== 1 ) { - return; - } - - nodeName = dest.nodeName.toLowerCase(); - - // IE6-8 copies events bound via attachEvent when using cloneNode. - if ( !jQuery.support.noCloneEvent && dest[ jQuery.expando ] ) { - data = jQuery._data( dest ); - - for ( e in data.events ) { - jQuery.removeEvent( dest, e, data.handle ); - } - - // Event data gets referenced instead of copied if the expando gets copied too - dest.removeAttribute( jQuery.expando ); - } - - // IE blanks contents when cloning scripts, and tries to evaluate newly-set text - if ( nodeName === "script" && dest.text !== src.text ) { - disableScript( dest ).text = src.text; - restoreScript( dest ); - - // IE6-10 improperly clones children of object elements using classid. - // IE10 throws NoModificationAllowedError if parent is null, #12132. - } else if ( nodeName === "object" ) { - if ( dest.parentNode ) { - dest.outerHTML = src.outerHTML; - } - - // This path appears unavoidable for IE9. When cloning an object - // element in IE9, the outerHTML strategy above is not sufficient. - // If the src has innerHTML and the destination does not, - // copy the src.innerHTML into the dest.innerHTML. #10324 - if ( jQuery.support.html5Clone && ( src.innerHTML && !jQuery.trim(dest.innerHTML) ) ) { - dest.innerHTML = src.innerHTML; - } - - } else if ( nodeName === "input" && manipulation_rcheckableType.test( src.type ) ) { - // IE6-8 fails to persist the checked state of a cloned checkbox - // or radio button. Worse, IE6-7 fail to give the cloned element - // a checked appearance if the defaultChecked value isn't also set - - dest.defaultChecked = dest.checked = src.checked; - - // IE6-7 get confused and end up setting the value of a cloned - // checkbox/radio button to an empty string instead of "on" - if ( dest.value !== src.value ) { - dest.value = src.value; - } - - // IE6-8 fails to return the selected option to the default selected - // state when cloning options - } else if ( nodeName === "option" ) { - dest.defaultSelected = dest.selected = src.defaultSelected; - - // IE6-8 fails to set the defaultValue to the correct value when - // cloning other types of input fields - } else if ( nodeName === "input" || nodeName === "textarea" ) { - dest.defaultValue = src.defaultValue; - } -} - -jQuery.each({ - appendTo: "append", - prependTo: "prepend", - insertBefore: "before", - insertAfter: "after", - replaceAll: "replaceWith" -}, function( name, original ) { - jQuery.fn[ name ] = function( selector ) { - var elems, - i = 0, - ret = [], - insert = jQuery( selector ), - last = insert.length - 1; - - for ( ; i <= last; i++ ) { - elems = i === last ? this : this.clone(true); - jQuery( insert[i] )[ original ]( elems ); - - // Modern browsers can apply jQuery collections as arrays, but oldIE needs a .get() - core_push.apply( ret, elems.get() ); - } - - return this.pushStack( ret ); - }; -}); - -function getAll( context, tag ) { - var elems, elem, - i = 0, - found = typeof context.getElementsByTagName !== core_strundefined ? context.getElementsByTagName( tag || "*" ) : - typeof context.querySelectorAll !== core_strundefined ? context.querySelectorAll( tag || "*" ) : - undefined; - - if ( !found ) { - for ( found = [], elems = context.childNodes || context; (elem = elems[i]) != null; i++ ) { - if ( !tag || jQuery.nodeName( elem, tag ) ) { - found.push( elem ); - } else { - jQuery.merge( found, getAll( elem, tag ) ); - } - } - } - - return tag === undefined || tag && jQuery.nodeName( context, tag ) ? - jQuery.merge( [ context ], found ) : - found; -} - -// Used in buildFragment, fixes the defaultChecked property -function fixDefaultChecked( elem ) { - if ( manipulation_rcheckableType.test( elem.type ) ) { - elem.defaultChecked = elem.checked; - } -} - -jQuery.extend({ - clone: function( elem, dataAndEvents, deepDataAndEvents ) { - var destElements, node, clone, i, srcElements, - inPage = jQuery.contains( elem.ownerDocument, elem ); - - if ( jQuery.support.html5Clone || jQuery.isXMLDoc(elem) || !rnoshimcache.test( "<" + elem.nodeName + ">" ) ) { - clone = elem.cloneNode( true ); - - // IE<=8 does not properly clone detached, unknown element nodes - } else { - fragmentDiv.innerHTML = elem.outerHTML; - fragmentDiv.removeChild( clone = fragmentDiv.firstChild ); - } - - if ( (!jQuery.support.noCloneEvent || !jQuery.support.noCloneChecked) && - (elem.nodeType === 1 || elem.nodeType === 11) && !jQuery.isXMLDoc(elem) ) { - - // We eschew Sizzle here for performance reasons: http://jsperf.com/getall-vs-sizzle/2 - destElements = getAll( clone ); - srcElements = getAll( elem ); - - // Fix all IE cloning issues - for ( i = 0; (node = srcElements[i]) != null; ++i ) { - // Ensure that the destination node is not null; Fixes #9587 - if ( destElements[i] ) { - fixCloneNodeIssues( node, destElements[i] ); - } - } - } - - // Copy the events from the original to the clone - if ( dataAndEvents ) { - if ( deepDataAndEvents ) { - srcElements = srcElements || getAll( elem ); - destElements = destElements || getAll( clone ); - - for ( i = 0; (node = srcElements[i]) != null; i++ ) { - cloneCopyEvent( node, destElements[i] ); - } - } else { - cloneCopyEvent( elem, clone ); - } - } - - // Preserve script evaluation history - destElements = getAll( clone, "script" ); - if ( destElements.length > 0 ) { - setGlobalEval( destElements, !inPage && getAll( elem, "script" ) ); - } - - destElements = srcElements = node = null; - - // Return the cloned set - return clone; - }, - - buildFragment: function( elems, context, scripts, selection ) { - var j, elem, contains, - tmp, tag, tbody, wrap, - l = elems.length, - - // Ensure a safe fragment - safe = createSafeFragment( context ), - - nodes = [], - i = 0; - - for ( ; i < l; i++ ) { - elem = elems[ i ]; - - if ( elem || elem === 0 ) { - - // Add nodes directly - if ( jQuery.type( elem ) === "object" ) { - jQuery.merge( nodes, elem.nodeType ? [ elem ] : elem ); - - // Convert non-html into a text node - } else if ( !rhtml.test( elem ) ) { - nodes.push( context.createTextNode( elem ) ); - - // Convert html into DOM nodes - } else { - tmp = tmp || safe.appendChild( context.createElement("div") ); - - // Deserialize a standard representation - tag = ( rtagName.exec( elem ) || ["", ""] )[1].toLowerCase(); - wrap = wrapMap[ tag ] || wrapMap._default; - - tmp.innerHTML = wrap[1] + elem.replace( rxhtmlTag, "<$1>" ) + wrap[2]; - - // Descend through wrappers to the right content - j = wrap[0]; - while ( j-- ) { - tmp = tmp.lastChild; - } - - // Manually add leading whitespace removed by IE - if ( !jQuery.support.leadingWhitespace && rleadingWhitespace.test( elem ) ) { - nodes.push( context.createTextNode( rleadingWhitespace.exec( elem )[0] ) ); - } - - // Remove IE's autoinserted from table fragments - if ( !jQuery.support.tbody ) { - - // String was a , *may* have spurious - elem = tag === "table" && !rtbody.test( elem ) ? - tmp.firstChild : - - // String was a bare or - wrap[1] === "
            " && !rtbody.test( elem ) ? - tmp : - 0; - - j = elem && elem.childNodes.length; - while ( j-- ) { - if ( jQuery.nodeName( (tbody = elem.childNodes[j]), "tbody" ) && !tbody.childNodes.length ) { - elem.removeChild( tbody ); - } - } - } - - jQuery.merge( nodes, tmp.childNodes ); - - // Fix #12392 for WebKit and IE > 9 - tmp.textContent = ""; - - // Fix #12392 for oldIE - while ( tmp.firstChild ) { - tmp.removeChild( tmp.firstChild ); - } - - // Remember the top-level container for proper cleanup - tmp = safe.lastChild; - } - } - } - - // Fix #11356: Clear elements from fragment - if ( tmp ) { - safe.removeChild( tmp ); - } - - // Reset defaultChecked for any radios and checkboxes - // about to be appended to the DOM in IE 6/7 (#8060) - if ( !jQuery.support.appendChecked ) { - jQuery.grep( getAll( nodes, "input" ), fixDefaultChecked ); - } - - i = 0; - while ( (elem = nodes[ i++ ]) ) { - - // #4087 - If origin and destination elements are the same, and this is - // that element, do not do anything - if ( selection && jQuery.inArray( elem, selection ) !== -1 ) { - continue; - } - - contains = jQuery.contains( elem.ownerDocument, elem ); - - // Append to fragment - tmp = getAll( safe.appendChild( elem ), "script" ); - - // Preserve script evaluation history - if ( contains ) { - setGlobalEval( tmp ); - } - - // Capture executables - if ( scripts ) { - j = 0; - while ( (elem = tmp[ j++ ]) ) { - if ( rscriptType.test( elem.type || "" ) ) { - scripts.push( elem ); - } - } - } - } - - tmp = null; - - return safe; - }, - - cleanData: function( elems, /* internal */ acceptData ) { - var elem, type, id, data, - i = 0, - internalKey = jQuery.expando, - cache = jQuery.cache, - deleteExpando = jQuery.support.deleteExpando, - special = jQuery.event.special; - - for ( ; (elem = elems[i]) != null; i++ ) { - - if ( acceptData || jQuery.acceptData( elem ) ) { - - id = elem[ internalKey ]; - data = id && cache[ id ]; - - if ( data ) { - if ( data.events ) { - for ( type in data.events ) { - if ( special[ type ] ) { - jQuery.event.remove( elem, type ); - - // This is a shortcut to avoid jQuery.event.remove's overhead - } else { - jQuery.removeEvent( elem, type, data.handle ); - } - } - } - - // Remove cache only if it was not already removed by jQuery.event.remove - if ( cache[ id ] ) { - - delete cache[ id ]; - - // IE does not allow us to delete expando properties from nodes, - // nor does it have a removeAttribute function on Document nodes; - // we must handle all of these cases - if ( deleteExpando ) { - delete elem[ internalKey ]; - - } else if ( typeof elem.removeAttribute !== core_strundefined ) { - elem.removeAttribute( internalKey ); - - } else { - elem[ internalKey ] = null; - } - - core_deletedIds.push( id ); - } - } - } - } - }, - - _evalUrl: function( url ) { - return jQuery.ajax({ - url: url, - type: "GET", - dataType: "script", - async: false, - global: false, - "throws": true - }); - } -}); -jQuery.fn.extend({ - wrapAll: function( html ) { - if ( jQuery.isFunction( html ) ) { - return this.each(function(i) { - jQuery(this).wrapAll( html.call(this, i) ); - }); - } - - if ( this[0] ) { - // The elements to wrap the target around - var wrap = jQuery( html, this[0].ownerDocument ).eq(0).clone(true); - - if ( this[0].parentNode ) { - wrap.insertBefore( this[0] ); - } - - wrap.map(function() { - var elem = this; - - while ( elem.firstChild && elem.firstChild.nodeType === 1 ) { - elem = elem.firstChild; - } - - return elem; - }).append( this ); - } - - return this; - }, - - wrapInner: function( html ) { - if ( jQuery.isFunction( html ) ) { - return this.each(function(i) { - jQuery(this).wrapInner( html.call(this, i) ); - }); - } - - return this.each(function() { - var self = jQuery( this ), - contents = self.contents(); - - if ( contents.length ) { - contents.wrapAll( html ); - - } else { - self.append( html ); - } - }); - }, - - wrap: function( html ) { - var isFunction = jQuery.isFunction( html ); - - return this.each(function(i) { - jQuery( this ).wrapAll( isFunction ? html.call(this, i) : html ); - }); - }, - - unwrap: function() { - return this.parent().each(function() { - if ( !jQuery.nodeName( this, "body" ) ) { - jQuery( this ).replaceWith( this.childNodes ); - } - }).end(); - } -}); -var iframe, getStyles, curCSS, - ralpha = /alpha\([^)]*\)/i, - ropacity = /opacity\s*=\s*([^)]*)/, - rposition = /^(top|right|bottom|left)$/, - // swappable if display is none or starts with table except "table", "table-cell", or "table-caption" - // see here for display values: https://developer.mozilla.org/en-US/docs/CSS/display - rdisplayswap = /^(none|table(?!-c[ea]).+)/, - rmargin = /^margin/, - rnumsplit = new RegExp( "^(" + core_pnum + ")(.*)$", "i" ), - rnumnonpx = new RegExp( "^(" + core_pnum + ")(?!px)[a-z%]+$", "i" ), - rrelNum = new RegExp( "^([+-])=(" + core_pnum + ")", "i" ), - elemdisplay = { BODY: "block" }, - - cssShow = { position: "absolute", visibility: "hidden", display: "block" }, - cssNormalTransform = { - letterSpacing: 0, - fontWeight: 400 - }, - - cssExpand = [ "Top", "Right", "Bottom", "Left" ], - cssPrefixes = [ "Webkit", "O", "Moz", "ms" ]; - -// return a css property mapped to a potentially vendor prefixed property -function vendorPropName( style, name ) { - - // shortcut for names that are not vendor prefixed - if ( name in style ) { - return name; - } - - // check for vendor prefixed names - var capName = name.charAt(0).toUpperCase() + name.slice(1), - origName = name, - i = cssPrefixes.length; - - while ( i-- ) { - name = cssPrefixes[ i ] + capName; - if ( name in style ) { - return name; - } - } - - return origName; -} - -function isHidden( elem, el ) { - // isHidden might be called from jQuery#filter function; - // in that case, element will be second argument - elem = el || elem; - return jQuery.css( elem, "display" ) === "none" || !jQuery.contains( elem.ownerDocument, elem ); -} - -function showHide( elements, show ) { - var display, elem, hidden, - values = [], - index = 0, - length = elements.length; - - for ( ; index < length; index++ ) { - elem = elements[ index ]; - if ( !elem.style ) { - continue; - } - - values[ index ] = jQuery._data( elem, "olddisplay" ); - display = elem.style.display; - if ( show ) { - // Reset the inline display of this element to learn if it is - // being hidden by cascaded rules or not - if ( !values[ index ] && display === "none" ) { - elem.style.display = ""; - } - - // Set elements which have been overridden with display: none - // in a stylesheet to whatever the default browser style is - // for such an element - if ( elem.style.display === "" && isHidden( elem ) ) { - values[ index ] = jQuery._data( elem, "olddisplay", css_defaultDisplay(elem.nodeName) ); - } - } else { - - if ( !values[ index ] ) { - hidden = isHidden( elem ); - - if ( display && display !== "none" || !hidden ) { - jQuery._data( elem, "olddisplay", hidden ? display : jQuery.css( elem, "display" ) ); - } - } - } - } - - // Set the display of most of the elements in a second loop - // to avoid the constant reflow - for ( index = 0; index < length; index++ ) { - elem = elements[ index ]; - if ( !elem.style ) { - continue; - } - if ( !show || elem.style.display === "none" || elem.style.display === "" ) { - elem.style.display = show ? values[ index ] || "" : "none"; - } - } - - return elements; -} - -jQuery.fn.extend({ - css: function( name, value ) { - return jQuery.access( this, function( elem, name, value ) { - var len, styles, - map = {}, - i = 0; - - if ( jQuery.isArray( name ) ) { - styles = getStyles( elem ); - len = name.length; - - for ( ; i < len; i++ ) { - map[ name[ i ] ] = jQuery.css( elem, name[ i ], false, styles ); - } - - return map; - } - - return value !== undefined ? - jQuery.style( elem, name, value ) : - jQuery.css( elem, name ); - }, name, value, arguments.length > 1 ); - }, - show: function() { - return showHide( this, true ); - }, - hide: function() { - return showHide( this ); - }, - toggle: function( state ) { - if ( typeof state === "boolean" ) { - return state ? this.show() : this.hide(); - } - - return this.each(function() { - if ( isHidden( this ) ) { - jQuery( this ).show(); - } else { - jQuery( this ).hide(); - } - }); - } -}); - -jQuery.extend({ - // Add in style property hooks for overriding the default - // behavior of getting and setting a style property - cssHooks: { - opacity: { - get: function( elem, computed ) { - if ( computed ) { - // We should always get a number back from opacity - var ret = curCSS( elem, "opacity" ); - return ret === "" ? "1" : ret; - } - } - } - }, - - // Don't automatically add "px" to these possibly-unitless properties - cssNumber: { - "columnCount": true, - "fillOpacity": true, - "fontWeight": true, - "lineHeight": true, - "opacity": true, - "order": true, - "orphans": true, - "widows": true, - "zIndex": true, - "zoom": true - }, - - // Add in properties whose names you wish to fix before - // setting or getting the value - cssProps: { - // normalize float css property - "float": jQuery.support.cssFloat ? "cssFloat" : "styleFloat" - }, - - // Get and set the style property on a DOM Node - style: function( elem, name, value, extra ) { - // Don't set styles on text and comment nodes - if ( !elem || elem.nodeType === 3 || elem.nodeType === 8 || !elem.style ) { - return; - } - - // Make sure that we're working with the right name - var ret, type, hooks, - origName = jQuery.camelCase( name ), - style = elem.style; - - name = jQuery.cssProps[ origName ] || ( jQuery.cssProps[ origName ] = vendorPropName( style, origName ) ); - - // gets hook for the prefixed version - // followed by the unprefixed version - hooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ]; - - // Check if we're setting a value - if ( value !== undefined ) { - type = typeof value; - - // convert relative number strings (+= or -=) to relative numbers. #7345 - if ( type === "string" && (ret = rrelNum.exec( value )) ) { - value = ( ret[1] + 1 ) * ret[2] + parseFloat( jQuery.css( elem, name ) ); - // Fixes bug #9237 - type = "number"; - } - - // Make sure that NaN and null values aren't set. See: #7116 - if ( value == null || type === "number" && isNaN( value ) ) { - return; - } - - // If a number was passed in, add 'px' to the (except for certain CSS properties) - if ( type === "number" && !jQuery.cssNumber[ origName ] ) { - value += "px"; - } - - // Fixes #8908, it can be done more correctly by specifing setters in cssHooks, - // but it would mean to define eight (for every problematic property) identical functions - if ( !jQuery.support.clearCloneStyle && value === "" && name.indexOf("background") === 0 ) { - style[ name ] = "inherit"; - } - - // If a hook was provided, use that value, otherwise just set the specified value - if ( !hooks || !("set" in hooks) || (value = hooks.set( elem, value, extra )) !== undefined ) { - - // Wrapped to prevent IE from throwing errors when 'invalid' values are provided - // Fixes bug #5509 - try { - style[ name ] = value; - } catch(e) {} - } - - } else { - // If a hook was provided get the non-computed value from there - if ( hooks && "get" in hooks && (ret = hooks.get( elem, false, extra )) !== undefined ) { - return ret; - } - - // Otherwise just get the value from the style object - return style[ name ]; - } - }, - - css: function( elem, name, extra, styles ) { - var num, val, hooks, - origName = jQuery.camelCase( name ); - - // Make sure that we're working with the right name - name = jQuery.cssProps[ origName ] || ( jQuery.cssProps[ origName ] = vendorPropName( elem.style, origName ) ); - - // gets hook for the prefixed version - // followed by the unprefixed version - hooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ]; - - // If a hook was provided get the computed value from there - if ( hooks && "get" in hooks ) { - val = hooks.get( elem, true, extra ); - } - - // Otherwise, if a way to get the computed value exists, use that - if ( val === undefined ) { - val = curCSS( elem, name, styles ); - } - - //convert "normal" to computed value - if ( val === "normal" && name in cssNormalTransform ) { - val = cssNormalTransform[ name ]; - } - - // Return, converting to number if forced or a qualifier was provided and val looks numeric - if ( extra === "" || extra ) { - num = parseFloat( val ); - return extra === true || jQuery.isNumeric( num ) ? num || 0 : val; - } - return val; - } -}); - -// NOTE: we've included the "window" in window.getComputedStyle -// because jsdom on node.js will break without it. -if ( window.getComputedStyle ) { - getStyles = function( elem ) { - return window.getComputedStyle( elem, null ); - }; - - curCSS = function( elem, name, _computed ) { - var width, minWidth, maxWidth, - computed = _computed || getStyles( elem ), - - // getPropertyValue is only needed for .css('filter') in IE9, see #12537 - ret = computed ? computed.getPropertyValue( name ) || computed[ name ] : undefined, - style = elem.style; - - if ( computed ) { - - if ( ret === "" && !jQuery.contains( elem.ownerDocument, elem ) ) { - ret = jQuery.style( elem, name ); - } - - // A tribute to the "awesome hack by Dean Edwards" - // Chrome < 17 and Safari 5.0 uses "computed value" instead of "used value" for margin-right - // Safari 5.1.7 (at least) returns percentage for a larger set of values, but width seems to be reliably pixels - // this is against the CSSOM draft spec: http://dev.w3.org/csswg/cssom/#resolved-values - if ( rnumnonpx.test( ret ) && rmargin.test( name ) ) { - - // Remember the original values - width = style.width; - minWidth = style.minWidth; - maxWidth = style.maxWidth; - - // Put in the new values to get a computed value out - style.minWidth = style.maxWidth = style.width = ret; - ret = computed.width; - - // Revert the changed values - style.width = width; - style.minWidth = minWidth; - style.maxWidth = maxWidth; - } - } - - return ret; - }; -} else if ( document.documentElement.currentStyle ) { - getStyles = function( elem ) { - return elem.currentStyle; - }; - - curCSS = function( elem, name, _computed ) { - var left, rs, rsLeft, - computed = _computed || getStyles( elem ), - ret = computed ? computed[ name ] : undefined, - style = elem.style; - - // Avoid setting ret to empty string here - // so we don't default to auto - if ( ret == null && style && style[ name ] ) { - ret = style[ name ]; - } - - // From the awesome hack by Dean Edwards - // http://erik.eae.net/archives/2007/07/27/18.54.15/#comment-102291 - - // If we're not dealing with a regular pixel number - // but a number that has a weird ending, we need to convert it to pixels - // but not position css attributes, as those are proportional to the parent element instead - // and we can't measure the parent instead because it might trigger a "stacking dolls" problem - if ( rnumnonpx.test( ret ) && !rposition.test( name ) ) { - - // Remember the original values - left = style.left; - rs = elem.runtimeStyle; - rsLeft = rs && rs.left; - - // Put in the new values to get a computed value out - if ( rsLeft ) { - rs.left = elem.currentStyle.left; - } - style.left = name === "fontSize" ? "1em" : ret; - ret = style.pixelLeft + "px"; - - // Revert the changed values - style.left = left; - if ( rsLeft ) { - rs.left = rsLeft; - } - } - - return ret === "" ? "auto" : ret; - }; -} - -function setPositiveNumber( elem, value, subtract ) { - var matches = rnumsplit.exec( value ); - return matches ? - // Guard against undefined "subtract", e.g., when used as in cssHooks - Math.max( 0, matches[ 1 ] - ( subtract || 0 ) ) + ( matches[ 2 ] || "px" ) : - value; -} - -function augmentWidthOrHeight( elem, name, extra, isBorderBox, styles ) { - var i = extra === ( isBorderBox ? "border" : "content" ) ? - // If we already have the right measurement, avoid augmentation - 4 : - // Otherwise initialize for horizontal or vertical properties - name === "width" ? 1 : 0, - - val = 0; - - for ( ; i < 4; i += 2 ) { - // both box models exclude margin, so add it if we want it - if ( extra === "margin" ) { - val += jQuery.css( elem, extra + cssExpand[ i ], true, styles ); - } - - if ( isBorderBox ) { - // border-box includes padding, so remove it if we want content - if ( extra === "content" ) { - val -= jQuery.css( elem, "padding" + cssExpand[ i ], true, styles ); - } - - // at this point, extra isn't border nor margin, so remove border - if ( extra !== "margin" ) { - val -= jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles ); - } - } else { - // at this point, extra isn't content, so add padding - val += jQuery.css( elem, "padding" + cssExpand[ i ], true, styles ); - - // at this point, extra isn't content nor padding, so add border - if ( extra !== "padding" ) { - val += jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles ); - } - } - } - - return val; -} - -function getWidthOrHeight( elem, name, extra ) { - - // Start with offset property, which is equivalent to the border-box value - var valueIsBorderBox = true, - val = name === "width" ? elem.offsetWidth : elem.offsetHeight, - styles = getStyles( elem ), - isBorderBox = jQuery.support.boxSizing && jQuery.css( elem, "boxSizing", false, styles ) === "border-box"; - - // some non-html elements return undefined for offsetWidth, so check for null/undefined - // svg - https://bugzilla.mozilla.org/show_bug.cgi?id=649285 - // MathML - https://bugzilla.mozilla.org/show_bug.cgi?id=491668 - if ( val <= 0 || val == null ) { - // Fall back to computed then uncomputed css if necessary - val = curCSS( elem, name, styles ); - if ( val < 0 || val == null ) { - val = elem.style[ name ]; - } - - // Computed unit is not pixels. Stop here and return. - if ( rnumnonpx.test(val) ) { - return val; - } - - // we need the check for style in case a browser which returns unreliable values - // for getComputedStyle silently falls back to the reliable elem.style - valueIsBorderBox = isBorderBox && ( jQuery.support.boxSizingReliable || val === elem.style[ name ] ); - - // Normalize "", auto, and prepare for extra - val = parseFloat( val ) || 0; - } - - // use the active box-sizing model to add/subtract irrelevant styles - return ( val + - augmentWidthOrHeight( - elem, - name, - extra || ( isBorderBox ? "border" : "content" ), - valueIsBorderBox, - styles - ) - ) + "px"; -} - -// Try to determine the default display value of an element -function css_defaultDisplay( nodeName ) { - var doc = document, - display = elemdisplay[ nodeName ]; - - if ( !display ) { - display = actualDisplay( nodeName, doc ); - - // If the simple way fails, read from inside an iframe - if ( display === "none" || !display ) { - // Use the already-created iframe if possible - iframe = ( iframe || - jQuery(" - - -
            - -
            -
            - -
            - -
            - - - -

            Feedback

            -
            -

            Dear User,

            - -

            Thanks for using Virtual Labs. Your opinion is valuable to us. To help us improve, we'd like to ask you a few questions about your experience. It will only take 3 minutes and your answers will help us make Virtual Labs better for you and other users. -

            -

            - - - -

            -

            Thanks for your time !
            - The Virtual Labs Team -

            -
            -
            -
            -
            - - - diff --git a/ph3-beta-to-ui3.0-conv/ui3template/images/README.md b/ph3-beta-to-ui3.0-conv/ui3template/images/README.md deleted file mode 100644 index e69de29b..00000000 diff --git a/ph3-beta-to-ui3.0-conv/ui3template/index.html b/ph3-beta-to-ui3.0-conv/ui3template/index.html deleted file mode 100755 index 7f1e372c..00000000 --- a/ph3-beta-to-ui3.0-conv/ui3template/index.html +++ /dev/null @@ -1,182 +0,0 @@ - - - - - - - - - - - - - - - - - - - - Virtual Labs - - - - - - - - - - - - - - - - - - - - -
            - -
            - - - - - diff --git a/ph3-beta-to-ui3.0-conv/ui3template/posttest.html b/ph3-beta-to-ui3.0-conv/ui3template/posttest.html deleted file mode 100755 index a3596efc..00000000 --- a/ph3-beta-to-ui3.0-conv/ui3template/posttest.html +++ /dev/null @@ -1,210 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - Virtual Labs - - - - - - - - - - - - - - - - - - - - - - -
            - -
            -
            - -
            - -
            - - - -

            Post Test

            -
            - -
            -
            -
            -
            - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/ph3-beta-to-ui3.0-conv/ui3template/pretest.html b/ph3-beta-to-ui3.0-conv/ui3template/pretest.html deleted file mode 100755 index deef850c..00000000 --- a/ph3-beta-to-ui3.0-conv/ui3template/pretest.html +++ /dev/null @@ -1,205 +0,0 @@ - - - - - - - - - - - - - - - - - - - Virtual Labs - - - - - - - - - - - - - - - - - - - - - -
            - -
            -
            - -
            - -
            - - - -

            Pre Test

            -
            - -
            -
            -
            -
            - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/ph3-beta-to-ui3.0-conv/ui3template/procedure.html b/ph3-beta-to-ui3.0-conv/ui3template/procedure.html deleted file mode 100755 index 45d1f029..00000000 --- a/ph3-beta-to-ui3.0-conv/ui3template/procedure.html +++ /dev/null @@ -1,202 +0,0 @@ - - - - - - - - - - - - - - - - - - - - Virtual Labs - - - - - - - - - - - - - - - - - - - - - -
            - -
            -
            - -
            - -
            - - - -

            Procedure

            -
            - - -
            -
            -
            - - - - - - - - - - - - - - - - - - - - - - diff --git a/ph3-beta-to-ui3.0-conv/ui3template/references.html b/ph3-beta-to-ui3.0-conv/ui3template/references.html deleted file mode 100755 index b357cc7d..00000000 --- a/ph3-beta-to-ui3.0-conv/ui3template/references.html +++ /dev/null @@ -1,216 +0,0 @@ - - - - - - - - - - - - - - - - - - - - Virtual Labs - - - - - - - - - - - - - - - - - - - - - - - - -
            - -
            - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/ph3-beta-to-ui3.0-conv/ui3template/simulation.html b/ph3-beta-to-ui3.0-conv/ui3template/simulation.html deleted file mode 100755 index 20073916..00000000 --- a/ph3-beta-to-ui3.0-conv/ui3template/simulation.html +++ /dev/null @@ -1,274 +0,0 @@ - - - - - - - - - - - - - - - - - - - - Virtual Labs - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
            - -
            -
            - -
            - -
            - - - - -
            - Pop Up Procedure -
            -

            Simulation

            -
            - - - -
            -
            -
            - - - - - - - - - - - - - - - - - - - - diff --git a/ph3-beta-to-ui3.0-conv/ui3template/theory.html b/ph3-beta-to-ui3.0-conv/ui3template/theory.html deleted file mode 100644 index 7919e51e..00000000 --- a/ph3-beta-to-ui3.0-conv/ui3template/theory.html +++ /dev/null @@ -1,183 +0,0 @@ - - - - - - - - - - - - - - - - - - - - Virtual Labs - - - - - - - - - - - - - - - - - - - - -
            - -
            - - - - - diff --git a/ph3-beta-to-ui3.0-conv/utils.py b/ph3-beta-to-ui3.0-conv/utils.py deleted file mode 100644 index 51b8f51a..00000000 --- a/ph3-beta-to-ui3.0-conv/utils.py +++ /dev/null @@ -1,71 +0,0 @@ -import os -import importlib -import subprocess - -from config import * - - -def execute_command(cmd): - print "command: %s" % (cmd) - return_code = -1 - output = None - # TODO: Checkout alternative os.system(cmd) - try: - output = subprocess.check_output(cmd, shell=True) - return_code = 0 - except subprocess.CalledProcessError as cpe: - print "Called Process Error Message: %s" % (cpe.output) - raise cpe - except OSError as ose: - print "OSError: %s" % (ose.output) - raise ose - - return (return_code, output) - -def clone_repo(url, branch, dir_name): - repo_full_path = get_repo_full_path(dir_name) - if branch == "": - branch = "master" - - clone_cmd = "git clone -b %s %s %s" % (branch, url, repo_full_path) - - try: - (ret_code, output) = execute_command(clone_cmd) - except Exception, e: - print "Error Cloning the repository: " + str(e) - raise e - - -def pull_repo(url, branch, dir_name): - repo_full_path = get_repo_full_path(dir_name) - if branch == "": - branch = "master" - pull_cmd = "git -C %s checkout %s;git -C %s pull origin %s" \ - % (repo_full_path, branch, repo_full_path, branch) - - try: - print "\n\n" - (ret_code, output) = execute_command(pull_cmd) - print "\n\nPull repo successful" - except Exception, e: - print "Error Pulling the repository: " + str(e) - raise e - - -def get_repo_full_path(exp_id): - repo_path = INFRA_LOC + "/" + exp_id - return repo_path - - -def repo_exists(exp_id): - full_repo_path = get_repo_full_path(exp_id) - return os.path.isdir(full_repo_path) - -def make_infra_path(): - execute_command("mkdir -p %s" % (INFRA_LOC)) - -def fetch_repo(url, branch, id): - if repo_exists(id): - pull_repo(url, branch, id) - else: - clone_repo(url, branch, id) diff --git a/ph3-beta-to-ui3.0-conv/utils.pyc b/ph3-beta-to-ui3.0-conv/utils.pyc deleted file mode 100644 index 4e40ae10..00000000 Binary files a/ph3-beta-to-ui3.0-conv/utils.pyc and /dev/null differ diff --git a/run.sh b/run.sh new file mode 100644 index 00000000..69b005a7 --- /dev/null +++ b/run.sh @@ -0,0 +1,3 @@ +#!/bin/bash +npm install +npm run build-exp diff --git a/sample-lab-descriptor.json b/sample-lab-descriptor.json index a14b97b8..1082aadd 100644 --- a/sample-lab-descriptor.json +++ b/sample-lab-descriptor.json @@ -1,49 +1,49 @@ -{ - "broadArea": { - "name": "Civil Engineering", - "link": "http://vlab.co.in/broad-area-civil-engineering" - }, - "lab": "Fluid Machinery", - "deployLab":true, - "phase": 3, - "collegeName": "NITS", - "baseUrl": "http://localhost", - "introduction": "Welcome to fluid macninery lab!", - "experiments": [ - { - "name": "Performance Characteristics of Centrifugal Pump", - "short-name": "centrifugal-pump", - "repo": "http://vlabs.iitb.ac.in/gitlab/vlabs-dev-central-hosting/fluid-machinery-nitk/performance-characteristics-centrifugal-pump-nitk.git", - "tag": "v1.0.0", - "deploy": true - }, - { - "name": "Performance Characteristics of Hydraulic Ram", - "short-name": "hydraulic-ram", - "repo": "http://vlabs.iitb.ac.in/gitlab/vlabs-dev-central-hosting/fluid-machinery-nitk/performance-characteristics-hydraulic-ram-nitk.git", - "tag": "v1.0.0", - "deploy": false - } - ], - "targetAudience": { - "UG": [ - "B. Tech./ B.E in Civil Engineering" - ], - "PG": [ - "MS/Ph. D. Beginners in Civil Engineering and related topics" - ] - }, - "objective": "Hello World.", - "courseAlignment": { - "description": "course are listed here:", - "universities": [ - "Visvesvaraya Technological University Karnataka", - "National Institute of Technology Karnataka Karnataka", - "Anna University Tamil Nadu", - "SRM University Delhi - NCR Sonepat Haryana", - "University of Kerala Kerala", - "APJ Abdul Kalam Technological University Kerala", - "CUSAT Kerala" - ] - } -} +{ + "broadArea": { + "name": "Civil Engineering", + "link": "http://vlab.co.in/broad-area-civil-engineering" + }, + "lab": "Fluid Machinery", + "deployLab":true, + "phase": 3, + "collegeName": "NITS", + "baseUrl": "http://localhost", + "introduction": "Welcome to fluid macninery lab!", + "experiments": [ + { + "name": "Performance Characteristics of Centrifugal Pump", + "short-name": "centrifugal-pump", + "repo": "http://vlabs.iitb.ac.in/gitlab/vlabs-dev-central-hosting/fluid-machinery-nitk/performance-characteristics-centrifugal-pump-nitk.git", + "tag": "v1.0.0", + "deploy": true + }, + { + "name": "Performance Characteristics of Hydraulic Ram", + "short-name": "hydraulic-ram", + "repo": "http://vlabs.iitb.ac.in/gitlab/vlabs-dev-central-hosting/fluid-machinery-nitk/performance-characteristics-hydraulic-ram-nitk.git", + "tag": "v1.0.0", + "deploy": false + } + ], + "targetAudience": { + "UG": [ + "B. Tech./ B.E in Civil Engineering" + ], + "PG": [ + "MS/Ph. D. Beginners in Civil Engineering and related topics" + ] + }, + "objective": "Hello World.", + "courseAlignment": { + "description": "course are listed here:", + "universities": [ + "Visvesvaraya Technological University Karnataka", + "National Institute of Technology Karnataka Karnataka", + "Anna University Tamil Nadu", + "SRM University Delhi - NCR Sonepat Haryana", + "University of Kerala Kerala", + "APJ Abdul Kalam Technological University Kerala", + "CUSAT Kerala" + ] + } +} diff --git a/skeleton-new.html b/skeleton-new.html deleted file mode 100644 index 691f4cf6..00000000 --- a/skeleton-new.html +++ /dev/null @@ -1,108 +0,0 @@ - - - - - - - - - - - Welcome to Virtual Labs - A MHRD Govt of india Initiative - - - - - - - - - - - - -
            - - -
            -
            - -
            - -
            - -
            - -
            - -
            -
            -
            - - - diff --git a/src/Experiment.js b/src/Experiment.js deleted file mode 100644 index 1677b4ce..00000000 --- a/src/Experiment.js +++ /dev/null @@ -1,75 +0,0 @@ -const git = require('simple-git/promise'); -const {spawn} = require('child_process'); -const URL = require('url'); -const path = require('path'); -const {Repository} = require('./repository.js'); - -class Experiment { - - constructor(name, short_name, remote_repository_url, version) { - this.name = name; - this.short_name = short_name; - this.repository = new Repository(remote_repository_url, version); - } - - describe() { - console.log(`NAME: ${this.name}`); - console.log(`SHORT NAME: ${this.short_name}`); - console.log(`REMOTE REPOSITORY: ${this.repository.remote.href}`); - console.log(`VERSION: ${this.repository.version}`); - } - - clone() { - this.deleteSources(); - console.info(`cloning ${this.name} sources from ${this.repository.remote.href}`); - git().silent() - .clone(this.repository.remote.href) - .then(() => console.log(`cloned :: ${this.name}`)) - .catch((err) => {}); - } - - deleteSources() { - const rm = spawn('rm', ['-rf', this.repository.name]); - rm.on('close', (code) => { - if (code !== 0) { - console.log(code); - } - }); - } -} - - -class ExpBuilder { - - constructor(repository){ - this.repository = repository; - } - - load() { - return git().clone(this.repository.remote.href) - .then((res) => { - return repo.checkout(this.repository.version); - }) - .catch((err) => { - return git(this.repository.name).checkout(this.repository.version); - }); - } - - build() { - console.log('TODO'); - } -} - - -module.exports.MarkdownExperiment = class MarkdownExperiment extends Experiment { - - constructor(name, short_name, remote_repository_url, version, builder_repo) { - super(name, short_name, remote_repository_url, version); - this.builder_repo = builder_repo; - } - - build() { - const builder = new ExpBuilder(this.builder_repo); - builder.load().then(build); - } -} diff --git a/src/code/experiment.ts b/src/code/experiment.ts deleted file mode 100644 index 3b43facb..00000000 --- a/src/code/experiment.ts +++ /dev/null @@ -1,72 +0,0 @@ -import * as chalk from 'chalk'; -import * as boxen from 'boxen'; -import * as figures from 'figures'; -import {URL} from 'url'; -import * as Handlebars from 'handlebars'; -import * as fs from 'fs-extra'; -import * as shell from 'shelljs'; -import * as path from 'path'; - -import {firstToUpper, Label} from './utility'; - -export abstract class Experiment { - name : string; - shortName : string; - repoURL : URL; - tag: string; - link : URL; - labName: Label; - - constructor(name: string, shortName: string, repoURL: URL, - tag: string, labName: Label, indexfn='index.html') { - this.name = name; - this.shortName = shortName; - this.repoURL = repoURL; - this.tag = tag; - this.labName = labName; - } - - describe() : void { - console.log(` ${this.name}, ${this.shortName}, ${this.link}`); - } - - abstract build() : Experiment; - abstract deploy() : Experiment; -} -export class IIITHExperiment extends Experiment { - constructor(name: string, shortName: string, repoURL: URL, tag: string, labName: Label) { - super(name, shortName, repoURL, tag, labName, 'exp.html'); - } - - build() : Experiment { - console.log(chalk` {magenta ${figures.bullet}} Building {blue ${this.shortName}}`); - - const localExpRoot = path.resolve('build/experiments').toString(); - const localExp = path.resolve(localExpRoot, this.shortName).toString(); - const content_repo = new URL(`${this.repoURL.pathname}/content-html`, this.repoURL); - shell.rm('-rf', localExp); - shell.mkdir('-p', localExp); - shell.cd(localExp); - shell.exec(`git clone ${content_repo.toString()}`); - shell.cd('content-html'); - shell.exec(`git fetch --all`); - shell.exec(`git checkout ${this.tag}`); - shell.cp('config.mk.sample', 'config.mk'); - //shell.exec('make -k clean'); - //shell.exec('make -k clean-infra'); - shell.exec('make -k all'); - shell.cd(`../../../../`); - console.log(chalk` {green ${figures.tick}} Done`); - return this; - } - deploy() : Experiment { - console.log(`Deploying ${this.shortName}`); - const localExpRoot = path.resolve('build/experiments').toString(); - const localExp = path.resolve(localExpRoot, this.shortName).toString(); - const copyTo = `/var/www/html/${this.labName.toPathName()}/exp/${this.shortName}/`; - shell.rm('-rf', copyTo); - shell.mkdir('-p', copyTo); - shell.cp('-rf', `${localExp}/content-html/build/*`, copyTo); - return this; - } -} diff --git a/src/code/index.ts b/src/code/index.ts deleted file mode 100644 index 9523d07c..00000000 --- a/src/code/index.ts +++ /dev/null @@ -1,46 +0,0 @@ -#!/usr/bin/env node - -import * as chalk from 'chalk'; -import * as boxen from 'boxen'; -import * as figures from 'figures'; -import * as fs from 'fs-extra'; -import * as path from 'path'; - -import * as lab from './lab'; -import {Lab, ContentKind} from './lab'; -import {LabDescriptor, loadLabDescriptor} from './labdescriptor'; - -import * as shell from 'shelljs'; - -shell.config.silent = true; -shell.set('-e'); - -let labpath; -let level; - -if (process.argv[2] === 'init') { - labpath = process.argv[3]; - shell.cp('empty-lab-descriptor.json', path.resolve(labpath, 'lab-descriptor.json')); -} -else { - if (process.argv[2] === '-v') { - shell.config.silent = false; - level = process.argv[3]; - labpath = process.argv[4]; - } - else { - level = process.argv[2]; - labpath = process.argv[3]; - } - - const ld = path.resolve(labpath, 'lab-descriptor.json'); - - lab.fromDescriptor(ld) - .summarize() - .generatePages() - .buildLab() - .deploy() - //.updateSources(level) - .buildExperiments() - -} diff --git a/src/code/lab.ts b/src/code/lab.ts deleted file mode 100644 index 01c139b6..00000000 --- a/src/code/lab.ts +++ /dev/null @@ -1,378 +0,0 @@ -import * as chalk from 'chalk'; -import * as boxen from 'boxen'; -import * as figures from 'figures'; -import {URL} from 'url'; -import * as Handlebars from 'handlebars'; -import * as fs from 'fs-extra'; -import * as shell from 'shelljs'; -import * as path from 'path'; - -import {firstToUpper, Label} from './utility'; -import {LabDescriptor, loadLabDescriptor} from './labdescriptor'; -import {IIITHExperiment, Experiment} from './experiment'; - - -export type ContentKind = 'Introduction' - | 'Objective' - | 'ListOfExperiments' - | 'NestedListOfExperiments' - | 'TargetAudience' - | 'CourseAlignment' - | 'Feedback'; - -export function contentKind(c: string) : ContentKind { - switch(c) { - case 'Introduction': - return 'Introduction'; - case 'Objective': - return 'Objective'; - case 'ListOfExperiments': - return 'ListOfExperiments'; - case 'NestedListOfExperiments': - return 'NestedListOfExperiments'; - case 'TargetAudience': - return 'TargetAudience'; - case 'CourseAlignment': - return 'CourseAlignment'; - case 'Feedback': - return 'Feedback'; - default: - throw Error('INVALID_CONTENT_TYPE'); - } -} - -export interface Content { - kind: ContentKind, - data: any -} - -export function introductionContent(data: any) : Content { - return { - kind: 'Introduction', - data: data - }; -} - -export function listOfExperimentsContent(data: any) : Content { - if (data.experiments) { - data.experiments = data.experiments.map( (e: any) => { - e.link = `${e['short-name']}.html`; - return e; - }); - return { - kind: 'ListOfExperiments', - data: data - }; - } - else { - data.experimentSections = data.experimentSections.map( (es: any) => { - es.experiments = es.experiments.map( (e: any) => { - e.link = `${e['short-name']}.html`; - return e; - }); - return es; - }); - return { - kind: 'NestedListOfExperiments', - data: data - }; - } -} -export function objectiveContent(data: any) : Content { - return { - kind: 'Objective', - data: data - }; -} -export function targetAudienceContent(data: any) : Content { - return { - kind: 'TargetAudience', - data: data - }; -} -export function courseAlignmentContent(data: any) : Content { - return { - kind: 'CourseAlignment', - data: data - }; -} - -export function feedbackContent(data: any) : Content { - return { - kind: 'Feedback', - data: data - }; -} - - -export interface PageConfig { - heading: string; - template: ContentKind; - outfn: string; -} - - -export class Lab { - - static skeleton_fn: string = 'template/skeleton.handlebars'; - static pagesConfig: PageConfig[] = [ - { - heading: 'Introduction', - template: contentKind('Introduction'), - outfn: 'Introduction' - }, - { - heading: 'Objective', - template: contentKind('Objective'), - outfn: 'Objective' - }, - { - heading: 'List of Experiments', - template: contentKind('ListOfExperiments'), - outfn: 'ListOfExperiments' - }, - { - heading: 'List of Experiments', - template: contentKind('NestedListOfExperiments'), - outfn: 'ListOfExperiments' - }, - { - heading: 'TargetAudience', - template: contentKind('TargetAudience'), - outfn: 'TargetAudience' - }, - { - heading: 'CourseAlignment', - template: contentKind('CourseAlignment'), - outfn: 'CourseAlignment' - }, - { - heading: 'Feedback', - template: contentKind('Feedback'), - outfn: 'Feedback' - } - ]; - - name: Label; - localPath: string; - discipline: Label; - college: string; - phase: number; - host: string; - experiments: (Experiment[]|undefined); - rawPageContents: any; - options?: any; - - constructor(name: Label, localPath: string, discipline: Label, college: string, - phase: number, host: string, experiments: (Experiment[]|undefined), - rawPageContents: any, options: any) { - this.name = name; - this.localPath = localPath; - this.discipline = discipline; - this.college = college; - this.phase = phase; - this.host = host; - this.experiments = experiments; - this.rawPageContents = rawPageContents; - this.options = options; - } - - version(level: string) : string { - shell.cd(path.resolve(this.localPath)); - let tag = shell.exec(`git tag -l`); - let [major, minor, patch] = 'v1.0.0'.slice(1).split('.').map(parseFloat); - - if (level === 'major'){ - return `v${major+1}.${minor}.${patch}`; - } - if (level === 'minor'){ - return `v${major}.${minor+1}.${patch}`; - } - if (level === 'patch'){ - return `v${major}.${minor}.${patch+1}`; - } - else { - shell.cd(process.cwd()); - throw Error('invalid level'); - } - - } - describe() : void { - const head = chalk`{italic {yellow LAB INFO} }`; - const ln = chalk`{bold Lab Name} : ${this.name.toString()}`; - const d = chalk`{bold Discipline} : ${this.discipline.toString()}`; - const p = chalk`{bold Phase} : ${this.phase}`; - const u = chalk`{bold URL} : ${this.url()}`; - - console.log(boxen(`${head}\n\n${ln}\n${d}\n${p}\n${u}`, {padding: 1, margin: 1, borderColor: 'cyan'})); - } - url() : URL { - return (new URL(this.name.toPathName(), this.host)); - } - - getContent(kind: ContentKind, src: object) : Content { - switch(kind) { - case contentKind('Introduction'): - return introductionContent(src); - case contentKind('ListOfExperiments'): - return listOfExperimentsContent(src); - case contentKind('NestedListOfExperiments'): - return listOfExperimentsContent(src); - case contentKind('Objective'): - return objectiveContent(src); - case contentKind('CourseAlignment'): - return courseAlignmentContent(src); - case contentKind('TargetAudience'): - return targetAudienceContent(src); - case contentKind('Feedback'): - return feedbackContent(src); - default: - throw Error('INVLID_CONTENT_KIND'); - } - } - - - - page(cfg: PageConfig) : void { - const data = this.getContent(cfg.template, this.rawPageContents).data; - - const content = Handlebars.compile( - fs.readFileSync(`template/${cfg.template}.handlebars`, 'utf-8') - )(data); - - const html = Handlebars.compile(fs.readFileSync(Lab.skeleton_fn, 'utf-8')) - ({name: this.name, - discipline: this.discipline, - college: this.college, - phase: this.phase, - pageHeading: cfg.heading, - content: content, - hasObjective: this.rawPageContents.hasObjective, - enable_analytics: false}); - fs.ensureFileSync(path.resolve(this.localPath, `src/lab/${cfg.outfn}.html`)); - fs.writeFileSync(path.resolve(this.localPath, `src/lab/${cfg.outfn}.html`), html, 'utf-8'); - } - generatePages() : Lab { - - //const dest = this.name.toPathName(); - - const dest = this.localPath; - - fs.copySync('build/lab-structure', `${dest}`); - Lab.pagesConfig.filter((cfg: PageConfig) => { - if ((cfg.template === contentKind('Objective')) && !(this.options.hasObjective)) { - return false; - } - if ((cfg.template === contentKind('NestedListOfExperiments')) && !(this.options.isListNested)) { - return false; - } - if ((cfg.template === contentKind('ListOfExperiments')) && (this.options.isListNested)) { - return false; - } - return true; - }).forEach((pc: PageConfig) => { - this.page(pc); - }); - return this; - } - - summarize() : Lab { - const head = chalk`{italic {yellow LAB INFO} }`; - const ln = chalk`{bold Lab Name} : ${this.name.toString()}`; - const d = chalk`{bold Discipline} : ${this.discipline.toString()}`; - const p = chalk`{bold Phase} : ${this.phase}`; - const u = chalk`{bold URL} : ${this.url()}`; - console.log(boxen(`${head}\n\n${ln}\n${d}\n${p}\n${u}`, {padding: 1, margin: 1, borderColor: 'cyan'})); - return this; - } - - buildLab() : Lab { - console.log(chalk`{cyan ${figures.circleDouble}} Building Lab Sources`); - const lp = this.localPath; - shell.cd(lp); - shell.exec('make all'); - shell.exec(`cd ${process.cwd()}`); - console.log(chalk` {green ${figures.tick}} Lab Sources built successfully`); - return this; - } - buildExperiments() : Lab { - console.log(chalk`\n{cyan ${figures.circleDouble}} Building Experiments :: {yellow This may take a while}\n`); - if (this.experiments){ - this.experiments.forEach((e) => e.build().deploy()); - } - return this; - } - deploy() : Lab { - console.log('Deploying Lab'); - - const lp = this.localPath; - const labDest = path.resolve('/var/www/html/', this.name.toPathName()); - - shell.mkdir('-p', labDest); - shell.cp('-r', path.resolve(this.localPath, path.resolve(lp, `build/*`)), labDest); - - console.log(chalk` {green Copied Lab to to ${labDest}}`); - return this; - } - updateSources(level: string) : Lab { - shell.exec(`cd ${path.resolve(this.localPath)}`); - console.log('Updating Sources'); - console.log(); - // insert tag in descriptor - shell.exec(`git add src/`); - shell.exec(`git add lab-descriptor.json`); - shell.exec(`git commit -m '${this.version(level)}'`); - shell.exec(`git tag -a '${this.version(level)}' -m '${this.version(level)}'`); - shell.exec(`git push origin '${this.version(level)}'`); - //shell.exec(`cd ${process.cwd()}`); - return this; - } -} - - -export function fromDescriptor(fn: string) : Lab { - const ld: LabDescriptor = loadLabDescriptor(fn); - const name: Label = new Label(ld.lab); - const localPath: string = path.dirname(fn); - const discipline: Label = new Label(ld.broadArea.name); - const college: string = ld.collegeName; - const phase: number = ld.phase; - const host: string = ld.baseUrl; - const rawContents: any = { introduction: ld.introduction, - objective: ld.objective, - hasObjective: (ld.objective ? true : false), - experiments: ld.experiments, - experimentSections: ld.experimentSections, - targetAudience: ld.targetAudience, - courseAlignment: ld.courseAlignment, - feedback: {} - }; - const experiments: (Experiment[]|undefined) = loadExperiments(ld); - const options: any = { enable_analytics: false, - hasObjective: (ld.objective ? true : false), - isListNested: (ld.experimentSections ? true : false), - }; - return (new Lab(name, localPath, discipline, college, phase, host, - experiments, rawContents, options)); -} - -function loadExperiments(ld: LabDescriptor) : (Experiment[]|undefined) { - if (ld.experimentSections) { - return ld.experimentSections - .map((es: any) => es.experiments) - .flat() - .map((e: any) => { - return (new IIITHExperiment(e.name, e['short-name'], - new URL(e.repo), e.tag, new Label(ld.lab))); - }); - } - else { - if (ld.experiments){ - return ld.experiments - .map((e: any) => { - return (new IIITHExperiment(e.name, e['short-name'], - new URL(e.repo), e.tag, new Label(ld.lab))); - }); - } - } -} diff --git a/src/code/labdescriptor.ts b/src/code/labdescriptor.ts deleted file mode 100644 index 1e025454..00000000 --- a/src/code/labdescriptor.ts +++ /dev/null @@ -1,26 +0,0 @@ -import * as fs from 'fs-extra'; - -export interface LabDescriptor { - broadArea : {name : string, link : string}, - lab: string, - phase: number, - collegeName: string, - baseUrl: string, - introduction: string, - experiments?: object[], - experimentSections?: object[], - targetAudience: { UG : string[], PG: string[] }, - objective?: string, - courseAlignment: {description: string, universities: string[]} -} - -export function loadLabDescriptor(fn: string) : LabDescriptor { - const ld = JSON.parse(fs.readFileSync(`${fn}`, 'utf-8')); - if (ld["experiment-sections"]) { - if (ld.experiments) { - throw Error('INVALID_LAB_DESCRIPTOR'); - } - ld.experimentSections = ld["experiment-sections"]; - } - return ld; -} diff --git a/src/code/page.ts b/src/code/page.ts deleted file mode 100644 index 22bbfaa9..00000000 --- a/src/code/page.ts +++ /dev/null @@ -1,47 +0,0 @@ -import * as path from 'path'; -import * as fs from 'fs-extra'; - -class Page { - - static saveDir = 'pages'; - fn: string; - - constructor(fn: string) { - this.fn = fn; - } - - filePath() : string { - return path.resolve(Page.saveDir, this.fn); - } - - render() : string { - return `
            Trial
            `; - } -} - -const p = new Page('..'); -p.render(); -class IntroductionPage extends Page { - - static filename : string = 'Introduction.html'; - content : string; - - constructor(content: string) { - super(IntroductionPage.filename); - this.content = content; - } - - render() : string { - return this.content; - } - - save() : void { - console.log(`writing to ${this.filePath()}`); - fs.ensureFileSync(this.filePath()); - fs.writeFileSync(this.filePath(), this.content, 'utf-8'); - } -} - - -const ip = new IntroductionPage("hello kitty"); -console.log(ip.render()); diff --git a/src/code/test/lab.js b/src/code/test/lab.js deleted file mode 100644 index 4e641dc3..00000000 --- a/src/code/test/lab.js +++ /dev/null @@ -1,16 +0,0 @@ -import * as assert from = require('assert'); -const chai = require('chai'); -const should = chai.should(); - -const lab = require('../lab.js'); - -describe('Lab', function() { - describe('Create', function() { - it('should create a new Lab instance', function(){ - const l = new lab.Lab(); - l.should.be.an('Object'); - }); - }); -}); - - diff --git a/src/code/util.ts b/src/code/util.ts deleted file mode 100644 index 5347379e..00000000 --- a/src/code/util.ts +++ /dev/null @@ -1,5 +0,0 @@ -export function firstToUpper(w: string) : string { - // converts first character of given word to uppercase. - // computer => Computer - return w[0].toUpperCase()+w.slice(1); -} diff --git a/src/code/utility.ts b/src/code/utility.ts deleted file mode 100644 index b51fe8b6..00000000 --- a/src/code/utility.ts +++ /dev/null @@ -1,36 +0,0 @@ -import * as chalk from 'chalk'; -import * as boxen from 'boxen'; -import * as figures from 'figures'; - -export class Label { - - text: string; - - constructor(text: string) { - //Label.validateLabel(text); - this.text = text; - } - - static validateLabel(text: string) : void { - - // casing validation - if (text.search(/^[a-z]/g) === 0 || text.search(/ [a-z]/g) > 0) { - console.log(chalk`\n {red {bold ERROR ( LGE001 ) :}} {bold ${text}} is not a valid label`); - console.log(chalk` {green {bold Fix :}} ${text} ${figures.arrowRight} ${text.split(' ').map(firstToUpper).join(' ')}\n`); - throw Error('INVALID_LAB_DESCRIPTOR'); - } - } - toString () : string { - return this.text; - } - toPathName() : string { - return this.text.toLowerCase().trim().replace(/–/g, '').replace(/ +/g, '-'); - } - -} - -export function firstToUpper(w: string) : string { - // converts first character of given word to uppercase. - // computer => Computer - return w[0].toUpperCase()+w.slice(1); -} diff --git a/src/code/validateLabDescriptor.js b/src/code/validateLabDescriptor.js deleted file mode 100644 index a0ecef02..00000000 --- a/src/code/validateLabDescriptor.js +++ /dev/null @@ -1,9 +0,0 @@ -"use strict"; -exports.__esModule = true; -var Ajv = require("ajv"); -var ajv = new Ajv(); -var validate = ajv.compile(require('./labDescSchema.json')); -var valid = validate('../sample-lab-descriptor.json'); -if (!valid) { - console.log(ajv.errors); -} diff --git a/src/code/validateLabDescriptor.ts b/src/code/validateLabDescriptor.ts deleted file mode 100644 index 5498d570..00000000 --- a/src/code/validateLabDescriptor.ts +++ /dev/null @@ -1,60 +0,0 @@ -import * as Ajv from 'ajv'; -import * as figures from 'figures'; -import * as chalk from 'chalk'; - -const ajv = new Ajv({allErrors: true}); -const validate = ajv.compile(require('./labDescSchema.json')); -const valid = validate(require('../sample-lab-descriptor.json')); - - -if (!valid) { - if (validate.errors) { - console.log(validate.errors); - reportJSONErrors(validate.errors); - } -} - - -function reportJSONErrors(errors: Ajv.ErrorObject[]) : void { - const heading: string = - `Errors were detected in the Lab Descriptor -FIX: - -`; - - console.log(chalk`\n${heading}\n`); - errors.forEach(showJSONError); -} - - -function propertyValueError(e: Ajv.ErrorObject) : void { - let delim: string =` ${figures.pointer} `; - delim = chalk`{yellow ${delim}}`; - - let msg: string = chalk` {yellow ${e.message}}`; - - const dataPath: string = - e.dataPath.replace(/\./g, delim); - - console.log(`\n${dataPath}\n${msg}\n`); -} - - -function additionalPropertyError(e: Ajv.ErrorObject) { - console.log(e.propertyName); - console.log(`\nPlease remove the following field:\n`); - const ap: Ajv.AdditionalPropertiesParams = e.params; - console.log(`${ap.additionalProperty}`); -} - - -function showJSONError(e: Ajv.ErrorObject) : void { - switch(e.keyword) { - case 'additionalProperties': - additionalPropertyError(e); - break; - default: - propertyValueError(e); - break - } -} \ No newline at end of file diff --git a/src/code/validateLabDescriptor.ts~ b/src/code/validateLabDescriptor.ts~ deleted file mode 100644 index 1b0ff501..00000000 --- a/src/code/validateLabDescriptor.ts~ +++ /dev/null @@ -1,59 +0,0 @@ -import * as Ajv from 'ajv'; -import * as figures from 'figures'; -import * as chalk from 'chalk'; - -const ajv = new Ajv({allErrors: true}); -const validate = ajv.compile(require('./labDescSchema.json')); -const valid = validate(require('../sample-lab-descriptor.json')); - - -if (!valid) { - if (validate.errors) { - console.log(validate.errors); - reportJSONErrors(validate.errors); - } -} - - -function reportJSONErrors(errors: Ajv.ErrorObject[]) : void { - const heading: string = - `Errors were detected in the Lab Descriptor -FIX: - -`; - - console.log(chalk`\n${heading}\n`); - errors.forEach(showJSONError); -} - - -function propertyValueError(e: Ajv.ErrorObject) : void { - let delim: string =` ${figures.pointer} `; - delim = chalk`{yellow ${delim}}`; - - let msg: string = chalk` {yellow ${e.message}}`; - - const dataPath: string = - e.dataPath.replace(/\./g, delim); - - console.log(`\n${dataPath}\n${msg}\n`); -} - - -function additionalPropertyError(e: Ajv.ErrorObject) { - console.log(`\nPlease remove the following field:\n`); - const ap: Ajv.AdditionalPropertiesParams = e.params; - console.log(`${ap.additionalProperty}`); -} - - -function showJSONError(e: Ajv.ErrorObject) : void { - switch(e.keyword) { - case 'additionalProperties': - additionalPropertyError(e); - break; - default: - propertyValueError(e); - break - } -} diff --git a/src/config.json b/src/config.json deleted file mode 100644 index 6bd18963..00000000 --- a/src/config.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "templates_dir" : "templates", - "components" : [ - "analytics", - "labName", - "discipline", - "sidebar", - ], - "pages" : [ - { "name": "Introduction", - "required": true - }, - { "name": "ListOfExperiments", - "required": true - }, - { "name": "Objective", - "required": false - }, - { "name": "TargetAudience", - "required": true - }, - { "name": "CourseAlignment", - "required": true - }, - { "name": "Feedback", - "required": true - } - ] -} diff --git a/src/docs/lab.html b/src/docs/lab.html deleted file mode 100644 index 93563ab8..00000000 --- a/src/docs/lab.html +++ /dev/null @@ -1,506 +0,0 @@ - - - - - - - -Lab - - - - - - - - - - - - -
            -

            Lab

            - - -
            -

            1 Introduction

            -
            -

            -A Lab is a defined by the following attributes: -

            - -
            - - --- -- -- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
            AttributeRoleDescription
            NameDisplay, AnalyticsName of the lab
            DisciplineDisplay, AnalyticsDiscipline that this lab belong to
            CollegeAnalyticsCollege that developed the lab
            PhaseAnalyticsVirtual Labs phase this lab belong to
            Host NamePublishingHost-name of the server that will
              server the generated lab pages. This
              host-name is just used to generate the
              link for the Lab and not for actual
              deployment
            PagesGenerationList of pages in the lab UI.
            - - - -
            -

            2 Lab Class

            -
            -
            -
            -

            2.1 Describe

            -
            -

            -Summary of the lab. This is useful to show information of a lab on -the terminal. -

            - -
            -
            describe() : void {
            -    const head = chalk`{italic {yellow LAB INFO} }`;
            -    const ln = chalk`{bold Lab Name}   :  ${this.name.toString()}`;
            -    const d = chalk`{bold Discipline} :  ${this.discipline.toString()}`;
            -    const p = chalk`{bold Phase}      :  ${this.phase}`;
            -    const u = chalk`{bold URL}        :  ${this.url()}`;
            -
            -    console.log(boxen(`${head}\n\n${ln}\n${d}\n${p}\n${u}`, {padding: 1, margin: 1, borderColor: 'cyan'}));
            -}
            -
            -
            - -

            -Contents of a Lab: -

            - -
              -
            • Introduction
            • -
            • Objective
            • -
            • List of Experiments
            • -
            • Target Audience
            • -
            • Course Alignment
            • -
            • Feedback
            • -
            - -

            -Any of these content fields can be made optional -

            -
            -
            - -
            -

            2.2 User Interface

            -
            -

            -Type : Browser based GUI -Artefact : Collection of HTML documents -

            - -

            -The uer interface for -

            -
            -
            -
            - -
            -

            3 Lab Url

            -
            -

            -A lab url is generated from host and name of the lab. -

            - -

            -http://<host>/<lab-name> -

            - -
            -
            url() : URL {
            -    return (new URL(this.name.toString(), this.host));
            -}
            -
            -
            -
            -
            - -
            -

            4 Label

            -
            -
            -
            export class Label {
            -
            -    text: string;
            -
            -    constructor(text: string) {
            -        Label.validateLabel(text);
            -        this.text = text;
            -    }
            -
            -    static validateLabel(text: string) : void {
            -
            -        // casing validation
            -        if (text.search(/^[a-z]/g) === 0 || text.search(/ [a-z]/g) > 0) {
            -        console.log(chalk`\n {red {bold ERROR ( LGE001 ) :}} {bold ${text}} is not a valid label`);
            -        console.log(chalk` {green {bold Fix :}} ${text} ${figures.arrowRight} ${text.split(' ').map(firstToUpper).join(' ')}\n`);
            -        throw Error('INVALID_LAB_DESCRIPTOR');
            -        }
            -    }
            -    toString () : string {
            -        return this.text;
            -    }
            -}
            -
            -
            -
            - -
            -
            static validateLabel(text: string) : void {
            -
            -    // casing validation
            -    if (text.search(/^[a-z]/g) === 0 || text.search(/ [a-z]/g) > 0) {
            -        console.log(chalk`\n {red {bold ERROR ( LGE001 ) :}} {bold ${text}} is not a valid label`);
            -        console.log(chalk` {green {bold Fix :}} ${text} ${figures.arrowRight} ${text.split(' ').map(firstToUpper).join(' ')}\n`);
            -        throw Error('INVALID_LAB_DESCRIPTOR');
            -    }
            -}
            -
            -
            - -
            -
            toString () : string {
            -    return this.text;
            -}
            -
            -
            -
            -
            - -
            -

            5 Utilities

            -
            -

            -Convert first character of given word to uppercase. -

            - -
            -
            export function firstToUpper(w: string) : string {
            -    // converts first character of given word to uppercase.
            -    // computer => Computer
            -    return w[0].toUpperCase()+w.slice(1);
            -}
            -
            -
            -
            -
            - -
            -

            Author: ojas

            -

            Created: 2020-06-07 Sun 10:03

            -

            Validate

            -
            - - diff --git a/src/docs/lab.html~ b/src/docs/lab.html~ deleted file mode 100644 index 325c5097..00000000 --- a/src/docs/lab.html~ +++ /dev/null @@ -1,549 +0,0 @@ - - - - - - - -Lab - - - - - - - - - - - - -
            -

            Lab

            - - -
            -

            1 Introduction

            -
            -

            -A Lab is a defined by the following attributes: -

            - - - - --- -- -- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
            AttributeRoleDescription
            NameDisplay, AnalyticsName of the lab
            DisciplineDisplay, AnalyticsDiscipline that this lab belong to
            CollegeAnalyticsCollege that developed the lab
            PhaseAnalyticsVirtual Labs phase this lab belong to
            Host NamePublishingHost-name of the server that will
              server the generated lab pages. This
              host-name is just used to generate the
              link for the Lab and not for actual
              deployment
            PagesGenerationList of pages in the lab UI.
            - -
            -
            -export class Lab {
            -    name: Label;
            -    discipline: Label;
            -    college: string;
            -    phase: number;
            -    host: string;
            -    pages: string[];
            -
            -    constructor(name: Label, discipline: Label, college: string, 
            -            phase: number, host: string, pages: string[]) {
            -        this.name = name;
            -        this.discipline = discipline;
            -        this.college = college;
            -        this.phase = phase;
            -        this.host = host;
            -        this.pages = pages;
            -    }
            -    describe() : void {
            -        const head = chalk`{italic {yellow LAB INFO} }`;
            -        const ln = chalk`{bold Lab Name}   :  ${this.name.toString()}`;
            -        const d = chalk`{bold Discipline} :  ${this.discipline.toString()}`;
            -        const p = chalk`{bold Phase}      :  ${this.phase}`;
            -        const u = chalk`{bold URL}        :  ${this.url()}`;
            -
            -        console.log(boxen(`${head}\n\n${ln}\n${d}\n${p}\n${u}`, {padding: 1, margin: 1, borderColor: 'cyan'}));
            -    }
            -    url() : URL {
            -        return (new URL(this.name.toString(), this.host));
            -    }
            -}
            -
            -
            -
            - -
            -
            constructor(name: Label, discipline: Label, college: string, 
            -            phase: number, host: string, pages: string[]) {
            -    this.name = name;
            -    this.discipline = discipline;
            -    this.college = college;
            -    this.phase = phase;
            -    this.host = host;
            -    this.pages = pages;
            -}
            -
            -
            -
            - -
            -

            1.1 Describe

            -
            -

            -Summary of the lab. This is useful to show information of a lab on -the terminal. -

            - -
            -
            describe() : void {
            -    const head = chalk`{italic {yellow LAB INFO} }`;
            -    const ln = chalk`{bold Lab Name}   :  ${this.name.toString()}`;
            -    const d = chalk`{bold Discipline} :  ${this.discipline.toString()}`;
            -    const p = chalk`{bold Phase}      :  ${this.phase}`;
            -    const u = chalk`{bold URL}        :  ${this.url()}`;
            -
            -    console.log(boxen(`${head}\n\n${ln}\n${d}\n${p}\n${u}`, {padding: 1, margin: 1, borderColor: 'cyan'}));
            -}
            -
            -
            - -

            -Contents of a Lab: -

            - -
              -
            • Introduction
            • -
            • Objective
            • -
            • List of Experiments
            • -
            • Target Audience
            • -
            • Course Alignment
            • -
            • Feedback
            • -
            - -

            -Any of these content fields can be made optional -

            -
            -
            - -
            -

            1.2 User Interface

            -
            -

            -Type : Browser based GUI -Artefact : Collection of HTML documents -

            - -

            -The uer interface for -

            -
            -
            -
            - -
            -

            2 Lab Url

            -
            -

            -A lab url is generated from host and name of the lab. -

            - -

            -http://<host>/<lab-name> -

            - -
            -
            url() : URL {
            -    return (new URL(this.name.toString(), this.host));
            -}
            -
            -
            -
            -
            - -
            -

            3 Label

            -
            -
            -
            export class Label {
            -
            -    text: string;
            -
            -    constructor(text: string) {
            -        Label.validateLabel(text);
            -        this.text = text;
            -    }
            -
            -    static validateLabel(text: string) : void {
            -
            -        // casing validation
            -        if (text.search(/^[a-z]/g) === 0 || text.search(/ [a-z]/g) > 0) {
            -        console.log(chalk`\n {red {bold ERROR ( LGE001 ) :}} {bold ${text}} is not a valid label`);
            -        console.log(chalk` {green {bold Fix :}} ${text} ${figures.arrowRight} ${text.split(' ').map(firstToUpper).join(' ')}\n`);
            -        throw Error('INVALID_LAB_DESCRIPTOR');
            -        }
            -    }
            -    toString () : string {
            -        return this.text;
            -    }
            -}
            -
            -
            -
            - -
            -
            static validateLabel(text: string) : void {
            -
            -    // casing validation
            -    if (text.search(/^[a-z]/g) === 0 || text.search(/ [a-z]/g) > 0) {
            -        console.log(chalk`\n {red {bold ERROR ( LGE001 ) :}} {bold ${text}} is not a valid label`);
            -        console.log(chalk` {green {bold Fix :}} ${text} ${figures.arrowRight} ${text.split(' ').map(firstToUpper).join(' ')}\n`);
            -        throw Error('INVALID_LAB_DESCRIPTOR');
            -    }
            -}
            -
            -
            - -
            -
            toString () : string {
            -    return this.text;
            -}
            -
            -
            -
            -
            - -
            -

            4 Utilities

            -
            -

            -Convert first character of given word to uppercase. -

            - -
            -
            export function firstToUpper(w: string) : string {
            -    // converts first character of given word to uppercase.
            -    // computer => Computer
            -    return w[0].toUpperCase()+w.slice(1);
            -}
            -
            -
            -
            -
            -
            -
            -

            Author: ojas

            -

            Created: 2020-06-07 Sun 10:01

            -

            Validate

            -
            - - diff --git a/src/img/Process-Flow.png b/src/img/Process-Flow.png deleted file mode 100644 index 7587dfb4..00000000 Binary files a/src/img/Process-Flow.png and /dev/null differ diff --git a/src/img/Process_Flow.png b/src/img/Process_Flow.png deleted file mode 100644 index d229ac94..00000000 Binary files a/src/img/Process_Flow.png and /dev/null differ diff --git a/src/img/page-generation.png b/src/img/page-generation.png deleted file mode 100644 index bb398c2a..00000000 Binary files a/src/img/page-generation.png and /dev/null differ diff --git a/src/index.js b/src/index.js deleted file mode 100644 index 5cef7c26..00000000 --- a/src/index.js +++ /dev/null @@ -1,16 +0,0 @@ -const exp = require('./Experiment.js'); -const {Repository} = require('./repository.js'); -const {Lab} = require('./lab.js'); - -const expBuilderRepo = new Repository('https://github.com/virtual-labs/ph3-beta-to-ui3.0-conv', 'v1.0.0'); - -e = new exp.MarkdownExperiment('testlab', 'tl', 'http://github.com/virtual-labs/testlab', 'v1.0.0', expBuilderRepo); -e.describe(); -e.clone(); -e.build(); - -lab = new Lab('lab-descriptor.json'); -lab.experiments.build().deploy(); -// at this stage we will have all the hosted links, and we can verify -// those links before adding to the lab. -lab.build().deploy(); diff --git a/src/lab-generation.html b/src/lab-generation.html deleted file mode 100644 index 289e9c75..00000000 --- a/src/lab-generation.html +++ /dev/null @@ -1,172 +0,0 @@ - - - - -Lab Generation - - - - - - - - - - - - - - -
            -

            Lab Generation

            -
            -

            Table of Contents

            -
            - -
            -
            - -
            -

            1 Intro

            -
            -

            -He ho -

            -
            -
            -
            -
            -

            Author: ojas

            -

            Created: 2020-05-25 Mon 18:13

            -

            Emacs 24.5.1 (Org mode 8.2.10)

            -

            Validate

            -
            - - diff --git a/src/lab-generation.org b/src/lab-generation.org deleted file mode 100644 index ce2b82b2..00000000 --- a/src/lab-generation.org +++ /dev/null @@ -1,7 +0,0 @@ -#+title: Lab Generation -#+setupfile: ../org-html-themes/setup/theme-readtheorg-local.setup -#+export_file_name: ../docs/labgen.html - -* Intro - - He ho diff --git a/src/lab.js b/src/lab.js deleted file mode 100644 index ffd4a76e..00000000 --- a/src/lab.js +++ /dev/null @@ -1,19 +0,0 @@ -class Lab { - name; - discipline; - college; - phase; - host; - pages; - - constructor(name, discipline, college, phase, host, pages) { - this.name = name; - this.discipline = discipline; - this.college = college; - this.phase = phase; - this.host = host; - this.pages = pages; - } -} - -module.exports.Lab = Lab; diff --git a/src/lab.js.old b/src/lab.js.old deleted file mode 100644 index 94d7f1ab..00000000 --- a/src/lab.js.old +++ /dev/null @@ -1,41 +0,0 @@ -class Domain { - - constructor(name, link) { - this.name = name; - this.link = URL.parse(link); - } -} - - -class LabConfig { - - constructor(config_fn) { - - const labConfig = require(config_fn); - - if (isValidConfig(labConfig)) { - this.templates_dir = labConfig.templates_dir; - this.components = labConfig.components; - this.pages = labConfig.pages; - } - } -} - - -class Lab { - - constructor(descriptor_fn, config_fn) { - - const descriptor = require(descriptor_fn); - const config = new LabConfig(config_fn); - - this.discipline = discipline; - this.name = name; - this.phase = phase; - this.college = college; - this.host = host; - } -} - - -module.exports.Lab = Lab diff --git a/src/org/design.org b/src/org/design.org deleted file mode 100644 index f21ec0fc..00000000 --- a/src/org/design.org +++ /dev/null @@ -1,142 +0,0 @@ -#+title: Features - -* Following features are supported - - Components: - - Lab Pages - - Build - - Deployment - - Experiments - - Build - - Deployment - -** Lab Building - - The lab pages are built using the following things: - 1. Page templates - 3. Lab Descriptor - - The figure below depicts the process of building a page using data - from lab descriptor and templates. - - [[../img/page-generation.png]] - - -**** Page Configuration - - To generate a page, we need to know the template to use, and the - name of the resulting html page. The =Page Configuration= - contains this information. - - |-----------+---------------------------------| - | Field | Description | - |-----------+---------------------------------| - | Heading | Content Heading to be displayed | - | Tempalate | The Template to be used | - | Outfn | Name of the generated html page | - |-----------+---------------------------------| - - - -***** Why not derive the page name from the template name? - - Template file-name to generated file-name is not a one-to-one - mapping. More than one template names map to a one target page. - - Example: - - #+BEGIN_EXAMPLE - NestedListOfExperiments.handlebars => ListOfExperiments.html - ListOfExperiments.handlebars => ListOfExperiments.html - #+END_EXAMPLE - -**** Page Templates - - Page templates are html templates written in a templating - language. - - Following templates are defined: - 1. Skeleton - 2. Introduction - 3. Objective - 4. ListOfExperiments - 5. NestedListOfExperiments - 6. TargetAudience - -***** Skeleton - - The =skeleton.handlebars= template is used to build the page - structure that is common for each of the Lab pages. - -***** Pages - -****** Introduction - - Content: Single Paragraph of text - -****** Objective - - Single paragraph of text - -****** List Of Experiments - -******* Nested List - - Array of Experiments objects - -******* Flat List - - Array of experiment sections - -****** Target Audience - - UG, PG - -****** Feedback - - fixed content - - -** Experiment Building - - An experiment can be of two types: - - 1. IIITH Experiment - 2. Phase III Markdown-authored Experiment - - - Each type of experiment has a different build process. The build - process for each kind of experiment is described below. - -*** IIITH Experiment - - Each IIITH Experiment is located in a gitlab repository. The - build process involves cloning the repository and running make. - This creates a build/ folder in the repository which contains - the working experiment. - - -*** Phase III Markdown-authored Experiment - - A =Phase 3 - Markdown Authored experiment= is an experiment that - follows the IITB Experiment development model. This experiment - sits in a private gitlab repository and the repository only - contains experiment specific content. Additional processing - needs to be performed to generate experiment pages in the form - of Phase-3 UI. - - After the build process the experiment resides in a predefined - location. - - -** Deployment - - Deployment is the process of copying the builds to a given - location in a publically accessible server. - - Assumtions: - - The script is executed on the same machine that would be - hosting the labs and experiments. - - The builds are available on the same machine. - - Verifying the hosted url is not possible (technical - considerations of reverse proxy) diff --git a/src/org/experiment.org b/src/org/experiment.org deleted file mode 100644 index a2844a3b..00000000 --- a/src/org/experiment.org +++ /dev/null @@ -1,126 +0,0 @@ -#+TITLE: Experiment -#+SETUPFILE: ~/apps/org-html-themes/setup/theme-readtheorg.setup -#+export_file_name: ../docs/experiment.html - -* Experiment - - #+NAME: experiment-cls - #+BEGIN_SRC typescript - export abstract class Experiment { - name : string; - shortName : string; - repoURL : URL; - tag: string; - link : URL; - labName: Label; - - constructor(name: string, shortName: string, repoURL: URL, - tag: string, labName: Label, indexfn='index.html') { - this.name = name; - this.shortName = shortName; - this.repoURL = repoURL; - this.tag = tag; - this.labName = labName; - } - - describe() : void { - console.log(` ${this.name}, ${this.shortName}, ${this.link}`); - } - - abstract build() : Experiment; - abstract deploy() : Experiment; - } - #+END_SRC - -* IIITH Experiments - - #+NAME: iiith-exp - #+BEGIN_SRC typescript :noweb yes - export class IIITHExperiment extends Experiment { - constructor(name: string, shortName: string, repoURL: URL, tag: string, labName: Label) { - super(name, shortName, repoURL, tag, labName, 'exp.html'); - } - - <> - <> - } - #+END_SRC - - -** Build - - #+NAME: build-iiith - #+BEGIN_SRC typescript - build() : Experiment { - console.log(chalk` {magenta ${figures.bullet}} Building {blue ${this.shortName}}`); - - const localExpRoot = path.resolve('build/experiments').toString(); - const localExp = path.resolve(localExpRoot, this.shortName).toString(); - const content_repo = new URL(`${this.repoURL.pathname}/content-html`, this.repoURL); - shell.rm('-rf', localExp); - shell.mkdir('-p', localExp); - shell.cd(localExp); - shell.exec(`git clone ${content_repo.toString()}`); - shell.cd('content-html'); - shell.exec(`git fetch --all`); - shell.exec(`git checkout ${this.tag}`); - shell.cp('config.mk.sample', 'config.mk'); - shell.exec('make -k clean'); - shell.exec('make -k clean-infra'); - shell.exec('make -k all'); - shell.cd(`../../../../`); - console.log(chalk` {green ${figures.tick}} Done`); - return this; - } - #+END_SRC - -** Deploy - - #+NAME: deploy-iiith - #+BEGIN_SRC typescript - deploy() : Experiment { - console.log(`Deploying ${this.shortName}`); - const localExpRoot = path.resolve('build/experiments').toString(); - const localExp = path.resolve(localExpRoot, this.shortName).toString(); - const copyTo = `/var/www/html/${this.labName.toPathName()}/exp/${this.shortName}/`; - shell.rm('-rf', copyTo); - shell.mkdir('-p', copyTo); - shell.cp('-rf', `${localExp}/content-html/build/*`, copyTo); - return this; - } - #+END_SRC -* Tangle :noexport: - - #+BEGIN_SRC typescript :noweb yes :tangle ../code/experiment.ts - import * as chalk from 'chalk'; - import * as boxen from 'boxen'; - import * as figures from 'figures'; - import {URL} from 'url'; - import * as Handlebars from 'handlebars'; - import * as fs from 'fs-extra'; - import * as shell from 'shelljs'; - import * as path from 'path'; - - import {firstToUpper, Label} from './utility'; - - <> - <> - - #+END_SRC - - -* Example - -#+BEGIN_SRC typescript - - shell.config.silent = true; - - const ex = new IIITHExperiment('Data Structures - 1', - 'ds1', - new URL('https://gitlab.com/vlead-projects/experiments/ds/bubble-sort/content-html'), - 'ds'); - ex.describe(); - ex.build(); - ex.deploy(); - -#+END_SRC diff --git a/src/org/features.org b/src/org/features.org deleted file mode 100644 index d49c92e0..00000000 --- a/src/org/features.org +++ /dev/null @@ -1,174 +0,0 @@ -#+title: Features - -* Following features are supported - -** Build a Lab - - Using the =labgen= cli command the user can build a =Lab=. In this - context, a =Lab= refers to the html pages (and all related assets) - that makeup the website for a /Virtual Labs/ lab. - - -*** Requirements for building a lab - - 1. The lab should have a repository on Github which contains a - =lab-descriptor.json= file on the master branch. - -*** Process - - The pages to be generated for any lab are predefined and listed - below. - - *Pages in a lab* - - 1. Introduction - 2. Objective - 3. List Of Experiments - 4. Target Audience - 5. Course Alignment - 6. Feedback - - Each of the above pages have the same layout and styling and one - section for page specific content. The layout that is common - across pages is specified in a template called - =skeleton.handlebars=. The page specific content is defined in - the =lab-descriptor.json= file and is expected to be in a specific - format by the content template. - - The figure below depicts the process of building a page using data - from lab descriptor and templates. - - [[../img/page-generation.png]] - - -**** Page Configuration - - To generate a page, we need to know the template to use, and the - name of the resulting html page. The =Page Configuration= - contains this information. - - |------------------+----------------------------------------| - | Field | Description | - |------------------+----------------------------------------| - | Heading | Content Heading to be displayed | - | Descriptor Field | Field in the json that as the content. | - | Tempalate | The Template to be used | - | Page Name | Name of the generated html page | - |------------------+----------------------------------------| - - -Electrical machines => Electrical machines (simulation) - - - -***** Sample Config - - #+BEGIN_EXAMPLE - Heading := Introduction - Descriptor Field := introduction - Template := Introduction - Outfn := - #+END_EXAMPLE - -***** Why not derive the page name from the template name? - - Template file-name to generated file-name is not a one-to-one - mapping. More than one template names map to a one target page. - - Example: - - #+BEGIN_EXAMPLE - NestedListOfExperiments.handlebars => ListOfExperiments.html - ListOfExperiments.handlebars => ListOfExperiments.html - #+END_EXAMPLE - -**** Page Templates - - Page templates are html templates written in a templating - language. - - Following templates are defined: - 1. Skeleton - 2. Introduction - 3. Objective - 4. ListOfExperiments - 5. NestedListOfExperiments - 6. TargetAudience - -***** Skeleton - - The =skeleton.handlebars= template is used to build the page - structure that is common for each of the Lab pages. - -***** Pages - -****** Introduction - - Content: Single Paragraph of text - -****** Objective - - Single paragraph of text - -****** List Of Experiments - -******* Nested List - - Array of Experiments objects - -******* Flat List - - Array of experiment sections - -****** Target Audience - - UG, PG - -****** Feedback - - fixed content - - -** Build an Experiment - - An experiment can be of two types: - - 1. IIITH Experiment - 2. Phase III Markdown-authored Experiment - - - Each type of experiment has a different build process. The build - process for each kind of experiment is described below. - -*** IIITH Experiment - - Each IIITH Experiment is located in a gitlab repository. The - build process involves cloning the repository and running make. - This creates a build/ folder in the repository which contains - the working experiment. - - -*** Phase III Markdown-authored Experiment - - A =Phase 3 - Markdown Authored experiment= is an experiment that - follows the IITB Experiment development model. This experiment - sits in a private gitlab repository and the repository only - contains experiment specific content. Additional processing - needs to be performed to generate experiment pages in the form - of Phase-3 UI. - - After the build process the experiment resides in a predefined - location. - - -** Deploy a Lab and All its experiments - - Deployment is the process of copying the builds to a given - location in a publically accessible server. - - Assumtions: - - The script is executed on the same machine that would be - hosting the labs and experiments. - - The builds are available on the same machine. - - Verifying the hosted url is not possible (technical - considerations of reverse proxy) diff --git a/src/org/features.org~ b/src/org/features.org~ deleted file mode 100644 index f21ec0fc..00000000 --- a/src/org/features.org~ +++ /dev/null @@ -1,142 +0,0 @@ -#+title: Features - -* Following features are supported - - Components: - - Lab Pages - - Build - - Deployment - - Experiments - - Build - - Deployment - -** Lab Building - - The lab pages are built using the following things: - 1. Page templates - 3. Lab Descriptor - - The figure below depicts the process of building a page using data - from lab descriptor and templates. - - [[../img/page-generation.png]] - - -**** Page Configuration - - To generate a page, we need to know the template to use, and the - name of the resulting html page. The =Page Configuration= - contains this information. - - |-----------+---------------------------------| - | Field | Description | - |-----------+---------------------------------| - | Heading | Content Heading to be displayed | - | Tempalate | The Template to be used | - | Outfn | Name of the generated html page | - |-----------+---------------------------------| - - - -***** Why not derive the page name from the template name? - - Template file-name to generated file-name is not a one-to-one - mapping. More than one template names map to a one target page. - - Example: - - #+BEGIN_EXAMPLE - NestedListOfExperiments.handlebars => ListOfExperiments.html - ListOfExperiments.handlebars => ListOfExperiments.html - #+END_EXAMPLE - -**** Page Templates - - Page templates are html templates written in a templating - language. - - Following templates are defined: - 1. Skeleton - 2. Introduction - 3. Objective - 4. ListOfExperiments - 5. NestedListOfExperiments - 6. TargetAudience - -***** Skeleton - - The =skeleton.handlebars= template is used to build the page - structure that is common for each of the Lab pages. - -***** Pages - -****** Introduction - - Content: Single Paragraph of text - -****** Objective - - Single paragraph of text - -****** List Of Experiments - -******* Nested List - - Array of Experiments objects - -******* Flat List - - Array of experiment sections - -****** Target Audience - - UG, PG - -****** Feedback - - fixed content - - -** Experiment Building - - An experiment can be of two types: - - 1. IIITH Experiment - 2. Phase III Markdown-authored Experiment - - - Each type of experiment has a different build process. The build - process for each kind of experiment is described below. - -*** IIITH Experiment - - Each IIITH Experiment is located in a gitlab repository. The - build process involves cloning the repository and running make. - This creates a build/ folder in the repository which contains - the working experiment. - - -*** Phase III Markdown-authored Experiment - - A =Phase 3 - Markdown Authored experiment= is an experiment that - follows the IITB Experiment development model. This experiment - sits in a private gitlab repository and the repository only - contains experiment specific content. Additional processing - needs to be performed to generate experiment pages in the form - of Phase-3 UI. - - After the build process the experiment resides in a predefined - location. - - -** Deployment - - Deployment is the process of copying the builds to a given - location in a publically accessible server. - - Assumtions: - - The script is executed on the same machine that would be - hosting the labs and experiments. - - The builds are available on the same machine. - - Verifying the hosted url is not possible (technical - considerations of reverse proxy) diff --git a/src/org/index.org b/src/org/index.org deleted file mode 100644 index ddd72763..00000000 --- a/src/org/index.org +++ /dev/null @@ -1,88 +0,0 @@ -#+TITLE: Application Entry - -* Process - - - - -** From the project home - - - -** Deployment - - For experiment deployment, if the lab directory exists on the - server, then we copy the build to the - - - -* Lab from Descriptor - - #+NAME: from-desc - #+BEGIN_SRC typescript - lab.fromDescriptor(ld) - .summarize() - .generatePages() - .buildExperiments() - .buildLab() - .deploy() - //.updateSources(level) - - - #+END_SRC -* Tangle :noexport: - - #+BEGIN_SRC typescript :noweb yes :tangle ../code/index.ts - #!/usr/bin/env node - - import * as chalk from 'chalk'; - import * as boxen from 'boxen'; - import * as figures from 'figures'; - import * as fs from 'fs-extra'; - import * as path from 'path'; - - import * as lab from './lab'; - import {Lab, ContentKind} from './lab'; - import {LabDescriptor, loadLabDescriptor} from './labdescriptor'; - - import * as shell from 'shelljs'; - - shell.config.silent = true; - shell.set('-e'); - - let labpath; - let level; - - if (process.argv[2] === 'init') { - labpath = process.argv[3]; - shell.cp('empty-lab-descriptor.json', path.resolve(labpath, 'lab-descriptor.json')); - } - else { - if (process.argv[2] === '-v') { - shell.config.silent = false; - level = process.argv[3]; - labpath = process.argv[4]; - } - else { - level = process.argv[2]; - labpath = process.argv[3]; - } - - const ld = path.resolve(labpath, 'lab-descriptor.json'); - - <> - } - #+END_SRC -* <2020-06-09 Tue> - - - - build experiments - - build lab - - deploy experiments - - if deployment fails, update list of experiments in lab sources - - rebuild lab - - deploy lab - - tag lab - - delete builds (on confirmation from user) - - - assume: deployment cannot be reverted diff --git a/src/org/lab-descriptor.org b/src/org/lab-descriptor.org deleted file mode 100644 index 2a1cfd84..00000000 --- a/src/org/lab-descriptor.org +++ /dev/null @@ -1,40 +0,0 @@ -#+TITLE: Experiment -#+SETUPFILE: ~/apps/org-html-themes/setup/theme-readtheorg.setup -#+export_file_name: ../docs/lab-descriptor.html - -#+NAME: lab-desc-ifc -#+BEGIN_SRC typescript - export interface LabDescriptor { - broadArea : {name : string, link : string}, - lab: string, - phase: number, - collegeName: string, - baseUrl: string, - introduction: string, - experiments?: object[], - experimentSections?: object[], - targetAudience: { UG : string[], PG: string[] }, - objective?: string, - courseAlignment: {description: string, universities: string[]} - } - - export function loadLabDescriptor(fn: string) : LabDescriptor { - const ld = JSON.parse(fs.readFileSync(`${fn}`, 'utf-8')); - if (ld["experiment-sections"]) { - if (ld.experiments) { - throw Error('INVALID_LAB_DESCRIPTOR'); - } - ld.experimentSections = ld["experiment-sections"]; - } - return ld; - } -#+END_SRC - - -* Tangle :noexport: - - #+BEGIN_SRC typescript :noweb yes :tangle ../code/labdescriptor.ts - import * as fs from 'fs-extra'; - - <> - #+END_SRC diff --git a/src/org/lab.org b/src/org/lab.org deleted file mode 100644 index 0c0d2802..00000000 --- a/src/org/lab.org +++ /dev/null @@ -1,692 +0,0 @@ -#+TITLE: Lab -#+SETUPFILE: ~/apps/org-html-themes/setup/theme-readtheorg.setup -#+export_file_name: ../docs/lab.html - -* Introduction - - A Lab is a defined by the following attributes: - - |--------------+--------------------+----------------------------------------| - | *Attribute* | *Role* | *Description* | - |--------------+--------------------+----------------------------------------| - | /Name/ | Display, Analytics | Name of the lab | - |--------------+--------------------+----------------------------------------| - | /Discipline/ | Display, Analytics | Discipline that this lab belong to | - |--------------+--------------------+----------------------------------------| - | /College/ | Analytics | College that developed the lab | - |--------------+--------------------+----------------------------------------| - | /Phase/ | Analytics | Virtual Labs phase this lab belong to | - |--------------+--------------------+----------------------------------------| - | /Host Name/ | Publishing | Host-name of the server that will | - | | | server the generated lab pages. This | - | | | host-name is just used to generate the | - | | | link for the Lab and not for actual | - | | | deployment | - |--------------+--------------------+----------------------------------------| - | /Pages/ | Generation | List of pages in the lab UI. | - |--------------+--------------------+----------------------------------------| - -* Lab Class - -** Implementation :noexport: - #+NAME: lab-class - #+BEGIN_SRC typescript :noweb yes - - export class Lab { - - static skeleton_fn: string = 'template/skeleton.handlebars'; - static pagesConfig: PageConfig[] = [ - { - heading: 'Introduction', - template: contentKind('Introduction'), - outfn: 'Introduction' - }, - { - heading: 'Objective', - template: contentKind('Objective'), - outfn: 'Objective' - }, - { - heading: 'List of Experiments', - template: contentKind('ListOfExperiments'), - outfn: 'ListOfExperiments' - }, - { - heading: 'List of Experiments', - template: contentKind('NestedListOfExperiments'), - outfn: 'ListOfExperiments' - }, - { - heading: 'TargetAudience', - template: contentKind('TargetAudience'), - outfn: 'TargetAudience' - }, - { - heading: 'CourseAlignment', - template: contentKind('CourseAlignment'), - outfn: 'CourseAlignment' - }, - { - heading: 'Feedback', - template: contentKind('Feedback'), - outfn: 'Feedback' - } - ]; - - name: Label; - localPath: string; - discipline: Label; - college: string; - phase: number; - host: string; - experiments: Experiment[]; - rawPageContents: any; - options?: any; - - <> - <> - <> - <> - <> - <> - <> - <> - <> - <> - } - - #+END_SRC - - #+NAME: constructor - #+BEGIN_SRC typescript - constructor(name: Label, localPath: string, discipline: Label, college: string, - phase: number, host: string, experiments: Experiment[], - rawPageContents: any, options: any) { - this.name = name; - this.localPath = localPath; - this.discipline = discipline; - this.college = college; - this.phase = phase; - this.host = host; - this.experiments = experiments; - this.rawPageContents = rawPageContents; - this.options = options; - } - - version(level: string) : string { - shell.cd(path.resolve(this.localPath)); - let tag = shell.exec(`git tag -l`); - let [major, minor, patch] = 'v1.0.0'.slice(1).split('.').map(parseFloat); - - if (level === 'major'){ - return `v${major+1}.${minor}.${patch}`; - } - if (level === 'minor'){ - return `v${major}.${minor+1}.${patch}`; - } - if (level === 'patch'){ - return `v${major}.${minor}.${patch+1}`; - } - shell.cd(process.cwd()); - } - #+END_SRC - -** Describe - - Summary of the lab. This is useful to show information of a lab on - the terminal. - - #+NAME: describe - #+BEGIN_SRC typescript - describe() : void { - const head = chalk`{italic {yellow LAB INFO} }`; - const ln = chalk`{bold Lab Name} : ${this.name.toString()}`; - const d = chalk`{bold Discipline} : ${this.discipline.toString()}`; - const p = chalk`{bold Phase} : ${this.phase}`; - const u = chalk`{bold URL} : ${this.url()}`; - - console.log(boxen(`${head}\n\n${ln}\n${d}\n${p}\n${u}`, {padding: 1, margin: 1, borderColor: 'cyan'})); - } - #+END_SRC - - Contents of a Lab: - - + Introduction - + Objective - + List of Experiments - + Target Audience - + Course Alignment - + Feedback - - Any of these content fields can be made optional - -** User Interface - - *Type* : Browser based GUI - *Artefact* : Collection of HTML documents - - The uer interface for - -* Lab Url - - A lab url is generated from =host= and =name= of the lab. - - =http:///= - - #+NAME: lab-url - #+BEGIN_SRC typescript - url() : URL { - return (new URL(this.name.toPathName(), this.host)); - } - #+END_SRC - -* Page - - #+NAME: page-ifc - #+BEGIN_SRC typescript :noweb yes - export type ContentKind = 'Introduction' - | 'Objective' - | 'ListOfExperiments' - | 'NestedListOfExperiments' - | 'TargetAudience' - | 'CourseAlignment' - | 'Feedback'; - - export function contentKind(c: string) : ContentKind { - switch(c) { - case 'Introduction': - return 'Introduction'; - case 'Objective': - return 'Objective'; - case 'ListOfExperiments': - return 'ListOfExperiments'; - case 'NestedListOfExperiments': - return 'NestedListOfExperiments'; - case 'TargetAudience': - return 'TargetAudience'; - case 'CourseAlignment': - return 'CourseAlignment'; - case 'Feedback': - return 'Feedback'; - default: - throw Error('INVALID_CONTENT_TYPE'); - } - } - - export interface Content { - kind: ContentKind, - data: any - } - - <> - <> - <> - <> - <> - <> - - export interface PageConfig { - heading: string; - template: ContentKind; - outfn: string; - } - - #+END_SRC - - - -** Content Adaptors - - -*** Introduction - - #+NAME: intro-ca - #+BEGIN_SRC typescript - export function introductionContent(data: any) : Content { - return { - kind: 'Introduction', - data: data - }; - } - - #+END_SRC - -*** List Of Experiments - - #+NAME: loe-ca - #+BEGIN_SRC typescript - export function listOfExperimentsContent(data: any) : Content { - if (data.experiments) { - data.experiments = data.experiments.map( (e: any) => { - e.link = `${e['short-name']}.html`; - return e; - }); - return { - kind: 'ListOfExperiments', - data: data - }; - } - else { - data.experimentSections = data.experimentSections.map( (es: any) => { - es.experiments = es.experiments.map( (e: any) => { - e.link = `${e['short-name']}.html`; - return e; - }); - return es; - }); - return { - kind: 'NestedListOfExperiments', - data: data - }; - } - } - #+END_SRC - -*** Objective - - #+NAME: obj-ca - #+BEGIN_SRC typescript - export function objectiveContent(data: any) : Content { - return { - kind: 'Objective', - data: data - }; - } - #+END_SRC - -*** Target Audience - - #+NAME: ta-ca - #+BEGIN_SRC typescript - export function targetAudienceContent(data: any) : Content { - return { - kind: 'TargetAudience', - data: data - }; - } - #+END_SRC - - -*** Course Alignment - - #+NAME: cal-ca - #+BEGIN_SRC typescript - export function courseAlignmentContent(data: any) : Content { - return { - kind: 'CourseAlignment', - data: data - }; - } - - #+END_SRC - - -*** Feedback - - #+NAME: fb-ca - #+BEGIN_SRC typescript - export function feedbackContent(data: any) : Content { - return { - kind: 'Feedback', - data: data - }; - } - - #+END_SRC - - - -* Utilities - - Convert first character of given word to uppercase. - - #+NAME: first-to-upper - #+BEGIN_SRC typescript - export function firstToUpper(w: string) : string { - // converts first character of given word to uppercase. - // computer => Computer - return w[0].toUpperCase()+w.slice(1); - } - #+END_SRC - -** Label - - #+NAME: label - #+BEGIN_SRC typescript :noweb yes - export class Label { - - text: string; - - constructor(text: string) { - //Label.validateLabel(text); - this.text = text; - } - - <> - <> - <> - } - - #+END_SRC - - #+NAME: validate-label - #+BEGIN_SRC typescript - static validateLabel(text: string) : void { - - // casing validation - if (text.search(/^[a-z]/g) === 0 || text.search(/ [a-z]/g) > 0) { - console.log(chalk`\n {red {bold ERROR ( LGE001 ) :}} {bold ${text}} is not a valid label`); - console.log(chalk` {green {bold Fix :}} ${text} ${figures.arrowRight} ${text.split(' ').map(firstToUpper).join(' ')}\n`); - throw Error('INVALID_LAB_DESCRIPTOR'); - } - } - #+END_SRC - - #+NAME: to-string - #+BEGIN_SRC typescript - toString () : string { - return this.text; - } - #+END_SRC - -*** Path Name Formatting - - Formatting applied to a Label that converts the given label to path - name. - - -**** Conversion rules - - n - 1. Convert everything to lowercase - 2. Remove Leading and Trailing Whitespaces - 3. Remove long hyphen (for compatibility with Data Structures lab name) - 4. Replace all whitespace with single hyphen - -**** Example - - #+BEGIN_EXAMPLE - Natural Language Processing ==> natural-language-processing - Data Structures – 1 ==> data-structures-1 - #+END_EXAMPLE - - -**** Implementation - - #+NAME: to-path-name - #+BEGIN_SRC typescript - toPathName() : string { - return this.text.toLowerCase().trim().replace(/–/g, '').replace(/ +/g, '-'); - } - - #+END_SRC - - -* Generate Page - - #+NAME: generate-page - #+BEGIN_SRC typescript - - getContent(kind: ContentKind, src: object) : Content { - switch(kind) { - case contentKind('Introduction'): - return introductionContent(src); - case contentKind('ListOfExperiments'): - return listOfExperimentsContent(src); - case contentKind('NestedListOfExperiments'): - return listOfExperimentsContent(src); - case contentKind('Objective'): - return objectiveContent(src); - case contentKind('CourseAlignment'): - return courseAlignmentContent(src); - case contentKind('TargetAudience'): - return targetAudienceContent(src); - case contentKind('Feedback'): - return feedbackContent(src); - default: - throw Error('INVLID_CONTENT_KIND'); - } - } - - - - page(cfg: PageConfig) : void { - const data = this.getContent(cfg.template, this.rawPageContents).data; - - const content = Handlebars.compile( - fs.readFileSync(`template/${cfg.template}.handlebars`, 'utf-8') - )(data); - - const html = Handlebars.compile(fs.readFileSync(Lab.skeleton_fn, 'utf-8')) - ({name: this.name, - discipline: this.discipline, - college: this.college, - phase: this.phase, - pageHeading: cfg.heading, - content: content, - hasObjective: this.rawPageContents.hasObjective, - enable_analytics: false}); - fs.ensureFileSync(path.resolve(this.localPath, `src/lab/${cfg.outfn}.html`)); - fs.writeFileSync(path.resolve(this.localPath, `src/lab/${cfg.outfn}.html`), html, 'utf-8'); - } - #+END_SRC - - -* From Descriptor - - #+NAME: from-descriptor - #+BEGIN_SRC typescript - export function fromDescriptor(fn: string) : Lab { - const ld: LabDescriptor = loadLabDescriptor(fn); - const name: Label = new Label(ld.lab); - const localPath: string = path.dirname(fn); - const discipline: Label = new Label(ld.broadArea.name); - const college: string = ld.collegeName; - const phase: number = ld.phase; - const host: string = ld.baseUrl; - const rawContents: any = { introduction: ld.introduction, - objective: ld.objective, - hasObjective: (ld.objective ? true : false), - experiments: ld.experiments, - experimentSections: ld.experimentSections, - targetAudience: ld.targetAudience, - courseAlignment: ld.courseAlignment, - feedback: {} - }; - const experiments: Experiment[] = loadExperiments(ld); - const options: any = { enable_analytics: false, - hasObjective: (ld.objective ? true : false), - isListNested: (ld.experimentSections ? true : false), - }; - return (new Lab(name, localPath, discipline, college, phase, host, - experiments, rawContents, options)); - } - - function loadExperiments(ld: LabDescriptor) : Experiment[] { - if (ld.experimentSections) { - return ld.experimentSections - .map((es: any) => es.experiments) - .flat() - .map((e: any) => { - return (new IIITHExperiment(e.name, e['short-name'], - new URL(e.repo), e.tag, new Label(ld.lab))); - }); - } - else { - return ld.experiments - .map((e: any) => { - return (new IIITHExperiment(e.name, e['short-name'], - new URL(e.repo), e.tag, new Label(ld.lab))); - }); - } - } - #+END_SRC - -* Generate Pages - - #+NAME: generate-pages - #+BEGIN_SRC typescript - generatePages() : Lab { - - //const dest = this.name.toPathName(); - - const dest = this.localPath; - - fs.copySync('build/lab-structure', `${dest}`); - Lab.pagesConfig.filter((cfg: PageConfig) => { - if ((cfg.template === contentKind('Objective')) && !(this.options.hasObjective)) { - return false; - } - if ((cfg.template === contentKind('NestedListOfExperiments')) && !(this.options.isListNested)) { - return false; - } - if ((cfg.template === contentKind('ListOfExperiments')) && (this.options.isListNested)) { - return false; - } - return true; - }).forEach((pc: PageConfig) => { - this.page(pc); - }); - return this; - } - - #+END_SRC - -* Build Lab - - #+NAME: build-lab - #+BEGIN_SRC typescript - buildLab() : Lab { - console.log(chalk`{cyan ${figures.circleDouble}} Building Lab Sources`); - const lp = this.localPath; - shell.cd(lp); - shell.exec('make all'); - shell.exec(`cd ${process.cwd()}`); - console.log(chalk` {green ${figures.tick}} Lab Sources built successfully`); - return this; - } - #+END_SRC -* Summarize - - #+NAME: summarize - #+BEGIN_SRC typescript - summarize() : Lab { - const head = chalk`{italic {yellow LAB INFO} }`; - const ln = chalk`{bold Lab Name} : ${this.name.toString()}`; - const d = chalk`{bold Discipline} : ${this.discipline.toString()}`; - const p = chalk`{bold Phase} : ${this.phase}`; - const u = chalk`{bold URL} : ${this.url()}`; - console.log(boxen(`${head}\n\n${ln}\n${d}\n${p}\n${u}`, {padding: 1, margin: 1, borderColor: 'cyan'})); - return this; - } - - #+END_SRC - - -* Build Experiments - - #+NAME: build-experiments - #+BEGIN_SRC typescript - buildExperiments() : Lab { - console.log(chalk`\n{cyan ${figures.circleDouble}} Building Experiments :: {yellow This may take a while}\n`); - this.experiments.forEach((e) => e.build().deploy()); - return this; - } - #+END_SRC - - -* Deploy - - #+NAME: deploy - #+BEGIN_SRC typescript - deploy() : Lab { - console.log('Deploying Lab'); - - const lp = this.localPath; - const labDest = path.resolve('/var/www/html/', this.name.toPathName()); - - shell.mkdir('-p', labDest); - shell.cp('-r', path.resolve(this.localPath, path.resolve(lp, `build/*`)), labDest); - - console.log(chalk` {green Copied Lab to to ${labDest}}`); - return this; - } - #+END_SRC - - -* Update Sources - - Once the lab sources are generated, we copy the sources to the - target repository and create a new tag. This tag is incremented - automatically. - - args: - - major, minor, patch. - - #+NAME: update-sources - #+BEGIN_SRC typescript - updateSources(level: string) : Lab { - shell.exec(`cd ${path.resolve(this.localPath)}`); - console.log('Updating Sources'); - console.log(); - // insert tag in descriptor - shell.exec(`git add src/`); - shell.exec(`git add lab-descriptor.json`); - shell.exec(`git commit -m '${this.version(level)}'`); - shell.exec(`git tag -a '${this.version(level)}' -m '${this.version(level)}'`); - shell.exec(`git push origin '${this.version(level)}'`); - //shell.exec(`cd ${process.cwd()}`); - return this; - } - #+END_SRC - - -* Tangle :noexport: - - #+BEGIN_SRC js :noweb yes :tangle ../code/utility.ts - import * as chalk from 'chalk'; - import * as boxen from 'boxen'; - import * as figures from 'figures'; - - <