diff --git a/.github/.kodiak.toml b/.github/.kodiak.toml new file mode 100644 index 0000000..1125184 --- /dev/null +++ b/.github/.kodiak.toml @@ -0,0 +1,19 @@ + +# .kodiak.toml +version = 1 +[merge] +method = "squash" # default: "merge" +delete_branch_on_merge = true # default: false +optimistic_updates = true # default: true +prioritize_ready_to_merge = true # default: false + +[merge.message] +title = "pull_request_title" # default: "github_default" +body = "github_default" # default: "github_default" +strip_html_comments = true # default: false + +[update] +always = true # default: false + +[approve] +auto_approve_usernames = ["hossainemruz"] diff --git a/.github/ISSUE_TEMPLATE/bug.md b/.github/ISSUE_TEMPLATE/bug.md new file mode 100644 index 0000000..4d42107 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/bug.md @@ -0,0 +1,37 @@ +--- +name: Bug +about: File a bug report. +title: 'bug' +--- + +## Expected Behavior + + +## Current Behavior + + +## Possible Solution + + +## Steps to Reproduce + + +1. +2. +3. +4. + +### Screenshots + + +### Browsers Affected + +- [ ] Chrome +- [ ] Firefox +- [ ] Edge +- [ ] Safari 11 +- [ ] Safari 10 +- [ ] IE 11 + +## Detailed Description + \ No newline at end of file diff --git a/.github/ISSUE_TEMPLATE/feature_request.md b/.github/ISSUE_TEMPLATE/feature_request.md new file mode 100644 index 0000000..f66d61b --- /dev/null +++ b/.github/ISSUE_TEMPLATE/feature_request.md @@ -0,0 +1,30 @@ +--- +name: Feature Request +about: File a Feature Request. +title: 'Feature Request' +--- + + + +### Describe the solution you'd like + + + +### Describe alternatives you've considered + + + +### Additional context + + diff --git a/.github/ISSUE_TEMPLATE/question.md b/.github/ISSUE_TEMPLATE/question.md new file mode 100644 index 0000000..03d047b --- /dev/null +++ b/.github/ISSUE_TEMPLATE/question.md @@ -0,0 +1,9 @@ +--- +name: Question +about: Ask a general question. +--- + + + +### Question + diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md new file mode 100644 index 0000000..2862d6e --- /dev/null +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -0,0 +1,10 @@ +### Issue + + +### Description + + + +### Test Evidence + + \ No newline at end of file diff --git a/.github/dependabot.yml b/.github/dependabot.yml new file mode 100644 index 0000000..63e630d --- /dev/null +++ b/.github/dependabot.yml @@ -0,0 +1,13 @@ +# Update dependencies + +version: 2 +updates: +# Update the Github Action versions +- package-ecosystem: "github-actions" + directory: "/" + schedule: + interval: "daily" + labels: + - "dependencies" + - "automerge" + - "enhancement" diff --git a/.github/release-drafter.yml b/.github/release-drafter.yml new file mode 100644 index 0000000..c29d821 --- /dev/null +++ b/.github/release-drafter.yml @@ -0,0 +1,41 @@ +name-template: 'v$RESOLVED_VERSION' +tag-template: 'v$RESOLVED_VERSION' +template: | + I am very excited to announce [Hugo](https://gohugo.io/) theme [Toha](https://themes.gohugo.io/toha/) **v$RESOLVED_VERSION**. This release incorporates some improvements and fixes. Please, read the release note and update your theme to enjoy the new changes. + + Thanks to $CONTRIBUTORS for their valuable contribution in this release. + $CHANGES + + This release note has been generated automatically by [Release Drafter](https://github.com/marketplace/actions/release-drafter). + +categories: +- title: 'Breaking Changes' + label: 'breaking-change' + +- title: 'New Features & Enhancements' + labels: + - 'feature' + - 'enhancement' + +- title: 'New Translations' + label: 'translation' + +- title: 'Bug Fixes' + labels: + - 'bug' + - 'bug-fix' + +version-resolver: + major: + labels: + - 'breaking-change' + - 'breaking' + minor: + labels: + - 'feature' + - 'enhancement' + - 'translation' + patch: + labels: + - 'bug' + - 'bug-fix' diff --git a/.github/workflows/autoprefixer.yml b/.github/workflows/autoprefixer.yml new file mode 100644 index 0000000..5497a3d --- /dev/null +++ b/.github/workflows/autoprefixer.yml @@ -0,0 +1,35 @@ +name: Autoprefixer +on: + push: + branches: + - main +jobs: + autoprefixer: + runs-on: ubuntu-latest + steps: + - name: Checkout to latest commit + uses: actions/checkout@v2.3.4 + + - name: Setup Node + uses: actions/setup-node@v2.1.5 + with: + node-version: "15.x" + + - name: Run autoprefixer + run: | + npm install postcss-cli autoprefixer --save-dev + npm run autoprefixer + + - name: Create Pull Request + uses: peter-evans/create-pull-request@v3.9.1 + with: + branch: autoprefixer + branch-suffix: timestamp + commit-message: add vendor specific css prefixes + title: "Update and run autoprefixer" + body: | + This PR runs [postcss/autoprefixer](https://github.com/postcss/autoprefixer) to update vendor specific CSS prefixes. + + >This PR has been created automatically by Github Action [peter-evans/create-pull-request](https://github.com/peter-evans/create-pull-request). + labels: "enhancement,automerge" + reviewers: hossainemruz diff --git a/.github/workflows/draft-release.yml b/.github/workflows/draft-release.yml new file mode 100644 index 0000000..ebe6ae0 --- /dev/null +++ b/.github/workflows/draft-release.yml @@ -0,0 +1,15 @@ +name: Release Drafter +# Run action on push in mater branch +on: + push: + branches: + - main + +jobs: + update_release_draft: + runs-on: ubuntu-latest + steps: + # Create/Update release draft + - uses: release-drafter/release-drafter@v5.15.0 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/enforce-label.yml b/.github/workflows/enforce-label.yml new file mode 100644 index 0000000..e532fa4 --- /dev/null +++ b/.github/workflows/enforce-label.yml @@ -0,0 +1,13 @@ +name: Enforce Labels + +on: + pull_request: + types: [labeled, unlabeled, opened, edited, synchronize] +jobs: + enforce-label: + runs-on: ubuntu-latest + steps: + - uses: yogevbd/enforce-label-action@2.2.2 + with: + REQUIRED_LABELS_ANY: "automerge,breaking-change,bug-fix,enhancement,feature,translation" + REQUIRED_LABELS_ANY_DESCRIPTION: "The PR must have at least one these labels: ['automerge','breaking-change','bug-fix','enhancement','feature','translation']" diff --git a/.github/workflows/md-link-checker.yml b/.github/workflows/md-link-checker.yml new file mode 100644 index 0000000..25a6277 --- /dev/null +++ b/.github/workflows/md-link-checker.yml @@ -0,0 +1,13 @@ +name: Check Markdown links + +# Run action on pull request event +on: [pull_request] + +jobs: + markdown-link-check: + runs-on: ubuntu-latest + steps: + # checkout to latest commit + - uses: actions/checkout@master + # run markdown linter + - uses: gaurav-nelson/github-action-markdown-link-check@v1 diff --git a/.gitignore b/.gitignore index dbe9c82..700de0f 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,5 @@ -.vscode/ \ No newline at end of file +.vscode/ +node_modules/ +.DS_Store +.history/ +resources/ \ No newline at end of file diff --git a/README.md b/README.md index 325e6d2..64a5572 100644 --- a/README.md +++ b/README.md @@ -1,118 +1,186 @@ # Toha +[![Netlify Status](https://api.netlify.com/api/v1/badges/b1b93b02-f278-440b-ae1b-304e9f4c4ab5/deploy-status)](https://app.netlify.com/sites/toha/deploys) +[![Build Status](https://img.shields.io/endpoint.svg?url=https%3A%2F%2Factions-badge.atrox.dev%2Fhugo-toha%2Ftoha%2Fbadge%3Fref%3Dmain&style=flat)](https://actions-badge.atrox.dev/hugo-toha/toha/goto?ref=main) +![Repository Size](https://img.shields.io/github/repo-size/hugo-toha/toha) +![Lines of Codes](https://img.shields.io/tokei/lines/github/hugo-toha/toha) +![Contributor](https://img.shields.io/github/contributors/hugo-toha/toha) +![Latest Release](https://img.shields.io/github/v/release/hugo-toha/toha?include_prereleases) +![Last Commit](https://img.shields.io/github/last-commit/hugo-toha/toha) +![Open Issues](https://img.shields.io/github/issues/hugo-toha/toha?color=important) +![Open Pull Requests](https://img.shields.io/github/issues-pr/hugo-toha/toha?color=yellowgreen) +![License](https://img.shields.io/github/license/hugo-toha/toha) +![Security Headers](https://img.shields.io/security-headers?url=https%3A%2F%2Fhugo-toha.github.io%2F) +[![This project is using Percy.io for visual regression testing.](https://percy.io/static/images/percy-badge.svg)](https://percy.io/b7cb60ab/hugo-toha.github.io) + A [Hugo](https://gohugo.io/) theme for a personal portfolio with minimalist design and responsiveness. -![Thumbnail](https://github.com/hossainemruz/toha/blob/master/images/tn.png) +![Thumbnail](https://raw.githubusercontent.com/hugo-toha/toha/main/images/screenshot.png) -Example Site: [Toha Example Site](https://toha.netlify.app) +- **Example Site:** [hugo-toha.github.io](https://hugo-toha.github.io) +- **Documentation:** [toha-guides.netlify.app](https://toha-guides.netlify.app/posts) ## Features - Minimalist Design - Fully Responsive -- Carefully designed cards -- Great Experience timeline -- Achievement gallery -- Sidebar to categorize posts +- Multiple Language Support +- Carefully Designed Cards +- Experience Timeline +- Achievement Gallery +- Sidebar to Categorize the Posts - Short Codes - Google Analytics Support - Disqus Comment Support -For more details about the features please visit [here](https://toha.netlify.app/posts/features/features/). +For more details about the features please visit [here](https://toha-guides.netlify.app/posts/features/). + +## Available Translations + +- English +- বাংলা +- Français +- Indonesian +- Deutsch +- Español +- 简体中文 +- हिन्दी +- Italiano +- 日本語 +- 한국어 +- русский +- Tiếng Việt + +To know more about how to translate your site, please visit [here](https://toha-guides.netlify.app/posts/translation/). Follow, the data and post format from this [example site](https://hugo-toha.github.io). + +## Screenshots + +Here are few screenshots from the [example site](https://hugo-toha.github.io). + +##### Home Page Sections + +![Home Page Sections](https://raw.githubusercontent.com/hugo-toha/toha/main/images/about.png) + +##### List Page + +![List Page](https://raw.githubusercontent.com/hugo-toha/toha/main/images/list.png) + +##### Reading Page + +![Reading Page](https://raw.githubusercontent.com/hugo-toha/toha/main/images/single.png) ## Requirements - Hugo Version 0.68.0 or higher -## Installation +## Usage -- Create your site if you haven't already +In order to use this theme, follow the following steps: + +#### Add theme as git submodule + +At first, add [Toha](https://github.com/hugo-toha/toha) theme as git submodule to your hugo-site. ```console -hugo new site my-site -f=yaml -cd my-site -git init +$ git submodule add https://github.com/hugo-toha/toha.git themes/toha ``` -- Add the theme as git sub-module +> Don't use SSH URL of the theme during adding as git sub-module. Also, don't clone the theme in your `themes` directory using `git clone`. They don't work well with Github Action or Netlify. -```console -git submodule add https://github.com/hossainemruz/toha.git themes/toha -``` +If you don't already have a hugo site, create one by following the step-by-step guide from [here](https://toha-guides.netlify.app/posts/getting-started/prepare-site/). ->Don't use SSH URL of the theme during adding as git sub-module. Also, don't clone the theme in your `themes` directory using `git clone`. They don't work well with Github Action or Netlify. +#### Configuring Site -If you want to customize the theme templates, then fork it and use the fork as your theme. - -## Configuration - -Configure your `config.yaml` file of your site as below: +Now, configure your site to use `toha` theme by adding the following configuration in `config.yaml` file of your site. ```yaml -baseURL: http://example.org/ +baseURL: https://hugo-toha.github.io + languageCode: en-us -title: "Toha" +title: "John's Blog" theme: "toha" -# Allow raw html in markdown file +# Manage languages +# For any more details, you can check the official documentation: https://gohugo.io/content-management/multilingual/ +languages: + en: + languageName: English + weight: 1 + +# Control TOC depth markup: - goldmark: - renderer: - unsafe: true + tableOfContents: + startLevel: 2 + endLevel: 6 + ordered: false -# Enable Google Analytics -googleAnalytics: - -# Enable Disqus forum -# optional -disqusShortname: +# At least HTML and JSON are required for the main HTML content and +# client-side JavaScript search +outputs: + home: + - HTML + - RSS + - JSON # Enable global emoji support enableEmoji: true -# Custom parameters +# Site parameters params: - # Github Repo URL. This is used to add "Improve This Page" button - gitRepo: + # GitHub repo URL and branch of your site + gitRepo: https://github.com/hugo-toha/hugo-toha.github.io + gitBranch: main + + # specify whether you want to write some blog posts or not + enableBlogPost: true + + # specify whether you want to show Table of Contents in reading page + enableTOC: true + + # Provide newsletter configuration. This feature hasn't been implemented yet. + # Currently, you can just hide it from the footer. + newsletter: + enable: true ``` -You can just copy the content for `config.yaml` files from `theme/toha/exampleSite/config.yaml`. +Don't forget to update `title`, `baseURL`, and `gitRepo` fields with your own information. To know about more available configuration options, please visit [here](https://toha-guides.netlify.app/posts/configuration/site-parameters/). -## Usage +#### Running Locally -Run your hugo site with this theme. +Now, you can run your hugo site with `toha` theme locally with the following command: ```console -hugo server -w +$ hugo server --theme toha --watch ``` -Don't panic if the generated site does not look like what have you seen in the demo. Now, you have to provide some data in `data` folder of your site. - -Follow the posts giving step by step instructions for configuring your data folder from [here](https://toha.netlify.app/posts/configuration/home-section/home-section/). - -You can also follow the sample format given in `themes/toha/exampleSite/data` directory. +When you run your site for first time, it will start with the default parameters. It should look similar to the [example site](https://hugo-toha.github.io). However, it will not have any sections in the homepage as we haven't configured them yet. You can configure your site by following the guides from [here](https://toha-guides.netlify.app/posts/configuration/). ## Shortcodes Here, are some handy shortcodes you can use with this theme. -- [img](https://toha.netlify.app/posts/short-codes/img/) -- [split](https://toha.netlify.app/posts/short-codes/split/) -- [vs](https://toha.netlify.app/posts/short-codes/vs/) +- [Alert](https://toha-guides.netlify.app/posts/short-codes/alert/) +- [Image](https://toha-guides.netlify.app/posts/short-codes/img/) +- [Split](https://toha-guides.netlify.app/posts/short-codes/split/) +- [Vertical Space](https://toha-guides.netlify.app/posts/short-codes/vs/) ## Project Roadmap Here, are the current plan and progress of various components of this theme. The components will be prioritized based on users requests. -### Sections +### 1. Portfolio Mode + +Here is the check list for portfolio mode, - [x] **Home** + - [x] Configurable Background - [x] Author Image - [x] Greeting - [x] Typing Carousel - [x] **About** + - [x] Name and Designation - [x] Summary - [x] Markdown Support @@ -122,27 +190,40 @@ Here, are the current plan and progress of various components of this theme. The - [x] Soft Skills Indicator - [x] **Skills** + - [x] Skill Cards - [x] Markdown Support - [x] **Experiences** + - [x] Designation - [x] Timeline - [x] Company Overview - [x] Responsibilities -- [ ] **Projects** +- [x] **Projects** + - [x] Category Filter - - [ ] Project Card + - [x] Project Card - [x] Overview - [x] Markdown Support - [x] Github Stars - [x] External URL Support - - [ ] Technology Tags + - [x] Technology Tags - [x] **Recent Posts** +- [x] **Academic Career** + + - [x] Degree + - [x] Institution + - [x] Timeline + - [x] Taken Courses + - [x] CGPA + - [x] Extracurricular Activities + - [ ] **Publications** + - [ ] Category Filter - [ ] Card - [ ] Abstract @@ -151,54 +232,137 @@ Here, are the current plan and progress of various components of this theme. The - [ ] Links - [ ] Gallery -- [ ] **Accomplishment / Courses** - - [ ] Overview - - [ ] Certificate +- [x] **Accomplishment / Courses** + + - [x] Overview + - [x] Certificate - [x] **Achievements Gallery** - [x] Image - [x] Summary -### List Page +### 2. Blog Mode -- [x] Post Cards -- [x] Sidebar -- [ ] Pagination +Here is the checklist for blog mode, -### Reading Page +- [ ] **Dedicated Home page** -- [x] Hero Image -- [x] Author Information -- [x] Next & Previous Page Navigation -- [x] `Improve This Page` Button -- [x] Disqus Comment -- [ ] Option to navigate to list page +- [x] **List Page** -### Tracking and Comments + - [x] Post Cards + - [x] Sidebar + - [x] Pagination + +- [x] **Reading Page** + + - [x] Hero Image + - [x] Author Information + - [x] Sidebar + - [x] Table of Contents + - [x] Next & Previous Page Navigation + - [x] `Improve This Page` Button + - [x] Disqus Comment + +### 3. Documentation Mode + +Here is the check list for documentation mode, + +- [ ] **Dedicated Home Page** +- [ ] **Doc Page** + - [ ] Redesign sidebar + - [ ] Redesign TOC menu + - [ ] Search Capability + +### 4. Note Mode + +- [ ] **Dedicated Home Page** +- [ ] **Note Page** + - [x] Add note view + - [ ] Redesign sidebar + - [ ] Add search capability + +### 5. Tracking and Comments - [x] Google Analytics - [x] Disqus Comment -### Shortcodes +### 6. Shortcodes - [x] Image - [x] Split Page into Multiple Column - [x] Vertical space between two sections +- [x] Alert - [ ] Figure & sub-figure - [ ] Tabs +- [x] Notes ## Contributing -You can contribute to this theme in various way. You can report a bug, file an feature request, send a PR, share your thoughts etc. +You can contribute to this theme in various ways. You can report a [bug](https://github.com/hugo-toha/toha/issues/new?template=bug.md), file an [feature request](https://github.com/hugo-toha/toha/issues/new?template=feature_request.md), send a PR, [share your thoughts](https://github.com/hugo-toha/toha/issues/new?template=question.md) etc. -Pull requests are most welcomed and I will be happy to review. Just follow the following principles: +Pull requests are most welcome and I will be happy to review. Just follow the following principles: - Keep it simple. - Keep it consistent with the design. -- Use as little dependency as possible. -- Have patient. +- Use as few dependencies as possible. +- Have patience. ->I am not a web developer. I just created this theme for my personal needs. So, it is reasonable to have some flaws in the codes. Feel free to open issues and PR acknowledging the problems. +> I am not a web developer. I have created this theme for my personal needs. So, it is reasonable to have some flaws in the codes. Feel free to open issues and PRs acknowledging the problems. + +## Local Development + +For local development, you can make changes in the theme submodule and test the changes against your own site or this [example site](https://github.com/hugo-toha/hugo-toha.github.io) locally. + +### Fork + +At first, fork [this repo](https://github.com/hugo-toha/toha). Then, follow the following steps to use the forked theme for local developments, + +**Using the forked theme in your own site:** + +If you want to run your local development against your own site, follow the following steps: + +```bash +# add the original theme as a submodule of your site if you haven't done already +$ git submodule add https://github.com/hugo-toha/toha.git themes/toha +# navigate into the toha theme folder +$ cd themes/toha +# add your own fork as a remote +$ git remote add my-fork https://github.com//toha +# create a new branch for your changes +$ git checkout -b my-feature-branch +``` + +**Using the forked theme in the example site:** + +If your want to run your local development against this [example site](https://github.com/hugo-toha/hugo-toha.github.io), follow the following steps: + +```bash +# clone the example site along with the submodules +$ git clone git@github.com:hugo-toha/hugo-toha.github.io.git --recursive +# navigate into the toha theme folder +$ cd themes/toha +# add your own fork as a remote +$ git remote add my-fork https://github.com//toha +# create a new branch for your changes +$ git checkout -b my-feature-branch +``` + +From there you can make changes to the source code of the theme while testing with your running Hugo site or the example site. + +### Open a PR + +When the changes look good, commit and push them to your fork. + +```bash +# stage all the changes +$ git add . +# commit the changes with a meaning full commit message +$ git commit -m "A meaningful commit message" +# push the commit to your fork +$ git push my-fork my-feature-branch +``` + +Then, open a PR against `main` branch of [hugo-toha/toha](https://github.com/hugo-toha/toha) from the `my-feature-branch` branch of your own fork. ## Attribution diff --git a/archetypes/default.md b/archetypes/default.md index 88b1790..e097af4 100644 --- a/archetypes/default.md +++ b/archetypes/default.md @@ -1,6 +1,6 @@ --- -hero: /assets/images/background/sunrise.jpg +hero: /images/background/sunrise.jpg author: name: Md. Emruz Hossain - image: /assets/images/profile-image.jpg + image: /images/profile-image.jpg --- diff --git a/assets/images/404.png b/assets/images/404.png new file mode 100644 index 0000000..bc28bfa Binary files /dev/null and b/assets/images/404.png differ diff --git a/assets/images/404.svg b/assets/images/404.svg new file mode 100644 index 0000000..2c869bb --- /dev/null +++ b/assets/images/404.svg @@ -0,0 +1 @@ +page not found \ No newline at end of file diff --git a/static/assets/images/default-avatar.png b/assets/images/default-avatar.png similarity index 100% rename from static/assets/images/default-avatar.png rename to assets/images/default-avatar.png diff --git a/assets/images/default-background.jpg b/assets/images/default-background.jpg new file mode 100644 index 0000000..959a34c Binary files /dev/null and b/assets/images/default-background.jpg differ diff --git a/assets/images/default-hero.jpg b/assets/images/default-hero.jpg new file mode 100644 index 0000000..346fbf0 Binary files /dev/null and b/assets/images/default-hero.jpg differ diff --git a/assets/images/favicon.png b/assets/images/favicon.png new file mode 100644 index 0000000..cdf43b6 Binary files /dev/null and b/assets/images/favicon.png differ diff --git a/assets/images/hugo-logo.svg b/assets/images/hugo-logo.svg new file mode 100644 index 0000000..389c4a7 --- /dev/null +++ b/assets/images/hugo-logo.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/assets/images/inverted-logo.png b/assets/images/inverted-logo.png new file mode 100644 index 0000000..cdf43b6 Binary files /dev/null and b/assets/images/inverted-logo.png differ diff --git a/assets/images/main-logo.png b/assets/images/main-logo.png new file mode 100644 index 0000000..d13e0ba Binary files /dev/null and b/assets/images/main-logo.png differ diff --git a/assets/images/theme-logo.png b/assets/images/theme-logo.png new file mode 100644 index 0000000..cdf43b6 Binary files /dev/null and b/assets/images/theme-logo.png differ diff --git a/content/notes/search.md b/content/notes/search.md new file mode 100644 index 0000000..0f038c1 --- /dev/null +++ b/content/notes/search.md @@ -0,0 +1,52 @@ +--- +title: "Search Results" +sitemap: + priority : 0.1 +layout: "search" +url: search +--- + + +This file exists solely to respond to /search URL with the related `search` layout template. + +No content shown here is rendered, all content is based in the template layouts/page/search.html + +Setting a very low sitemap priority will tell search engines this is not important content. + +This implementation uses Fusejs, jquery and mark.js + + +## Initial setup + +Search depends on additional output content type of JSON in config.toml +\``` +[outputs] + home = ["HTML", "JSON"] +\``` + +## Searching additional fileds + +To search additional fields defined in front matter, you must add it in 2 places. + +### Edit layouts/_default/index.JSON +This exposes the values in /index.json +i.e. add `category` +\``` +... + "contents":{{ .Content | plainify | jsonify }} + {{ if .Params.tags }}, + "tags":{{ .Params.tags | jsonify }}{{end}}, + "categories" : {{ .Params.categories | jsonify }}, +... +\``` + +### Edit fuse.js options to Search +`static/js/search.js` +\``` +keys: [ + "title", + "contents", + "tags", + "categories" +] +\``` diff --git a/content/posts/search.md b/content/posts/search.md new file mode 100644 index 0000000..4586d1f --- /dev/null +++ b/content/posts/search.md @@ -0,0 +1,54 @@ +--- +title: "Search Results" +date: 2010-06-08T08:06:25+06:00 +weight: 999999 +sitemap: + priority : 0.1 +layout: "search" +url: search +--- + + +This file exists solely to respond to /search URL with the related `search` layout template. + +No content shown here is rendered, all content is based in the template layouts/page/search.html + +Setting a very low sitemap priority will tell search engines this is not important content. + +This implementation uses Fusejs, jquery and mark.js + + +## Initial setup + +Search depends on additional output content type of JSON in config.toml +\``` +[outputs] + home = ["HTML", "JSON"] +\``` + +## Searching additional fileds + +To search additional fields defined in front matter, you must add it in 2 places. + +### Edit layouts/_default/index.JSON +This exposes the values in /index.json +i.e. add `category` +\``` +... + "contents":{{ .Content | plainify | jsonify }} + {{ if .Params.tags }}, + "tags":{{ .Params.tags | jsonify }}{{end}}, + "categories" : {{ .Params.categories | jsonify }}, +... +\``` + +### Edit fuse.js options to Search +`static/js/search.js` +\``` +keys: [ + "title", + "contents", + "tags", + "categories" +] +\``` diff --git a/exampleSite/config.yaml b/exampleSite/config.yaml deleted file mode 100644 index 63405cf..0000000 --- a/exampleSite/config.yaml +++ /dev/null @@ -1,24 +0,0 @@ -baseURL: http://example.org/ -languageCode: en-us -title: "Toha" -theme: "toha" - -# Allow raw html in markdown file -markup: - goldmark: - renderer: - unsafe: true - -# Enable Google Analytics -googleAnalytics: UA-xxxxxxxx - -# Enable Disqus forum -disqusShortname: does-not-exist - -# Enable global emoji support -enableEmoji: true - -# Custom parameters -params: - # Github Repo URL. This is used to add "Improve This Page" button - gitRepo: https://github.com/hossainemruz/toha-example-site diff --git a/exampleSite/data/about.yaml b/exampleSite/data/about.yaml deleted file mode 100644 index 5fac037..0000000 --- a/exampleSite/data/about.yaml +++ /dev/null @@ -1,56 +0,0 @@ -# your designation -designation: Software Engineer -# your company information -company: - name: Example Co. - url: "https://www.example.com" - -# your resume. this file path should be relative to you "static" directory -resume: "files/resume.pdf" - -# a summary about you -summary: 'I am a passionate software engineer with x years of working experience. I built OSS tools for [Kubernetes](https://kubernetes.io/) using GO. My tools help people to deploy their workloads in Kubernetes. Sometimes, I work on some fun projects such as writing a theme, etc.' - -# your social links -# give as many as you want. use font-awesome for the icons. -socialLinks: -- name: Email - icon: "fas fa-envelope" - url: "example@gmail.com" - -- name: Github - icon: "fab fa-github" - url: "https://www.github.com/example" - -- name: Stackoverflow - icon: "fab fa-stack-overflow" - url: "#" - -- name: LinkedIn - icon: "fab fa-linkedin" - url: "#" - -- name: Twitter - icon: "fab fa-twitter" - url: "#" - -- name: Facebook - icon: "fab fa-facebook" - url: "#" - -# your soft skills -# give the percentage between 50 to 100 with 5 intervals. -# currently supported color: blue, yellow, pink, green -softSkills: -- name: Leadership - percentage: 85 - color: blue -- name: Team Work - percentage: 90 - color: yellow -- name: Communication - percentage: 85 - color: pink -- name: Hard Working - percentage: 85 - color: green diff --git a/exampleSite/data/achievements.yaml b/exampleSite/data/achievements.yaml deleted file mode 100644 index fb4bc23..0000000 --- a/exampleSite/data/achievements.yaml +++ /dev/null @@ -1,14 +0,0 @@ -# Your achievements achievements -achievements: - - title: Best Presenter - image: images/achievements/presenter.jpg - summary: Best presenter in 2020 XYZ conference. - - title: Champion - image: images/achievements/sport.jpg - summary: Champion in cycling inter-city cycling championship 2020. - - title: Graduation - image: images/achievements/graduation-cap.jpg - summary: Received Bachelor of Science (B.Sc.) in Computer Science and Engineer from XYZ University. - - title: Award Winner - image: images/achievements/woman-winner.jpg - summary: Lorem ipsum dolor sit amet consectetur adipisicing elit. Possimus architecto minus facere vero? diff --git a/exampleSite/data/experiences.yaml b/exampleSite/data/experiences.yaml deleted file mode 100644 index abefadc..0000000 --- a/exampleSite/data/experiences.yaml +++ /dev/null @@ -1,43 +0,0 @@ -# Your experiences -experiences: - - designation: Software Engineer - company: - name: Example Co. - url: "https://www.example.com" - location: Dhaka Branch - # company overview - overview: Example Co. is a widely recognized company for cloud native development. It build tools for Kubernetes. - start: Nov 2017 - # don't provide end date if you are currently working there. It will be replaced by "Present" - # end: Dec 2020 - # give some points about what was your responsibilities at the company. - responsibilities: - - Design, develop and manage disaster recovery tool [Xtool](https://www.example.com) that backup Kubernetes volumes, databases and cluster's resource definition. - - My another responsibilities. - - My more responsibilities. - - - designation: Software Engineer - company: - name: PreExample Co. - url: "https://www.preexample.com" - location: Nowhere - overview: PreExample Co. is gateway company to enter into Example co. So, nothing special here. - start: March 2016 - end: May 2017 - responsibilities: - - Write lots of example codes. - - Read lots of examples. - - See lots of example videos. - - - designation: Intern - company: - name: Intern Counting Company (ICC). - url: "https://www.intern.com" - location: Intern Land - overview: Intern counting Company (ICC) is responsible for counting worldwide intern Engineer. - start: Jun 2015 - end: Jan 2016 - responsibilities: - - Count lost of interns. - - Count more interns. - - Count myself as intern. diff --git a/exampleSite/data/projects.yaml b/exampleSite/data/projects.yaml deleted file mode 100644 index 99dd016..0000000 --- a/exampleSite/data/projects.yaml +++ /dev/null @@ -1,54 +0,0 @@ -# filter buttons -buttons: - - name: All - filter: "all" - - name: Professional - filter: "professional" - - name: Academic - filter: "academic" - - name: Hobby - filter: "hobby" - -# your projects -projects: - - name: Kubernetes - logo: images/projects/kubernetes.png - role: Contributor - timeline: "March 2018 - Present" - repo: https://github.com/kubernetes/kubernetes # if your project is public repo on github, then provide this link. it will show star count. - #url: "" # if your project is not a public repo but it has a website, or any external details url then provide it here. don't provide "repo" and "url" simultaneously. - summary: Production-Grade Container Scheduling and Management . - tags: ["professional", "kubernetes", "cloud"] - - - name: Tensorflow - logo: images/projects/tensorflow.png - role: Developer - timeline: "Jun 2018 - Present" - repo: https://github.com/tensorflow/tensorflow - #url: "" - summary: An Open Source Machine Learning Framework for Everyone. - tags: ["professional", "machine-learning","academic"] - - - name: A sample academic paper - role: Team Lead - timeline: "Jan 2017 - Nov 2017" - url: "https://www.example.com" - summary: Lorem ipsum dolor sit amet consectetur adipisicing elit. Sapiente eius reprehenderit animi suscipit autem eligendi esse amet aliquid error eum. Accusantium distinctio soluta aliquid quas placeat modi suscipit eligendi nisi. - tags: ["academic","iot"] - - - name: Nocode - logo: images/projects/no-code.png - role: Nothing - timeline: "Oct 2019 - Dec 2019" - repo: https://github.com/kelseyhightower/nocode - #url: "" - summary: The best way to write secure and reliable applications. Write nothing; deploy nowhere. - tags: ["hobby", "fun"] - - - name: Toha - logo: images/projects/toha.png - role: Owner - timeline: "Jun 2019 - Present" - repo: https://github.com/hossainemruz/toha - summary: A Hugo theme for personal portfolio. - tags: ["hobby","hugo","theme","professional"] diff --git a/exampleSite/data/site.yaml b/exampleSite/data/site.yaml deleted file mode 100644 index 019d8b6..0000000 --- a/exampleSite/data/site.yaml +++ /dev/null @@ -1,40 +0,0 @@ -# background image of the landing page -background: "images/background.jpg" - -# some information about you -author: - name: "Jane Doe" - image: "images/avatar.png" - # give your some contact information. they will be used in the footer - contactInfo: - email: "janedoe@example.com" - phone: "+0123456789" - # a summary of what you do - summary: - - I am a Developer - - I work with Go - - I love to work with some fun projects - -# Menus of the home page -menus: -- name: Home - url: "#home" - weight: 1 -- name: About - url: "#about" - weight: 2 -- name: Skills - url: "#skills" - weight: 3 -- name: Experiences - url: "#experiences" - weight: 4 -- name: Projects - url: "#projects" - weight: 5 -- name: Recent Posts - url: "#recent-posts" - weight: 6 -- name: Achievements - url: "#achievements" - weight: 7 diff --git a/exampleSite/data/skills.yaml b/exampleSite/data/skills.yaml deleted file mode 100644 index 00c673b..0000000 --- a/exampleSite/data/skills.yaml +++ /dev/null @@ -1,34 +0,0 @@ -# Your Skills. -# Give a summary of you each skill in summary section. -skills: -- name: Kubernetes - icon: "images/skills/kubernetes.png" - summary: "Capable of deploying, managing application on Kubernetes. Experienced in writing Kubernetes controllers for CRDs." - -- name: Go Development - icon: "images/skills/go.png" - summary: "Using as main language for professional development. Capable of writing scalable, testable, and maintainable program." - -- name: Cloud Computing - icon: "images/skills/cloud.png" - summary: "Worked with most of the major clouds such as GCP, AWS, Azure etc." - -- name: Docker - icon: "images/skills/docker.svg" - summary: "Write most of the programs as dockerized container. Experienced with multi-stage, multi-arch build process." - -- name: Prometheus - icon: "images/skills/prometheus.png" - summary: "Capable of setup, configure Prometheus metrics. Experienced with PromQL, AlertManager. Also, experienced with writing metric exporters." - -- name: Linux - icon: "images/skills/linux.png" - summary: "Using as main operating system. Capable of writing bash/shell scripts." - -- name: Git - icon: "images/skills/git.png" - summary: "Experienced with git based development. Mostly, use Github. Also have experience in working with GitLab." - -- name: C++ - icon: "images/skills/c++.png" - summary: "Know basic C/C++ programming. Used for contest programming and problem solving." diff --git a/exampleSite/static/files/resume.pdf b/exampleSite/static/files/resume.pdf deleted file mode 100644 index 83364b9..0000000 Binary files a/exampleSite/static/files/resume.pdf and /dev/null differ diff --git a/exampleSite/static/images/achievements/graduation-cap.jpg b/exampleSite/static/images/achievements/graduation-cap.jpg deleted file mode 100644 index 0bbdc9c..0000000 Binary files a/exampleSite/static/images/achievements/graduation-cap.jpg and /dev/null differ diff --git a/exampleSite/static/images/achievements/presenter.jpg b/exampleSite/static/images/achievements/presenter.jpg deleted file mode 100644 index 1f4d70d..0000000 Binary files a/exampleSite/static/images/achievements/presenter.jpg and /dev/null differ diff --git a/exampleSite/static/images/achievements/sport.jpg b/exampleSite/static/images/achievements/sport.jpg deleted file mode 100644 index 5104dcf..0000000 Binary files a/exampleSite/static/images/achievements/sport.jpg and /dev/null differ diff --git a/exampleSite/static/images/achievements/woman-winner.jpg b/exampleSite/static/images/achievements/woman-winner.jpg deleted file mode 100644 index e77da30..0000000 Binary files a/exampleSite/static/images/achievements/woman-winner.jpg and /dev/null differ diff --git a/exampleSite/static/images/avatar.png b/exampleSite/static/images/avatar.png deleted file mode 100644 index a6befb2..0000000 Binary files a/exampleSite/static/images/avatar.png and /dev/null differ diff --git a/exampleSite/static/images/background.jpg b/exampleSite/static/images/background.jpg deleted file mode 100644 index b30526b..0000000 Binary files a/exampleSite/static/images/background.jpg and /dev/null differ diff --git a/exampleSite/static/images/projects/kubernetes.png b/exampleSite/static/images/projects/kubernetes.png deleted file mode 100644 index 05fc5e1..0000000 Binary files a/exampleSite/static/images/projects/kubernetes.png and /dev/null differ diff --git a/exampleSite/static/images/projects/no-code.png b/exampleSite/static/images/projects/no-code.png deleted file mode 100644 index 1a9d79d..0000000 Binary files a/exampleSite/static/images/projects/no-code.png and /dev/null differ diff --git a/exampleSite/static/images/projects/tensorflow.png b/exampleSite/static/images/projects/tensorflow.png deleted file mode 100644 index 5a11bda..0000000 Binary files a/exampleSite/static/images/projects/tensorflow.png and /dev/null differ diff --git a/exampleSite/static/images/projects/toha.png b/exampleSite/static/images/projects/toha.png deleted file mode 100644 index 85ba151..0000000 Binary files a/exampleSite/static/images/projects/toha.png and /dev/null differ diff --git a/exampleSite/static/images/skills/c++.png b/exampleSite/static/images/skills/c++.png deleted file mode 100644 index 6662f0e..0000000 Binary files a/exampleSite/static/images/skills/c++.png and /dev/null differ diff --git a/exampleSite/static/images/skills/cloud.png b/exampleSite/static/images/skills/cloud.png deleted file mode 100644 index 900bb85..0000000 Binary files a/exampleSite/static/images/skills/cloud.png and /dev/null differ diff --git a/exampleSite/static/images/skills/docker.svg b/exampleSite/static/images/skills/docker.svg deleted file mode 100644 index 4242689..0000000 --- a/exampleSite/static/images/skills/docker.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/exampleSite/static/images/skills/git.png b/exampleSite/static/images/skills/git.png deleted file mode 100644 index 78bccc4..0000000 Binary files a/exampleSite/static/images/skills/git.png and /dev/null differ diff --git a/exampleSite/static/images/skills/go.png b/exampleSite/static/images/skills/go.png deleted file mode 100644 index 7af7746..0000000 Binary files a/exampleSite/static/images/skills/go.png and /dev/null differ diff --git a/exampleSite/static/images/skills/kubernetes.png b/exampleSite/static/images/skills/kubernetes.png deleted file mode 100644 index 05fc5e1..0000000 Binary files a/exampleSite/static/images/skills/kubernetes.png and /dev/null differ diff --git a/exampleSite/static/images/skills/linux.png b/exampleSite/static/images/skills/linux.png deleted file mode 100644 index bda094c..0000000 Binary files a/exampleSite/static/images/skills/linux.png and /dev/null differ diff --git a/exampleSite/static/images/skills/prometheus.png b/exampleSite/static/images/skills/prometheus.png deleted file mode 100644 index cdffc79..0000000 Binary files a/exampleSite/static/images/skills/prometheus.png and /dev/null differ diff --git a/i18n/bn.toml b/i18n/bn.toml new file mode 100644 index 0000000..781852c --- /dev/null +++ b/i18n/bn.toml @@ -0,0 +1,108 @@ +# More documentation here: https://github.com/nicksnyder/go-i18n +[home] +other = "হোম" + +[posts] +other = "পোষ্ট সমূহ" + +[toc_heading] +other = "সুচিপত্র" + +[resume] +other = "আমার জীবনবৃত্তান্ত" + +[navigation] +other = "নেভিগেশন" + +[contact_me] +other = "আমার সাথে যোগাযোগ করুনঃ" + +[email] +other = "ইমেইল" + +[phone] +other = "ফোন" + +[newsletter_text] +other = "ইমেইল নোটিফিকেশান এর মাধ্যমে সর্বশেষ তথ্য জানুন" + +[newsletter_input_placeholder] +other = "ইমেইল প্রবেশ করান" + +[newsletter_warning] +other = "আমরা আপনার ইমেল অন্য কারও সাথে শেয়ার করব না।" + +[submit] +other = "জমা দিন" + +[hugoAttributionText] +other = "পাওয়ারড বাই" + +[prev] +other = "পূর্ববর্তী" + +[next] +other = "পরবর্তী" + +[improve_this_page] +other = "এই পৃষ্ঠাটি উন্নত করুন" + +[out_of] +other = "এর মধ্যে" + +[publications] +other = "প্রকাশনা সমূহ" + +[taken_courses] +other = "গৃহীত কোর্সসমূহ" + +[course_name] +other = "কোর্সের নাম" + +[total_credit] +other = "মোট ক্রেডিট" + +[obtained_credit] +other = "অর্জিত ক্রেডিট" + +[extracurricular_activities] +other = "পাঠক্রম বহির্ভূত কার্যক্রম" + +[show_more] +other = "আরো দেখান" + +[show_less] +other = "কম দেখান" + +[responsibilities] +other = "দায়িত্বসমুহ:" + +[present] +other = "বর্তমান" + +# [comments_javascript] +# other = "Please enable JavaScript to view the" + +# [comments_by] +# other = "comments powered by" + +# [read] +# other = "Read" + +# [project_star] +# other = "Star" + +# [project_details] +# other = "Details" + +# [err_404] +# other = "The page you are looking for is not there yet." + +[more] +other = "আরো" + +[view_certificate] +other = "সার্টিফিকেট দেখুন" + +[notes] +other = "নোট সমূহ" diff --git a/i18n/cn.toml b/i18n/cn.toml new file mode 100644 index 0000000..0ac0858 --- /dev/null +++ b/i18n/cn.toml @@ -0,0 +1,111 @@ +# More documentation here: https://github.com/nicksnyder/go-i18n +[home] +other = "主页" + +[posts] +other = "博文" + +[toc_heading] +other = "目录" + +[at] +other = "at" + +[resume] +other = "我的简历" + +[navigation] +other = "导航" + +[contact_me] +other = "联系方式:" + +[email] +other = "邮箱" + +[phone] +other = "电话" + +[newsletter_text] +other = "通过电子邮件接收最新信息" + +[newsletter_input_placeholder] +other = "填入 E-mail" + +[newsletter_warning] +other = "我们绝不会与任何人共享您的电子邮件。" + +[submit] +other = "提交" + +[hugoAttributionText] +other = "Powered by" + +[prev] +other = "上一篇" + +[next] +other = "下一篇" + +[improve_this_page] +other = "改善此页面" + +[out_of] +other = "/" + +[publications] +other = "刊物" + +[taken_courses] +other = "选修课程" + +[course_name] +other = "课程名" + +[total_credit] +other = "满分" + +[obtained_credit] +other = "获得分数" + +[extracurricular_activities] +other = "课外活动" + +[show_more] +other = "查看更多" + +[show_less] +other = "显示较少" + +# [responsibilities] +# other = "Responsibilities:" + +# [present] +# other = "Present" + +# [comments_javascript] +# other = "Please enable JavaScript to view the" + +# [comments_by] +# other = "comments powered by" + +# [read] +# other = "Read" + +# [project_star] +# other = "Star" + +# [project_details] +# other = "Details" + +# [err_404] +# other = "The page you are looking for is not there yet." + +[more] +other = "更多的" + +[view_certificate] +other = "查看证书" + +[notes] +other = "笔记" diff --git a/i18n/de.toml b/i18n/de.toml new file mode 100644 index 0000000..86c6d54 --- /dev/null +++ b/i18n/de.toml @@ -0,0 +1,111 @@ +# More documentation here: https://github.com/nicksnyder/go-i18n +[home] +other = "Startseite" + +[posts] +other = "Beiträge" + +[toc_heading] +other = "Inhaltsverzeichnis" + +[at] +other = "bei" + +[resume] +other = "Mein Lebenslauf" + +[navigation] +other = "Navigation" + +[contact_me] +other = "Kontakt aufnehmen" + +[email] +other = "E-Mail" + +[phone] +other = "Telefon" + +[newsletter_text] +other = "Mit dem Newsletter auf dem neuesten Stand bleiben" + +[newsletter_input_placeholder] +other = "E-Mail-Adresse eingeben" + +[newsletter_warning] +other = "Wir werden Ihre E-Mail-Adresse nicht an Dritte weitergeben." + +[submit] +other = "Absenden" + +[hugoAttributionText] +other = "Unterstützt von" + +[prev] +other = "Vorherige" + +[next] +other = "Nächste" + +[improve_this_page] +other = "Diese Seite verbessern" + +[out_of] +other = "van de" + +[publications] +other = "Publicaties" + +[taken_courses] +other = "Cursussen gevolgd" + +[course_name] +other = "Cursus naam" + +[total_credit] +other = "Totaal krediet" + +[obtained_credit] +other = "Krediet verkregen" + +[extracurricular_activities] +other = "Buitenschoolse activiteiten" + +[show_more] +other = "Bekijk meer" + +[show_less] +other = "Laat minder zien" + +# [responsibilities] +# other = "Responsibilities:" + +# [present] +# other = "Present" + +# [comments_javascript] +# other = "Please enable JavaScript to view the" + +# [comments_by] +# other = "comments powered by" + +# [read] +# other = "Read" + +# [project_star] +# other = "Star" + +# [project_details] +# other = "Details" + +# [err_404] +# other = "The page you are looking for is not there yet." + +[more] +other = "Meer" + +[view_certificate] +other = "Bekijk certificaat" + +[notes] +other = "Opmerkingen" diff --git a/i18n/en.toml b/i18n/en.toml new file mode 100644 index 0000000..5b6f88c --- /dev/null +++ b/i18n/en.toml @@ -0,0 +1,111 @@ +# More documentation here: https://github.com/nicksnyder/go-i18n +[home] +other = "Home" + +[posts] +other = "Posts" + +[toc_heading] +other = "Table of Contents" + +[at] +other = "at" + +[resume] +other = "My resume" + +[navigation] +other = "Navigation" + +[contact_me] +other = "Contact me:" + +[email] +other = "Email" + +[phone] +other = "Phone" + +[newsletter_text] +other = "Stay up to date with email notification" + +[newsletter_input_placeholder] +other = "Enter email" + +[newsletter_warning] +other = "We'll never share your email with anyone else." + +[submit] +other = "Submit" + +[hugoAttributionText] +other = "Powered by" + +[prev] +other = "Prev" + +[next] +other = "Next" + +[improve_this_page] +other = "Improve this page" + +[out_of] +other = "out of" + +[publications] +other = "Publications" + +[taken_courses] +other = "Taken Courses" + +[course_name] +other = "Course Name" + +[total_credit] +other = "Total Credit" + +[obtained_credit] +other = "Obtained Credit" + +[extracurricular_activities] +other = "Extracurricular Activities" + +[show_more] +other = "Show More" + +[show_less] +other = "Show Less" + +[responsibilities] +other = "Responsibilities:" + +[present] +other = "Present" + +[comments_javascript] +other = "Please enable JavaScript to view the" + +[comments_by] +other = "comments powered by" + +[read] +other = "Read" + +[project_star] +other = "Star" + +[project_details] +other = "Details" + +[err_404] +other = "The page you are looking for is not there yet." + +[more] +other = "More" + +[view_certificate] +other = "View Certificate" + +[notes] +other = "Notes" diff --git a/i18n/es.toml b/i18n/es.toml new file mode 100644 index 0000000..c3ec395 --- /dev/null +++ b/i18n/es.toml @@ -0,0 +1,111 @@ +# More documentation here: https://github.com/nicksnyder/go-i18n +[home] +other = "Inicio" + +[posts] +other = "Posts" + +[toc_heading] +other = "Contenido" + +[at] +other = "en" + +[resume] +other = "Mi currículum" + +[navigation] +other = "Navegación" + +[contact_me] +other = "Contacto" + +[email] +other = "Email" + +[phone] +other = "Teléfono" + +[newsletter_text] +other = "Subscribirse" + +[newsletter_input_placeholder] +other = "Ingrese email" + +[newsletter_warning] +other = "Jamás compartiremos tus datos con alguién mas" + +[submit] +other = "Enviar" + +[hugoAttributionText] +other = "Funcionando con" + +[prev] +other = "Anterior" + +[next] +other = "Siguiente" + +[improve_this_page] +other = "Mejorar esta página" + +[out_of] +other = "de" + +[publications] +other = "Publicaciones" + +[taken_courses] +other = "Cursos tomados" + +[course_name] +other = "Nombre del curso" + +[total_credit] +other = "Crédito total" + +[obtained_credit] +other = "Crédito obtenido" + +[extracurricular_activities] +other = "Actividades extracurriculares" + +[show_more] +other = "Ver más" + +[show_less] +other = "Muestra menos" + +# [responsibilities] +# other = "Responsibilities:" + +# [present] +# other = "Present" + +# [comments_javascript] +# other = "Please enable JavaScript to view the" + +# [comments_by] +# other = "comments powered by" + +# [read] +# other = "Read" + +# [project_star] +# other = "Star" + +# [project_details] +# other = "Details" + +# [err_404] +# other = "The page you are looking for is not there yet." + +[more] +other = "Más" + +[view_certificate] +other = "Ver Certificado" + +[notes] +other = "Notas" diff --git a/i18n/fr.toml b/i18n/fr.toml new file mode 100644 index 0000000..7e25ca8 --- /dev/null +++ b/i18n/fr.toml @@ -0,0 +1,111 @@ +# More documentation here: https://github.com/nicksnyder/go-i18n +[home] +other = "Accueil" + +[posts] +other = "Des postes" + +[toc_heading] +other = "Table des matières" + +[at] +other = "chez" + +[resume] +other = "Mon Curriculum vitæ" + +[navigation] +other = "Navigation" + +[contact_me] +other = "Contactez moi :" + +[email] +other = "Email" + +[phone] +other = "Téléphone" + +[newsletter_text] +other = "Restez à jour par e-mail" + +[newsletter_input_placeholder] +other = "Entrez une adresse e-mail" + +[newsletter_warning] +other = "Nous ne partagerons jamais votre courriel avec quelqu'un d'autre." + +[submit] +other = "Envoyer" + +[hugoAttributionText] +other = "Alimenté par" + +[prev] +other = "Précédent" + +[next] +other = "Suivant" + +[improve_this_page] +other = "Améliorez cette page" + +[out_of] +other = "sur" + +[publications] +other = "Publications" + +[taken_courses] +other = "Taken Courses" + +[course_name] +other = "Cours suivis" + +[total_credit] +other = "Crédit total" + +[obtained_credit] +other = "Crédit obtenu" + +[extracurricular_activities] +other = "Activités extra-scolaires" + +[show_more] +other = "En savoir plus" + +[show_less] +other = "Montrer moins" + +# [responsibilities] +# other = "Responsibilities:" + +# [present] +# other = "Present" + +# [comments_javascript] +# other = "Please enable JavaScript to view the" + +# [comments_by] +# other = "comments powered by" + +# [read] +# other = "Read" + +# [project_star] +# other = "Star" + +# [project_details] +# other = "Details" + +# [err_404] +# other = "The page you are looking for is not there yet." + +[more] +other = "Suite" + +[view_certificate] +other = "Afficher le certificat" + +[notes] +other = "Remarques" diff --git a/i18n/hi.toml b/i18n/hi.toml new file mode 100644 index 0000000..eddf166 --- /dev/null +++ b/i18n/hi.toml @@ -0,0 +1,111 @@ +# More documentation here: https://github.com/nicksnyder/go-i18n +[home] +other = "होम" + +[posts] +other = "पोस्ट" + +[toc_heading] +other = "विषयसूची" + +[at] +other = "अन्य" + +[resume] +other = "बायोडाटा" + +[navigation] +other = "पथ प्रदर्शन" + +[contact_me] +other = "मुझसे संपर्क करो:" + +[email] +other = "ईमेल" + +[phone] +other = "फ़ोन" + +[newsletter_text] +other = "ईमेल अधिसूचना से अवगत रहें" + +[newsletter_input_placeholder] +other = "ईमेल दर्ज करें" + +[newsletter_warning] +other = "हम आपके ईमेल को कभी भी किसी और के साथ साझा नहीं करेंगे" + +[submit] +other = "जमा करें" + +[hugoAttributionText] +other = "द्वारा संचालित" + +[prev] +other = "पिछला" + +[next] +other = "आगे" + +[improve_this_page] +other = "इस पृष्ठ को सुधारें" + +[out_of] +other = "में से बाहर" + +[publications] +other = "प्रकाशन" + +[taken_courses] +other = "पाठ्यक्रम लिया" + +[course_name] +other = "कोर्स का नाम" + +[total_credit] +other = "कुल क्रेडिट" + +[obtained_credit] +other = "श्रेय प्राप्त किया" + +[extracurricular_activities] +other = "अतिरिक्त पाठयक्रम गतिविधियों" + +[show_more] +other = "और देखें" + +[show_less] +other = "कम दिखाएं" + +# [responsibilities] +# other = "Responsibilities:" + +# [present] +# other = "Present" + +# [comments_javascript] +# other = "Please enable JavaScript to view the" + +# [comments_by] +# other = "comments powered by" + +# [read] +# other = "Read" + +# [project_star] +# other = "Star" + +# [project_details] +# other = "Details" + +# [err_404] +# other = "The page you are looking for is not there yet." + +[more] +other = "अधिक" + +[view_certificate] +other = "प्रमाणपत्र देखें" + +[notes] +other = "टिप्पणियाँ" diff --git a/i18n/id.toml b/i18n/id.toml new file mode 100644 index 0000000..f884ed2 --- /dev/null +++ b/i18n/id.toml @@ -0,0 +1,111 @@ +# More documentation here: https://github.com/nicksnyder/go-i18n +[home] +other = "Beranda" + +[posts] +other = "Artikel" + +[toc_heading] +other = "Daftar Isi" + +[at] +other = "at" + +[resume] +other = "Resume saya" + +[navigation] +other = "Navigasi" + +[contact_me] +other = "Hubungi saya:" + +[email] +other = "Surel" + +[phone] +other = "Telepon" + +[newsletter_text] +other = "Ingin selalu update dengan notifikasi email" + +[newsletter_input_placeholder] +other = "Masukkan email" + +[newsletter_warning] +other = "Kami tidak pernah berbagi data email dengan siapapun." + +[submit] +other = "Kirim" + +[hugoAttributionText] +other = "Didukung oleh" + +[prev] +other = "Sebelumnya" + +[next] +other = "Lanjut" + +[improve_this_page] +other = "Perbaiki halaman ini" + +[out_of] +other = "dari" + +[publications] +other = "Publikasi" + +[taken_courses] +other = "Kursus yang Diambil" + +[course_name] +other = "Nama kursus" + +[total_credit] +other = "Total Kredit" + +[obtained_credit] +other = "Memperoleh Kredit" + +[extracurricular_activities] +other = "Kegiatan ekstrakulikuler" + +[show_more] +other = "Lihat Selengkapnya" + +[show_less] +other = "Tampilkan Lebih Sedikit" + +# [responsibilities] +# other = "Responsibilities:" + +# [present] +# other = "Present" + +# [comments_javascript] +# other = "Please enable JavaScript to view the" + +# [comments_by] +# other = "comments powered by" + +# [read] +# other = "Read" + +# [project_star] +# other = "Star" + +# [project_details] +# other = "Details" + +# [err_404] +# other = "The page you are looking for is not there yet." + +[more] +other = "Lebih" + +[view_certificate] +other = "Lihat Sertifikat" + +[notes] +other = "Catatan" diff --git a/i18n/it.toml b/i18n/it.toml new file mode 100644 index 0000000..3c88173 --- /dev/null +++ b/i18n/it.toml @@ -0,0 +1,111 @@ +# More documentation here: https://github.com/nicksnyder/go-i18n +[home] +other = "Home" + +[posts] +other = "Post" + +[toc_heading] +other = "Contenuti" + +[at] +other = "presso" + +[resume] +other = "Il mio curriculum" + +[navigation] +other = "Navigazione" + +[contact_me] +other = "Contattami:" + +[email] +other = "Email" + +[phone] +other = "Telefono" + +[newsletter_text] +other = "Resta aggiornato con la notifica di email" + +[newsletter_input_placeholder] +other = "Inserisci l'email" + +[newsletter_warning] +other = "Non condivideremo l'email con altri." + +[submit] +other = "Invia" + +[hugoAttributionText] +other = "Creato con" + +[prev] +other = "Precedente" + +[next] +other = "Successivo" + +[improve_this_page] +other = "Migliora questa pagina" + +[out_of] +other = "su" + +[publications] +other = "Pubblicazioni" + +[taken_courses] +other = "Corsi presi" + +[course_name] +other = "Nome del corso" + +[total_credit] +other = "Credito totale" + +[obtained_credit] +other = "Credito ottenuto" + +[extracurricular_activities] +other = "Attività extracurriculari" + +[show_more] +other = "Vedi altro" + +[show_less] +other = "Mostra meno" + +# [responsibilities] +# other = "Responsibilities:" + +# [present] +# other = "Present" + +# [comments_javascript] +# other = "Please enable JavaScript to view the" + +# [comments_by] +# other = "comments powered by" + +# [read] +# other = "Read" + +# [project_star] +# other = "Star" + +# [project_details] +# other = "Details" + +# [err_404] +# other = "The page you are looking for is not there yet." + +[more] +other = "Di più" + +[view_certificate] +other = "Féach ar an Teastas" + +[notes] +other = "Appunti" diff --git a/i18n/jp.toml b/i18n/jp.toml new file mode 100644 index 0000000..bcb3fa3 --- /dev/null +++ b/i18n/jp.toml @@ -0,0 +1,108 @@ +# More documentation here: https://github.com/nicksnyder/go-i18n +[home] +other = "ホーム" + +[posts] +other = "記事" + +[toc_heading] +other = "目次" + +[resume] +other = "職務経歴書" + +[navigation] +other = "メニュー" + +[contact_me] +other = "連絡先" + +[email] +other = "メール" + +[phone] +other = "電話番号" + +[newsletter_text] +other = "メールで最新情報を受け取る" + +[newsletter_input_placeholder] +other = "ここにメールアドレスを入力" + +[newsletter_warning] +other = "ご入力いただいたメールアドレスが他人に開示されることは決してございません。" + +[submit] +other = "登録" + +[hugoAttributionText] +other = "搭載" + +[prev] +other = "前" + +[next] +other = "次" + +[improve_this_page] +other = "編集リクエストを送る" + +[out_of] +other = "のうち" + +[publications] +other = "出版物" + +[taken_courses] +other = "受講したコース" + +[course_name] +other = "コース名" + +[total_credit] +other = "合計クレジット" + +[obtained_credit] +other = "取得したクレジット" + +[extracurricular_activities] +other = "課外活動" + +[show_more] +other = "続きを見る" + +[show_less] +other = "表示を減らす" + +# [responsibilities] +# other = "Responsibilities:" + +# [present] +# other = "Present" + +# [comments_javascript] +# other = "Please enable JavaScript to view the" + +# [comments_by] +# other = "comments powered by" + +# [read] +# other = "Read" + +# [project_star] +# other = "Star" + +# [project_details] +# other = "Details" + +# [err_404] +# other = "The page you are looking for is not there yet." + +[more] +other = "もっと" + +[view_certificate] +other = "ビューの証明書" + +[notes] +other = "ノート" diff --git a/i18n/ko.toml b/i18n/ko.toml new file mode 100644 index 0000000..54a03d6 --- /dev/null +++ b/i18n/ko.toml @@ -0,0 +1,111 @@ +# More documentation here: https://github.com/nicksnyder/go-i18n +[home] +other = "Home" + +[posts] +other = "게시글" + +[toc_heading] +other = "목차" + +[at] +other = "at" + +[resume] +other = "이력서" + +[navigation] +other = "바로가기" + +[contact_me] +other = "Contact me:" + +[email] +other = "Email" + +[phone] +other = "Phone" + +[newsletter_text] +other = "이메일 알림으로 최신 상태를 유지해보세요" + +[newsletter_input_placeholder] +other = "이메일을 입력하세요" + +[newsletter_warning] +other = "이메일을 다른 목적으로 사용하지 않습니다." + +[submit] +other = "제출" + +[hugoAttributionText] +other = "Powered by" + +[prev] +other = "이전" + +[next] +other = "다음" + +[improve_this_page] +other = "이 페이지를 개선" + +[out_of] +other = "out of" + +[publications] +other = "Publications" + +[taken_courses] +other = "이수 과목" + +[course_name] +other = "과목명" + +[total_credit] +other = "총 수익" + +[obtained_credit] +other = "획득한 수익" + +[extracurricular_activities] +other = "기타 활동" + +[show_more] +other = "더보기" + +[show_less] +other = "간단히보기" + +# [responsibilities] +# other = "Responsibilities:" + +# [present] +# other = "Present" + +# [comments_javascript] +# other = "Please enable JavaScript to view the" + +# [comments_by] +# other = "comments powered by" + +# [read] +# other = "Read" + +# [project_star] +# other = "Star" + +# [project_details] +# other = "Details" + +# [err_404] +# other = "The page you are looking for is not there yet." + +[more] +other = "더" + +[view_certificate] +other = "인증서보기" + +[notes] +other = "메모" diff --git a/i18n/ru.toml b/i18n/ru.toml new file mode 100644 index 0000000..d20d489 --- /dev/null +++ b/i18n/ru.toml @@ -0,0 +1,111 @@ +# More documentation here: https://github.com/nicksnyder/go-i18n +[home] +other = "Главная" + +[posts] +other = "Посты" + +[toc_heading] +other = "Оглавление" + +[at] +other = "в" + +[resume] +other = "Резюме" + +[navigation] +other = "Навигация" + +[contact_me] +other = "Контакты:" + +[email] +other = "Email" + +[phone] +other = "Телефон" + +[newsletter_text] +other = "Подпишитесь на уведомления, чтобы не пропустить новый пост" + +[newsletter_input_placeholder] +other = "Введите email" + +[newsletter_warning] +other = "Ваши данные в безопасности" + +[submit] +other = "Подтвердить" + +[hugoAttributionText] +other = "Создано при помощи" + +[prev] +other = "Предыдущий" + +[next] +other = "Следующий" + +[improve_this_page] +other = "Улучшить эту страницу" + +[out_of] +other = "из" + +[publications] +other = "Публикации" + +[taken_courses] +other = "Пройденные курсы" + +[course_name] +other = "Название курса" + +[total_credit] +other = "Общий кредит" + +[obtained_credit] +other = "Полученный кредит" + +[extracurricular_activities] +other = "Внеклассные занятия" + +[show_more] +other = "Узнать больше" + +[show_less] +other = "Показывай меньше" + +# [responsibilities] +# other = "Responsibilities:" + +# [present] +# other = "Present" + +# [comments_javascript] +# other = "Please enable JavaScript to view the" + +# [comments_by] +# other = "comments powered by" + +# [read] +# other = "Read" + +# [project_star] +# other = "Star" + +# [project_details] +# other = "Details" + +# [err_404] +# other = "The page you are looking for is not there yet." + +[more] +other = "Более" + +[view_certificate] +other = "Просмотреть сертификат" + +[notes] +other = "Ноты" diff --git a/i18n/vn.toml b/i18n/vn.toml new file mode 100644 index 0000000..3fb385c --- /dev/null +++ b/i18n/vn.toml @@ -0,0 +1,111 @@ +# More documentation here: https://github.com/nicksnyder/go-i18n +[home] +other = "Trang chủ" + +[posts] +other = "Bài viết" + +[toc_heading] +other = "Mục lục" + +[at] +other = "tại" + +[resume] +other = "Sơ yếu lý lịch của tôi" + +[navigation] +other = "Điều hướng" + +[contact_me] +other = "Liên hệ với tôi" + +[email] +other = "Email" + +[phone] +other = "Điện thoại" + +[newsletter_text] +other = "Nhận email cập nhật thông tin" + +[newsletter_input_placeholder] +other = "Nhập email" + +[newsletter_warning] +other = "Chúng tôi sẽ không bao giờ chia sẻ email của bạn." + +[submit] +other = "Gửi" + +[hugoAttributionText] +other = "Được cung cấp bởi" + +[prev] +other = "Trước" + +[next] +other = "Tiếp theo" + +[improve_this_page] +other = "Cải thiện trang này" + +[out_of] +other = "trên" + +[publications] +other = "Ấn phẩm" + +[taken_courses] +other = "Đã thực hiện các khóa học" + +[course_name] +other = "Tên khóa học" + +[total_credit] +other = "Tổng số tín dụng" + +[obtained_credit] +other = "Tín dụng thu được" + +[extracurricular_activities] +other = "Các hoạt động ngoại khóa" + +[show_more] +other = "Xem thêm" + +[show_less] +other = "Hiện ít hơn" + +# [responsibilities] +# other = "Responsibilities:" + +# [present] +# other = "Present" + +# [comments_javascript] +# other = "Please enable JavaScript to view the" + +# [comments_by] +# other = "comments powered by" + +# [read] +# other = "Read" + +# [project_star] +# other = "Star" + +# [project_details] +# other = "Details" + +# [err_404] +# other = "The page you are looking for is not there yet." + +[more] +other = "Hơn" + +[view_certificate] +other = "Xem chứng chỉ" + +[notes] +other = "Ghi chú" diff --git a/images/about.png b/images/about.png new file mode 100644 index 0000000..a8e7179 Binary files /dev/null and b/images/about.png differ diff --git a/images/list.png b/images/list.png new file mode 100644 index 0000000..047bcde Binary files /dev/null and b/images/list.png differ diff --git a/images/screenshot.png b/images/screenshot.png index b0d2a59..c6fbc4b 100644 Binary files a/images/screenshot.png and b/images/screenshot.png differ diff --git a/images/single.png b/images/single.png new file mode 100644 index 0000000..45dbc57 Binary files /dev/null and b/images/single.png differ diff --git a/images/tn.png b/images/tn.png index b06cc0f..5937dbb 100644 Binary files a/images/tn.png and b/images/tn.png differ diff --git a/images/tn2.png b/images/tn2.png new file mode 100644 index 0000000..288ee39 Binary files /dev/null and b/images/tn2.png differ diff --git a/layouts/404.html b/layouts/404.html index 45b51d2..c602109 100644 --- a/layouts/404.html +++ b/layouts/404.html @@ -1,18 +1,28 @@ {{ define "header" }} - + {{ end }} {{ define "navbar" }} - {{ partial "navbar-2.html" (dict "baseURL" .Site.BaseURL "title" .Site.Title "hasToggleButton" false) }} + {{ partial "navigators/navbar-2.html" (dict "baseURL" site.BaseURL "title" site.Title "hasToggleButton" false) }} {{ end }} {{ define "content" }} +{{/* not found image */}} +{{ $notFoundImage := "/images/404.png" }} + +{{/* resize the image. don't resize svg because it is not supported */}} +{{ $notFoundImage := resources.Get $notFoundImage}} +{{ if and $notFoundImage (ne $notFoundImage.MediaType.SubType "svg") }} + {{ $notFoundImage = $notFoundImage.Resize "1500x" }} +{{ end }} +{{ $notFoundImage = $notFoundImage.RelPermalink}} +
- + Page Not Found

404

-

The page you are looking for is not there yet.

+

{{ i18n "err_404" }}

diff --git a/layouts/_default/baseof.html b/layouts/_default/baseof.html index 1ed13f1..f733092 100644 --- a/layouts/_default/baseof.html +++ b/layouts/_default/baseof.html @@ -9,22 +9,29 @@ {{ block "header" . }} {{ end }} - {{ if .Site.GoogleAnalytics }} + {{ if site.GoogleAnalytics }} {{ template "_internal/google_analytics_async.html" . }} {{ end }} - +
{{ block "navbar" . }} {{ end }} + + {{ block "sidebar" . }} {{ end }} + {{ block "content" . }} {{ end }} + + + {{ block "toc" . }} {{ end }}
- {{- partial "footer.html" . -}} + {{ $footerTemplate:= site.Params.footer.template | default "footer.html" }} + {{- partial $footerTemplate . -}} {{ partial "scripts.html" . }} diff --git a/layouts/_default/index.json b/layouts/_default/index.json new file mode 100644 index 0000000..c29397c --- /dev/null +++ b/layouts/_default/index.json @@ -0,0 +1,5 @@ +{{- $.Scratch.Add "index" slice -}} +{{- range .Site.RegularPages -}} + {{- $.Scratch.Add "index" (dict "title" .Title "hero" (partial "helpers/get-hero.html" .) "date" (.Date.Format "January 2, 2006") "summary" .Summary "tags" .Params.tags "categories" .Params.categories "contents" .Plain "permalink" .Permalink) -}} +{{- end -}} +{{- $.Scratch.Get "index" | jsonify -}} diff --git a/layouts/_default/list.html b/layouts/_default/list.html index 7b00091..dd0f21b 100644 --- a/layouts/_default/list.html +++ b/layouts/_default/list.html @@ -1,41 +1,57 @@ {{ define "header" }} - + + {{ end }} {{ define "navbar" }} - {{ partial "navbar-2.html" (dict "baseURL" .Site.BaseURL "title" .Site.Title "hasToggleButton" true) }} + {{ partial "navigators/navbar-2.html" . }} +{{ end }} + +{{ define "sidebar" }} + {{ $homePage:="#" }} + {{ if site.IsMultiLingual }} + {{ $homePage = (path.Join (cond ( eq .Language.Lang "en") "" .Language.Lang) .Type) }} + {{ end }} + + {{ end }} {{ define "content" }} - +
-
-
- {{ range (where site.RegularPages "Type" "in" site.Params.mainSections) }} +
+ {{ $paginator := .Paginate .RegularPagesRecursive 12 }} + {{ range $paginator.Pages }} + {{ if .Layout }} + {{/* ignore the search.md file*/}} + {{ else }} {{ partial "cards/post.html" . }} {{ end }} - {{/* {{ $paginator := .Paginate .Site.RegularPages 120 }} - {{ range $paginator.Pages }} - {{ partial "cards/post.html" . }} - {{ end }} */}} -
- {{/*
- {{ template "_internal/pagination.html" . }} -
*/}} + {{ end }} +
+
+ {{ template "_internal/pagination.html" . }}
+
{{ end }} {{ define "scripts" }} - + {{ end }} diff --git a/layouts/_default/search.html b/layouts/_default/search.html new file mode 100644 index 0000000..41c04d0 --- /dev/null +++ b/layouts/_default/search.html @@ -0,0 +1,71 @@ +{{ define "header" }} + + +{{ end }} + +{{ define "navbar" }} + {{ partial "navigators/navbar-2.html" . }} +{{ end }} + +{{ define "sidebar" }} + {{ $homePage:="#" }} + {{ if site.IsMultiLingual }} + {{ $homePage = (path.Join (cond ( eq .Language.Lang "en") "" .Language.Lang) .Type) }} + {{ end }} + + +{{ end }} + +{{ define "content" }} +
+
+
+
+ + + +
+
+
+
+{{ end }} + +{{ define "scripts" }} + + + +{{ end }} diff --git a/layouts/_default/single.html b/layouts/_default/single.html index 30dc63d..abafcca 100644 --- a/layouts/_default/single.html +++ b/layouts/_default/single.html @@ -1,86 +1,107 @@ {{ define "header" }} + - + + {{ end }} {{ define "navbar" }} - {{ partial "navbar-2.html" (dict "baseURL" .Site.BaseURL "title" .Site.Title "hasToggleButton" false) }} + {{ partial "navigators/navbar-2.html" . }} +{{ end }} + +{{ define "sidebar" }} + {{ end }} {{ define "content" }} -
- -
-
- - -
-
- -
{{ partial "helpers/get-author-name.html" . }}
-

{{ .Page.Date.Format "January 2, 2006" }}

-
- -
-

{{ .Page.Title }}

-
- -
- {{ .Page.Content }} -
- - - {{ if .Site.Params.GitRepo }} -
- - - Improve This Page - +
+
+
+ +
- {{ end }} - -
-
- {{ $currentPage := . }} - {{ range .Site.RegularPages.ByDate }} - {{ if eq .RelPermalink $currentPage.RelPermalink }} - {{ if .Next }} - -
- - {{ if .Site.DisqusShortname }} - {{ partial "disqus.html" . }} + + + {{ if .IsTranslated }} + {{ partial "navigators/floating-lang-selector.html" . }} {{ end }} -
+
{{ end }} +{{ define "toc" }} +
+ {{ if site.Params.enableTOC }} +
+
{{ i18n "toc_heading" }}
+
+
+ {{ .TableOfContents }} +
+
+ {{ end }} +
+{{ end }} {{ define "scripts" }} - + diff --git a/layouts/index.html b/layouts/index.html index a9dd4ea..9a5d5dd 100644 --- a/layouts/index.html +++ b/layouts/index.html @@ -1,58 +1,81 @@ - + {{- .Site.Title -}} + {{ $siteDescription := .Site.Params.description }} + {{ if (index .Site.Data .Site.Language.Lang).site }} + {{ $siteConfig := (index .Site.Data .Site.Language.Lang).site }} + {{ if $siteConfig.description }} + {{ $siteDescription = $siteConfig.description }} + {{ end }} + {{ end }} + + {{- partial "header.html" . -}} - - - - - - - - + + + + + + + + + + - {{ if .Site.GoogleAnalytics }} + {{ if site.GoogleAnalytics }} {{ template "_internal/google_analytics_async.html" . }} {{ end }} - + + - {{- partial "navbar.html" . -}} + {{- partial "navigators/navbar.html" . -}} - {{- partial "home.html" . -}} + {{- partial "sections/home.html" . -}} - - {{- partial "about.html" . -}} + + {{ $sections:= site.Data.sections }} + {{ if (index site.Data site.Language.Lang).sections }} + {{ $sections = (index site.Data site.Language.Lang).sections }} + {{ end }} - - {{- partial "skills.html" . -}} - - - {{- partial "experiences.html" . -}} - - - {{- partial "projects.html" . -}} - - - {{- partial "recent-posts.html" . -}} - - - {{- partial "achievements.html" . -}} + {{ if $sections }} + {{ $background:= "bg-white"}} + {{ range sort $sections "section.weight" }} + {{ if .section.enable }} +
+ {{ if .section.template }} + {{- partial .section.template . -}} + {{ else }} + {{- partial (printf "sections/%s.html" (replace (lower .section.id) " " "-")) . -}} + {{ end }} +
+ + {{ if eq $background "bg-white" }} + {{ $background = "bg-dimmed" }} + {{ else }} + {{ $background = "bg-white" }} + {{end}} + {{ end }} + {{ end }} + {{ end }} - {{- partial "footer.html" . -}} + {{ $footerTemplate:= site.Params.footer.template | default "footer.html" }} + {{- partial $footerTemplate . -}} {{ partial "scripts.html" . }} - - - + + + + diff --git a/layouts/notes/list.html b/layouts/notes/list.html new file mode 100644 index 0000000..f8181c7 --- /dev/null +++ b/layouts/notes/list.html @@ -0,0 +1,69 @@ +{{ define "header" }} + + + +{{ end }} + +{{ define "navbar" }} + {{ partial "navigators/navbar-2.html" . }} +{{ end }} + +{{ define "sidebar" }} + {{ $homePage:="#" }} + {{ if site.IsMultiLingual }} + {{ $homePage = (path.Join (cond ( eq .Language.Lang "en") "" .Language.Lang) .Type) }} + {{ end }} + + +{{ end }} + +{{ define "content" }} +
+
+
+ {{ $paginator := .Paginate .RegularPagesRecursive 10 }} + {{ range $paginator.Pages }} + {{ if .Layout }} + {{/* ignore search.md file*/}} + {{ else }} + {{ .Content }} + {{ end }} + {{ end }} +
+
+ {{ template "_internal/pagination.html" . }} +
+
+
+{{ end }} + +{{ define "scripts" }} + + + + + {{ if .Params.math }} + {{ partial "math.html" . }} + {{ end }} +{{ end }} diff --git a/layouts/notes/single.html b/layouts/notes/single.html new file mode 100644 index 0000000..152cb52 --- /dev/null +++ b/layouts/notes/single.html @@ -0,0 +1,59 @@ +{{ define "header" }} + + + +{{ end }} + +{{ define "navbar" }} + {{ partial "navigators/navbar-2.html" . }} +{{ end }} + +{{ define "sidebar" }} + {{ $homePage:="#" }} + {{ if site.IsMultiLingual }} + {{ $homePage = (path.Join (cond ( eq .Language.Lang "en") "" .Language.Lang) .Type) }} + {{ end }} + + +{{ end }} + +{{ define "content" }} +
+
+
+ {{ .Content }} +
+
+
+{{ end }} + +{{ define "scripts" }} + + + + + {{ if .Params.math }} + {{ partial "math.html" . }} + {{ end }} +{{ end }} diff --git a/layouts/partials/about.html b/layouts/partials/about.html deleted file mode 100644 index 108c934..0000000 --- a/layouts/partials/about.html +++ /dev/null @@ -1,47 +0,0 @@ -
-
-
- {{ if .Site.Data.about }} - -
-

{{ .Site.Data.site.author.name }}

-
- {{ .Site.Data.about.designation }} at - {{ .Site.Data.about.company.name }} -
-

- {{ .Site.Data.about.summary | markdownify }} -

-
- -
- {{ if .Site.Data.about.resume }} - - {{ end }} -
- -
-
- {{ range .Site.Data.about.softSkills }} - {{ partial "progress/soft-skills" . }} - {{ end }} -
-
- {{ end }} -
-
-
diff --git a/layouts/partials/achievements.html b/layouts/partials/achievements.html deleted file mode 100644 index 7cc6ebf..0000000 --- a/layouts/partials/achievements.html +++ /dev/null @@ -1,16 +0,0 @@ -
- {{ if .Site.Data.achievements }} -

Achievements

- -
- -
- -
- {{ range .Site.Data.achievements.achievements }} - {{ partial "misc/achievement.html" . }} - {{ end }} -
- {{ end }} -
diff --git a/layouts/partials/cards/accomplishments.html b/layouts/partials/cards/accomplishments.html new file mode 100644 index 0000000..a62fa22 --- /dev/null +++ b/layouts/partials/cards/accomplishments.html @@ -0,0 +1,19 @@ +
+
+
+
{{ .name }}
+
+ {{ .organization.name }} + {{ .timeline }} +
+
+
+

{{ .courseOverview | markdownify }}

+
+ +
+
diff --git a/layouts/partials/cards/post.html b/layouts/partials/cards/post.html index 33af61a..afabab9 100644 --- a/layouts/partials/cards/post.html +++ b/layouts/partials/cards/post.html @@ -1,19 +1,19 @@ -
- +
+ diff --git a/layouts/partials/cards/project.html b/layouts/partials/cards/project.html index dfd8918..93d022d 100644 --- a/layouts/partials/cards/project.html +++ b/layouts/partials/cards/project.html @@ -1,42 +1,64 @@
-
- +

{{ .summary | markdownify }}

- - {{ if .repo }} - Star - {{ else if .url }} - Details + +
diff --git a/layouts/partials/cards/recent-post.html b/layouts/partials/cards/recent-post.html index 997145c..4426e46 100644 --- a/layouts/partials/cards/recent-post.html +++ b/layouts/partials/cards/recent-post.html @@ -1,5 +1,5 @@ -
- +
+
diff --git a/layouts/partials/cards/skill.html b/layouts/partials/cards/skill.html index d8e1732..1cf229f 100644 --- a/layouts/partials/cards/skill.html +++ b/layouts/partials/cards/skill.html @@ -1,13 +1,22 @@ -
-
- diff --git a/layouts/partials/disqus.html b/layouts/partials/disqus.html index 9c47b63..71fef21 100644 --- a/layouts/partials/disqus.html +++ b/layouts/partials/disqus.html @@ -8,7 +8,7 @@ var dsq = document.createElement("script"); dsq.type = "text/javascript"; dsq.async = true; - var disqus_shortname = "{{ .Site.DisqusShortname }}"; + var disqus_shortname = "{{ site.DisqusShortname }}"; dsq.src = "//" + disqus_shortname + ".disqus.com/embed.js"; ( document.getElementsByTagName("head")[0] || @@ -17,11 +17,11 @@ })(); comments powered by Disqus{{ i18n "comments_by" }} Disqus diff --git a/layouts/partials/experiences.html b/layouts/partials/experiences.html deleted file mode 100644 index 91ad594..0000000 --- a/layouts/partials/experiences.html +++ /dev/null @@ -1,25 +0,0 @@ -
- {{ if .Site.Data.experiences }} -

Experiences

- -
- {{ $totalExperiences:= len .Site.Data.experiences.experiences }} - {{ range $index,$experience:= .Site.Data.experiences.experiences }} - {{ if eq (mod $index 2) 0 }} -
- {{ partial "experiences/vertical-line.html" $index }} - {{ partial "experiences/experience-info.html" $experience }} -
- {{else}} -
- {{ partial "experiences/experience-info.html" $experience }} - {{ partial "experiences/vertical-line.html" $index }} -
- {{ end }} - {{ if lt $index (sub $totalExperiences 1) }} - {{ partial "experiences/horizontal-line.html" $index }} - {{ end }} - {{ end }} -
- {{ end }} -
diff --git a/layouts/partials/experiences/experience-info.html b/layouts/partials/experiences/experience-info.html deleted file mode 100644 index b2d1ea8..0000000 --- a/layouts/partials/experiences/experience-info.html +++ /dev/null @@ -1,14 +0,0 @@ -
-
-
{{ .company.name }}
-
{{ .designation }}
-

{{ .start }} - {{ if .end }} {{ .end }} {{ else }}Present{{ end }}, {{ .company.location }}

-
-

{{ .company.overview | markdownify }}

-
Responsibilities:
-
    - {{ range .responsibilities }} -
  • {{ . | markdownify }}
  • - {{ end }} -
-
diff --git a/layouts/partials/footer.html b/layouts/partials/footer.html index 326aad2..a20f226 100644 --- a/layouts/partials/footer.html +++ b/layouts/partials/footer.html @@ -1,66 +1,129 @@ -
-
-
-
-
Navigation
- {{ if .Site.Data.site }} +{{/* variables for enabling/disabling parts of the footer */}} +{{ $footerEnabled := site.Params.footer.enable | default true }} +{{ $navigationEnabled := site.Params.footer.navigation.enable | default true }} +{{ $contactMeEnabled := site.Params.footer.contactMe.enable | default true }} +{{ $newsletterEnabled := site.Params.footer.newsletter.enable | default true }} +{{ $credentialsEnabled := site.Params.footer.credentials.enable | default true }} + +{{/* Keep backward compatibility for the newsletter function */}} +{{ if site.Params.newsletter.enable }} + {{ $newsletterEnabled = true }} +{{ end }} + +{{ if $footerEnabled }} + {{ $author:= site.Data.author }} + {{ if (index site.Data site.Language.Lang).author }} + {{ $author = (index site.Data site.Language.Lang).author }} + {{ end }} + + {{ $sections:= site.Data.sections }} + {{ if (index site.Data site.Language.Lang).sections }} + {{ $sections = (index site.Data site.Language.Lang).sections }} + {{ end }} + + {{ $copyrightNotice := "© 2021 Copyright."}} + {{ if (index site.Data site.Language.Lang).site }} + {{ $siteConfig := (index site.Data site.Language.Lang).site }} + {{ if $siteConfig.copyright }} + {{ $copyrightNotice = $siteConfig.copyright }} + {{ end }} + {{ end }} + + {{/* footer logos */}} + {{ $themeLogo := "/images/theme-logo.png" }} + {{ $hugoLogo := "/images/hugo-logo.svg" }} + + {{/* resize the logos. don't resize svg because it is not supported */}} + {{ $themeLogo:= resources.Get $themeLogo}} + {{ if and $themeLogo (ne $themeLogo.MediaType.SubType "svg") }} + {{ $themeLogo = $themeLogo.Resize "32x" }} + {{ end }} + {{ $themeLogo = $themeLogo.RelPermalink}} + + {{ $hugoLogo:= resources.Get $hugoLogo}} + {{ if and $hugoLogo (ne $hugoLogo.MediaType.SubType "svg")}} + {{ $hugoLogo = $hugoLogo.Resize "32x" }} + {{ end }} + {{ $hugoLogo = $hugoLogo.RelPermalink}} + +
+
+
+ {{ if $navigationEnabled }} +
+
{{ i18n "navigation" }}
+ {{ if $sections }}
    - {{ range .Site.Data.site.menus }} - + {{- range sort $sections "section.weight" }} + {{ if and (.section.enable) (.section.showOnNavbar)}} + {{ $sectionID := replace (lower .section.name) " " "-" }} + {{ if .section.id }} + {{ $sectionID = .section.id }} + {{ end }} + + {{ end }} + {{- end }} +
+ {{ end }} +
+ {{ end }} + {{ if (and $contactMeEnabled $author) }} +
+
{{ i18n "contact_me" }}
+
    + {{ range $key,$value:= $author.contactInfo }} +
  • {{ title $key }}: {{ $value }}
  • {{ end }}
+
+ {{ end }} + {{ if $newsletterEnabled }} +
+ +

{{ i18n "newsletter_text" }}

+
+
+ + {{ i18n "newsletter_warning" }} +
+ +
+
{{ end }}
-
-
Contact Me
-
    - {{ range $key,$value:=.Site.Data.site.author.contactInfo }} -
  • {{ title $key }}: {{ $value }}
  • - {{ end }} -
-
-
- -

Stay up to date with email notification

-
-
- - We'll never share your email with anyone else. -
- -
+
+ {{ if $credentialsEnabled }} +
+
+
+ +
{{ $copyrightNotice | markdownify }}
+
-
-
-
-
- -
© 2020 Copyright.
-
- Powered by Hugo - Hugo Logo - -
-
-
-
+ {{ end }} +
+{{end}} diff --git a/layouts/partials/header.html b/layouts/partials/header.html index 4217174..f979cd4 100644 --- a/layouts/partials/header.html +++ b/layouts/partials/header.html @@ -1,16 +1,36 @@ +{{/* default favicon */}} +{{ $favicon := "/images/favicon.png" }} + +{{/* if favicon is provided in the config, then use that */}} +{{ if site.Params.logo.favicon }} + {{ $favicon = site.Params.logo.favicon }} +{{ end }} + +{{/* resize the favicon. don't resize svg because it is not supported */}} +{{ $favicon := resources.Get $favicon }} +{{ if and $favicon (ne $favicon.MediaType.SubType "svg") }} + {{ $favicon = $favicon.Resize "42x" }} +{{ end }} +{{ $favicon = $favicon.RelPermalink}} + - - - + + + + + + - + + + diff --git a/layouts/partials/helpers/add-navbar-separator.html b/layouts/partials/helpers/add-navbar-separator.html new file mode 100644 index 0000000..6fb280e --- /dev/null +++ b/layouts/partials/helpers/add-navbar-separator.html @@ -0,0 +1,25 @@ +{{ $addNavbarSeparator:= false }} + +{{/* If "blog" feature is enabled, then add navbar separator */}} +{{ if site.Params.features.blog.enable }} + {{ $addNavbarSeparator = true }} +{{ end }} + +{{/* If "notes" feature is enabled, then add navbar separator */}} +{{ if site.Params.features.notes.enable }} + {{ $addNavbarSeparator = true }} +{{ end }} + +{{/* If site has custom menus, then add navbar separator */}} +{{ $customMenus := site.Params.customMenus }} +{{ if (index site.Data site.Language.Lang).site.customMenus }} + {{ $customMenus = (index site.Data site.Language.Lang).site.customMenus }} +{{ end }} + +{{ if $customMenus }} + {{ if gt (len $customMenus) 0 }} + {{ $addNavbarSeparator = true }} + {{ end }} +{{ end }} + +{{ return $addNavbarSeparator }} diff --git a/layouts/partials/helpers/country-code.html b/layouts/partials/helpers/country-code.html new file mode 100644 index 0000000..f93a633 --- /dev/null +++ b/layouts/partials/helpers/country-code.html @@ -0,0 +1,15 @@ +{{ $languageCode:= .Lang }} +{{/* by default the language code and the country code are same */}} +{{ $countryCode:= $languageCode }} + +{{/* language code and country code are not same for some countries. we need to fix them. */}} +{{ if eq $languageCode "en" }} + {{ $countryCode = "gb" }} +{{ else if eq $languageCode "bn" }} + {{ $countryCode = "bd" }} +{{ else if eq $languageCode "hi" }} + {{ $countryCode = "in" }} +{{ end }} + +{{/* return the country code */}} +{{ return $countryCode }} diff --git a/layouts/partials/helpers/get-author-image.html b/layouts/partials/helpers/get-author-image.html index 9ab6360..439bafc 100644 --- a/layouts/partials/helpers/get-author-image.html +++ b/layouts/partials/helpers/get-author-image.html @@ -1,7 +1,15 @@ -{{ $authorImage:= "/assets/images/default-avatar.png"}} -{{ if .Site.Data.site.author}} - {{ $authorImage = .Site.Data.site.author.image | relURL }} -{{ end}} +{{ $author:= site.Data.author }} +{{ if (index site.Data site.Language.Lang).author }} + {{ $author = (index site.Data site.Language.Lang).author }} +{{ end }} + +{{/* default author image */}} +{{ $authorImage:= "/images/default-avatar.png" }} +{{ if $author.image }} + {{ $authorImage = $author.image }} +{{ end }} + +{{/* if author image is provided in author's data, then use that */}} {{ if eq (printf "%T" .Params.author ) "maps.Params" }} {{ with .Params.author }} {{ if .image }} @@ -9,4 +17,13 @@ {{ end }} {{ end }} {{ end }} -{{ return $authorImage }} + +{{/* apply image processing. don't use "Fit" in svg because its not supported */}} +{{ $authorImage:= resources.Get $authorImage}} +{{ if and $authorImage (ne $authorImage.MediaType.SubType "svg") }} + {{ $authorImage := $authorImage.Fit "120x120" }} +{{ end }} + +{{/* return the author image link */}} +{{ return $authorImage.RelPermalink }} + diff --git a/layouts/partials/helpers/get-author-name.html b/layouts/partials/helpers/get-author-name.html index 2bcf239..d19c0cf 100644 --- a/layouts/partials/helpers/get-author-name.html +++ b/layouts/partials/helpers/get-author-name.html @@ -1,7 +1,12 @@ -{{ $authorName:= "John Doe"}} -{{ if .Site.Data.site.author}} - {{ $authorName = .Site.Data.site.author.name }} -{{ end}} +{{/* Uses the top level site's config for a single author across all locales */}} +{{ $authorName:= site.Params.author.name }} + +{{/* Overrides with the locale specifc author if provided */}} +{{ if (index site.Data site.Language.Lang).author }} + {{ $authorName = (index site.Data site.Language.Lang).author.name }} +{{ end }} + +{{/* Lastly, overrides with the post specific author if provided */}} {{ if eq (printf "%T" .Params.author ) "maps.Params" }} {{ with .Params.author }} {{ if .name }} diff --git a/layouts/partials/helpers/get-categories.html b/layouts/partials/helpers/get-categories.html deleted file mode 100644 index f9d39b6..0000000 --- a/layouts/partials/helpers/get-categories.html +++ /dev/null @@ -1,5 +0,0 @@ -{{ $categories:= ""}} -{{ if .Params.categories }} - {{ $categories = delimit .Params.categories "," }} -{{ end }} -{{ return $categories }} diff --git a/layouts/partials/helpers/get-hero.html b/layouts/partials/helpers/get-hero.html index 72ef4ec..d253f85 100644 --- a/layouts/partials/helpers/get-hero.html +++ b/layouts/partials/helpers/get-hero.html @@ -1,5 +1,24 @@ -{{ $heroImage:= "/assets/images/default-hero.jpg"}} -{{ if .Params.hero }} - {{ $heroImage = .Params.hero }} +{{/* check if there is any hero image in the same folder as the markdown file */}} +{{ $heroImage := .Page.Resources.GetMatch "hero.{jpg,png,svg}"}} + +{{/* if hero image is specified in the page front-matter, then use that */}} +{{ if .Params.hero }} + {{ $heroImage = .Page.Resources.GetMatch .Params.hero }} {{ end }} -{{ return $heroImage }} +{{ .Scratch.Set "heroScratch" $heroImage }} + +{{/* if hero image is not provided, then use the default hero image */}} +{{ if not $heroImage }} + {{ $heroImage := resources.Get "images/default-hero.jpg"}} + {{ .Scratch.Set "heroScratch" $heroImage }} +{{ end }} + +{{ $heroImage := .Scratch.Get "heroScratch" }} + +{{/* resize hero image. don't resize if the image is an svg */}} +{{ if and $heroImage (ne $heroImage.MediaType.SubType "svg") }} + {{ $heroImage := $heroImage.Resize "148x" }} +{{ end }} + +{{/* return the hero image */}} +{{ return $heroImage.RelPermalink }} diff --git a/layouts/partials/helpers/get-section-id.html b/layouts/partials/helpers/get-section-id.html new file mode 100644 index 0000000..2dc13ab --- /dev/null +++ b/layouts/partials/helpers/get-section-id.html @@ -0,0 +1,5 @@ +{{ $sectionID := replace (lower .section.name) " " "-" }} +{{ if .section.id }} + {{ $sectionID = .section.id }} +{{ end }} +{{ return $sectionID }} \ No newline at end of file diff --git a/layouts/partials/home.html b/layouts/partials/home.html deleted file mode 100644 index a201309..0000000 --- a/layouts/partials/home.html +++ /dev/null @@ -1,23 +0,0 @@ -
-
-
- -

Hi, I am {{ if .Site.Data.site.author.name }}{{ .Site.Data.site.author.name }}{{ else }}Jane Doe{{ end }} -

- - - -
-
diff --git a/layouts/partials/misc/achievement.html b/layouts/partials/misc/achievement.html deleted file mode 100644 index 8548a1a..0000000 --- a/layouts/partials/misc/achievement.html +++ /dev/null @@ -1,11 +0,0 @@ -
- -

{{ .title }}

- -
diff --git a/layouts/partials/misc/soft-skills.html b/layouts/partials/misc/soft-skills.html new file mode 100644 index 0000000..cbdc0ae --- /dev/null +++ b/layouts/partials/misc/soft-skills.html @@ -0,0 +1,25 @@ +
+ {{ $predefinedColor:= true}} + {{ if hasPrefix .color "#"}} + {{ $predefinedColor = false }} + {{ end }} +
+ + + + + + +
{{ .name }}
+
+
diff --git a/layouts/partials/navbar-2.html b/layouts/partials/navbar-2.html deleted file mode 100644 index c0ff089..0000000 --- a/layouts/partials/navbar-2.html +++ /dev/null @@ -1,17 +0,0 @@ - diff --git a/layouts/partials/navbar.html b/layouts/partials/navbar.html deleted file mode 100644 index a299fcf..0000000 --- a/layouts/partials/navbar.html +++ /dev/null @@ -1,31 +0,0 @@ - diff --git a/layouts/partials/navigators/floating-lang-selector.html b/layouts/partials/navigators/floating-lang-selector.html new file mode 100644 index 0000000..b76dfec --- /dev/null +++ b/layouts/partials/navigators/floating-lang-selector.html @@ -0,0 +1,21 @@ +{{ $pageURL:= .RelPermalink }} +{{ if site.IsMultiLingual }} + {{ $pageURL = strings.TrimPrefix (path.Join "/" .Language.Lang) $pageURL }} +{{ end }} + + \ No newline at end of file diff --git a/layouts/partials/navigators/lang-selector-2.html b/layouts/partials/navigators/lang-selector-2.html new file mode 100644 index 0000000..9c4e240 --- /dev/null +++ b/layouts/partials/navigators/lang-selector-2.html @@ -0,0 +1,21 @@ +{{ $pageURL:= .RelPermalink }} +{{ if site.IsMultiLingual }} + {{ $pageURL = strings.TrimPrefix (path.Join "/" .Language.Lang) $pageURL }} +{{ end }} + + \ No newline at end of file diff --git a/layouts/partials/navigators/lang-selector.html b/layouts/partials/navigators/lang-selector.html new file mode 100644 index 0000000..4948370 --- /dev/null +++ b/layouts/partials/navigators/lang-selector.html @@ -0,0 +1,16 @@ + \ No newline at end of file diff --git a/layouts/partials/navigators/navbar-2.html b/layouts/partials/navigators/navbar-2.html new file mode 100644 index 0000000..86b4626 --- /dev/null +++ b/layouts/partials/navigators/navbar-2.html @@ -0,0 +1,51 @@ +{{/* default logos */}} +{{ $mainLogo := "/images/main-logo.png" }} +{{ $invertedLogo := "/images/inverted-logo.png" }} + +{{/* if custom logo has been provided in the config file, then use them */}} +{{ if site.Params.logo.main }} + {{ $mainLogo = site.Params.logo.main }} +{{ end }} + +{{ if site.Params.logo.inverted }} + {{ $invertedLogo = site.Params.logo.inverted }} +{{ end }} + +{{/* resize the logos. don't resize svg because it is not supported */}} +{{ $mainLogo := resources.Get $mainLogo}} +{{ if and $mainLogo (ne $mainLogo.MediaType.SubType "svg") }} + {{ $mainLogo = $mainLogo.Resize "42x" }} +{{ end }} +{{ $mainLogo = $mainLogo.RelPermalink}} + +{{ $invertedLogo := resources.Get $invertedLogo}} +{{ if and $invertedLogo (ne $invertedLogo.MediaType.SubType "svg") }} + {{ $invertedLogo = $invertedLogo.Resize "42x" }} +{{ end }} +{{ $invertedLogo = $invertedLogo.RelPermalink}} + + diff --git a/layouts/partials/navigators/navbar.html b/layouts/partials/navigators/navbar.html new file mode 100644 index 0000000..df29cdc --- /dev/null +++ b/layouts/partials/navigators/navbar.html @@ -0,0 +1,124 @@ +{{/* variables for enabling/disabling various features */}} +{{ $blogEnabled := site.Params.features.blog.enable | default false }} +{{ $notesEnabled := site.Params.features.notes.enable | default false }} + +{{/* keep backward compatibility for blog post */}} +{{ if site.Params.enableBlogPost }} + {{ $blogEnabled = true }} +{{ end }} + +{{/* default logos */}} +{{ $mainLogo := "/images/main-logo.png" }} +{{ $invertedLogo := "/images/inverted-logo.png" }} + +{{/* if custom logo is used, them */}} +{{ if site.Params.logo.main }} + {{ $mainLogo = site.Params.logo.main }} +{{ end }} +{{ if site.Params.logo.inverted }} + {{ $invertedLogo = site.Params.logo.inverted }} +{{ end }} + +{{/* resize the logos. don't resize svg because it is not supported */}} +{{ $mainLogo := resources.Get $mainLogo}} +{{ if and $mainLogo (ne $mainLogo.MediaType.SubType "svg") }} + {{ $mainLogo = $mainLogo.Resize "42x" }} +{{ end }} +{{ $mainLogo = $mainLogo.RelPermalink}} + +{{ $invertedLogo := resources.Get $invertedLogo}} +{{ if and $invertedLogo (ne $invertedLogo.MediaType.SubType "svg")}} + {{ $invertedLogo = $invertedLogo.Resize "42x" }} +{{ end }} +{{ $invertedLogo = $invertedLogo.RelPermalink}} + +{{ $customMenus := site.Params.customMenus }} +{{ if (index site.Data site.Language.Lang).site.customMenus }} + {{ $customMenus = (index site.Data site.Language.Lang).site.customMenus }} +{{ end }} + +{{ $sections := site.Data.sections }} +{{ if (index site.Data site.Language.Lang).sections }} + {{ $sections = (index site.Data site.Language.Lang).sections }} +{{ end }} + + diff --git a/layouts/partials/navigators/next-prev-navigator.html b/layouts/partials/navigators/next-prev-navigator.html new file mode 100644 index 0000000..f87c369 --- /dev/null +++ b/layouts/partials/navigators/next-prev-navigator.html @@ -0,0 +1,33 @@ +
+{{ $currentPage := . }} +{{ range (where site.RegularPages.ByDate "Type" "in" site.Params.mainSections )}} + {{ if eq .RelPermalink $currentPage.RelPermalink }} + {{ if .Next }} + {{ if (in site.Params.mainSections .Next.Type) }} + + {{ end }} + {{ end }} + {{ if .Prev }} + {{ if (in site.Params.mainSections .Prev.Type) }} + {{ $columnWidth:="col-md-12" }} + {{ if .Next }} + {{ if (in site.Params.mainSections .Next.Type) }} + {{ $columnWidth = "col-md-6" }} + {{ end }} + {{ end}} + + {{ end }} + {{ end }} + {{ end }} +{{ end }} +
diff --git a/layouts/partials/navigators/sidebar.html b/layouts/partials/navigators/sidebar.html new file mode 100644 index 0000000..5323c9c --- /dev/null +++ b/layouts/partials/navigators/sidebar.html @@ -0,0 +1,22 @@ +{{ range .menuItems }} + {{ $class:= "" }} + {{ $icon:= "fa-plus-circle" }} + + {{ if or ($.ctx.HasMenuCurrent $.menuName .) ($.ctx.IsMenuCurrent $.menuName .)}} + {{ $icon = "fa-minus-circle"}} + {{ $class = "active" }} + {{end}} + {{ if .HasChildren }} + +
  • + {{.Name}} + +
      + {{ partial "navigators/sidebar.html" (dict "menuName" $.menuName "menuItems" .Children "ctx" $.ctx) }} +
    +
  • + {{ else }} + +
  • {{.Name}}
  • + {{ end }} +{{ end }} diff --git a/layouts/partials/progress/soft-skills.html b/layouts/partials/progress/soft-skills.html deleted file mode 100644 index 4c32067..0000000 --- a/layouts/partials/progress/soft-skills.html +++ /dev/null @@ -1,13 +0,0 @@ -
    -
    - - - - - - -
    {{ .name }}
    -
    -
    diff --git a/layouts/partials/projects.html b/layouts/partials/projects.html deleted file mode 100644 index 3d2d371..0000000 --- a/layouts/partials/projects.html +++ /dev/null @@ -1,21 +0,0 @@ -
    - {{ if .Site.Data.projects }} -

    Projects

    -
    -
    - {{ range .Site.Data.projects.buttons }} - - {{ end }} -
    -
    -
    -
    - {{ range .Site.Data.projects.projects }} - {{ partial "cards/project" . }} - {{ end }} -
    -
    - {{ end }} -
    diff --git a/layouts/partials/recent-posts.html b/layouts/partials/recent-posts.html deleted file mode 100644 index 10508f4..0000000 --- a/layouts/partials/recent-posts.html +++ /dev/null @@ -1,10 +0,0 @@ -
    -

    Recent Posts

    -
    -
    - {{ range first 3 (where .Site.RegularPages.ByDate.Reverse "Type" "in" site.Params.mainSections )}} - {{ partial "cards/recent-post.html" . }} - {{ end }} -
    -
    -
    diff --git a/layouts/partials/scripts.html b/layouts/partials/scripts.html index 0f8ff25..f4d92d9 100644 --- a/layouts/partials/scripts.html +++ b/layouts/partials/scripts.html @@ -1,5 +1,7 @@ - - + + + - - + + + diff --git a/layouts/partials/sections.html b/layouts/partials/sections.html deleted file mode 100644 index d847fb5..0000000 --- a/layouts/partials/sections.html +++ /dev/null @@ -1,11 +0,0 @@ -{{ range . }} -{{ if .Sections }} -
  • {{ title .Title }} -
      - {{ partial "sections.html" .Sections }} -
    -
  • - {{ else }} -
  • {{ title .Title }}
  • - {{ end }} -{{ end }} diff --git a/layouts/partials/sections/about.html b/layouts/partials/sections/about.html new file mode 100644 index 0000000..2999b99 --- /dev/null +++ b/layouts/partials/sections/about.html @@ -0,0 +1,57 @@ +{{ $sectionID := replace (lower .section.name) " " "-" }} +{{ if .section.id }} + {{ $sectionID = .section.id }} +{{ end }} + +{{ $author:= site.Data.author }} +{{ if (index site.Data site.Language.Lang).author }} + {{ $author = (index site.Data site.Language.Lang).author }} +{{ end }} + +
    +
    + +
    +

    {{ $author.name }}

    + {{ if .designation }} +
    + {{ .designation }} + {{ if .company }} + {{ i18n "at"}} {{ .company.name }} + {{ end }} +
    + {{ end }} +

    + {{ .summary | markdownify }} +

    +
    + +
    + {{ if .resume }} + + {{ end }} +
    + +
    +
    + {{ range .softSkills }} + {{ partial "misc/soft-skills.html" . }} + {{ end }} +
    +
    +
    +
    diff --git a/layouts/partials/sections/accomplishments.html b/layouts/partials/sections/accomplishments.html new file mode 100644 index 0000000..9024222 --- /dev/null +++ b/layouts/partials/sections/accomplishments.html @@ -0,0 +1,18 @@ +{{ $sectionID := replace (lower .section.name) " " "-" }} +{{ if .section.id }} + {{ $sectionID = .section.id }} +{{ end }} + +
    + {{ if not (.section.hideTitle) }} +

    {{ .section.name }}

    + {{ end }} + +
    +
    + {{ range .accomplishments }} + {{ partial "cards/accomplishments" . }} + {{ end }} +
    +
    +
    diff --git a/layouts/partials/sections/achievements.html b/layouts/partials/sections/achievements.html new file mode 100644 index 0000000..9744fc7 --- /dev/null +++ b/layouts/partials/sections/achievements.html @@ -0,0 +1,20 @@ +{{ $sectionID := replace (lower .section.name) " " "-" }} +{{ if .section.id }} + {{ $sectionID = .section.id }} +{{ end }} + +
    + {{ if not (.section.hideTitle) }} +

    {{ .section.name }}

    + {{ end }} +
    + +
    + +
    + {{ range .achievements }} + {{ partial "sections/achievements/entry.html" . }} + {{ end }} +
    +
    diff --git a/layouts/partials/sections/achievements/entry.html b/layouts/partials/sections/achievements/entry.html new file mode 100644 index 0000000..ec4727d --- /dev/null +++ b/layouts/partials/sections/achievements/entry.html @@ -0,0 +1,25 @@ +{{ $achievementImage := resources.Get .image }} +{{ $achievementImageLg := ""}} +{{ $achievementImageSm := ""}} + +{{/* resize the images. don't resize svg image because its not supported */}} +{{ if $achievementImage }} + {{ $achievementImageSm = $achievementImage.Resize "x300" }} + {{ $achievementImageSm = $achievementImageSm.RelPermalink }} + {{ $achievementImageLg = $achievementImage.Resize "x1500" }} + {{ $achievementImageLg = $achievementImageLg.RelPermalink }} +{{ end }} +{{/* don't use "background-image: url('{{ $achievementImageSm }}');" Otherwise the images won't show in https://themes.gohugo.io/ */}} +
    + +

    {{ .title }}

    + + + +
    diff --git a/layouts/partials/sections/education-alt.html b/layouts/partials/sections/education-alt.html new file mode 100644 index 0000000..2994fc5 --- /dev/null +++ b/layouts/partials/sections/education-alt.html @@ -0,0 +1,117 @@ +{{ $sectionID := replace (lower .section.name) " " "-" }} +{{ if .section.id }} +{{ $sectionID = .section.id }} +{{ end }} + +
    + {{ if not (.section.hideTitle) }} +

    {{ .section.name }}

    + {{ end }} + +
    + + + {{ range .degrees}} + + + + + + + + {{ end }} + +
    +
    +
    + +
    +
    +
    +
    +
    +
    +
    + {{ if .institution.url }} +
    {{ .institution.name }}
    + {{ else }} +
    {{ .institution.name }}
    + {{ end }} +
    +
    {{ .timeframe }}
    +
    +
    {{ .name }}
    + {{ if .grade }} +
    {{ .grade.scale }}: {{ .grade.achieved }} {{ i18n "out_of" }} {{ .grade.outOf }}
    + {{ end }} + {{ if .publications }} +
    +
    {{i18n "publications"}}
    +
      + {{ range .publications }} + {{ if .url }} +
    • {{ .title }}
    • + {{ else }} +
    • {{ .title }}
    • + {{ end }} + {{ end }} +
    +
    + {{ end }} + {{ if .takenCourses }} +
    +
    {{ i18n "taken_courses" }}
    + {{ if .takenCourses.showGrades }} + {{ $hideScale := .takenCourses.hideScale }} + + + + {{ if not $hideScale }}{{ end }} + + + + {{ range $index,$course := .takenCourses.courses }} + + + {{ if not $hideScale }}{{ end }} + + + {{ end }} + +
    {{ i18n "course_name" }}{{ i18n "total_credit" }}{{ i18n "obtained_credit" }}
    {{ $course.name }}{{ $course.outOf }}{{ $course.achieved }}
    + {{ else }} +
      + {{ range $index,$course := .takenCourses.courses }} +
    • {{ $course.name }}
    • + {{ end }} +
    + {{ end }} + {{ if gt (len .takenCourses.courses) 2 }} + + + {{ end }} +
    + {{ end }} + {{ if .extracurricularActivities }} +
    +
    {{ i18n "extracurricular_activities" }}
    +
      + {{ range .extracurricularActivities }} +
    • {{ . }}
    • + {{ end }} +
    +
    + {{ end }} +
    +
    +
    +
    +
    +
    + +
    +
    +
    +
    \ No newline at end of file diff --git a/layouts/partials/sections/education.html b/layouts/partials/sections/education.html new file mode 100644 index 0000000..59db9a3 --- /dev/null +++ b/layouts/partials/sections/education.html @@ -0,0 +1,108 @@ +{{ $sectionID := replace (lower .section.name) " " "-" }} +{{ if .section.id }} +{{ $sectionID = .section.id }} +{{ end }} + +
    + {{ if not (.section.hideTitle) }} +

    {{ .section.name }}

    + {{ end }} + +
    + + + {{ range .degrees}} + + + + + + {{ end }} + +
    +
    +
    + +
    +
    +
    +
    +
    +
    +
    + {{ if .institution.url }} +
    {{ .institution.name }}
    + {{ else }} +
    {{ .institution.name }}
    + {{ end }} +
    +
    {{ .timeframe }}
    +
    +
    {{ .name }}
    + {{ if .grade }} +
    {{ .grade.scale }}: {{ .grade.achieved }} {{ i18n "out_of"}} {{ .grade.outOf }}
    + {{ end }} + {{ if .publications }} +
    +
    {{ i18n "publications"}}
    +
      + {{ range .publications }} + {{ if .url }} +
    • {{ .title }}
    • + {{ else }} +
    • {{ .title }}
    • + {{ end }} + {{ end }} +
    +
    + {{ end }} + {{ if .takenCourses }} +
    +
    {{ i18n "taken_courses"}}
    + {{ if .takenCourses.showGrades }} + {{ $hideScale := .takenCourses.hideScale }} + + + + {{ if not $hideScale }}{{ end }} + + + + {{ range $index,$course := .takenCourses.courses }} + + + {{ if not $hideScale }}{{ end }} + + + {{ end }} + +
    {{ i18n "course_name"}}{{ i18n "total_credit"}}{{ i18n "obtained_credit"}}
    {{ $course.name }}{{ $course.outOf }}{{ $course.achieved }}
    + {{ else }} +
      + {{ range $index,$course := .takenCourses.courses }} +
    • {{ $course.name }}
    • + {{ end }} +
    + {{ end }} + {{ if gt (len .takenCourses.courses ) 2 }} + + + {{ end }} +
    + {{ end }} + {{ if .extracurricularActivities }} +
    +
    {{ i18n "extracurricular_activities"}}
    +
      + {{ range .extracurricularActivities }} +
    • {{ . }}
    • + {{ end }} +
    +
    + {{ end }} +
    +
    +
    +
    \ No newline at end of file diff --git a/layouts/partials/sections/experiences.html b/layouts/partials/sections/experiences.html new file mode 100644 index 0000000..c0c6ff8 --- /dev/null +++ b/layouts/partials/sections/experiences.html @@ -0,0 +1,30 @@ +{{ $sectionID := replace (lower .section.name) " " "-" }} +{{ if .section.id }} + {{ $sectionID = .section.id }} +{{ end }} + +
    + {{ if not (.section.hideTitle) }} +

    {{ .section.name }}

    + {{ end }} + +
    + {{ $totalExperiences:= len .experiences }} + {{ range $index,$experience:= .experiences }} + {{ if eq (mod $index 2) 0 }} +
    + {{ partial "sections/experiences/vertical-line.html" $index }} + {{ partial "sections/experiences/experience-info.html" $experience }} +
    + {{else}} +
    + {{ partial "sections/experiences/experience-info.html" $experience }} + {{ partial "sections/experiences/vertical-line.html" $index }} +
    + {{ end }} + {{ if lt $index (sub $totalExperiences 1) }} + {{ partial "sections/experiences/horizontal-line.html" $index }} + {{ end }} + {{ end }} +
    +
    diff --git a/layouts/partials/sections/experiences/experience-info.html b/layouts/partials/sections/experiences/experience-info.html new file mode 100644 index 0000000..d49932c --- /dev/null +++ b/layouts/partials/sections/experiences/experience-info.html @@ -0,0 +1,5 @@ +{{ if gt (len .positions) 1 }} + {{ partial "sections/experiences/multiple-positions" . }} +{{ else }} + {{ partial "sections/experiences/single-position.html" . }} +{{ end }} diff --git a/layouts/partials/experiences/horizontal-line.html b/layouts/partials/sections/experiences/horizontal-line.html similarity index 100% rename from layouts/partials/experiences/horizontal-line.html rename to layouts/partials/sections/experiences/horizontal-line.html diff --git a/layouts/partials/sections/experiences/multiple-positions.html b/layouts/partials/sections/experiences/multiple-positions.html new file mode 100644 index 0000000..1c77f53 --- /dev/null +++ b/layouts/partials/sections/experiences/multiple-positions.html @@ -0,0 +1,29 @@ +
    +
    + +
    {{ if .company.url }}{{ .company.name }}{{ else }}{{ .company.name }}{{ end }}
    + + + {{ $oldestPosition := index (last 1 .positions) 0}} + {{ $mostRecentPosition := index (first 1 .positions) 0}} +

    + {{ $oldestPosition.start }} - {{ if $mostRecentPosition.end }}{{ $mostRecentPosition.end }}{{ else }}{{ i18n "present" }}{{ end }}, + {{ .company.location }} +

    + +

    {{ .company.overview | markdownify }}

    +
    + +
    + {{ range $index,$position:= .positions }} +
    {{ $position.designation }}
    +

    {{ $position.start }} - {{if $position.end }} {{ $position.end }} {{else}} {{ i18n "present" }} {{end}}

    + +
      + {{ range $position.responsibilities }} +
    • {{ . | markdownify }}
    • + {{ end }} +
    + {{ end }} +
    +
    diff --git a/layouts/partials/sections/experiences/single-position.html b/layouts/partials/sections/experiences/single-position.html new file mode 100644 index 0000000..c19c31d --- /dev/null +++ b/layouts/partials/sections/experiences/single-position.html @@ -0,0 +1,21 @@ +
    +
    + {{ $position:= index .positions 0 }} + +
    {{ $position.designation }}
    +
    {{ if .company.url }}{{ .company.name }}{{ else }}{{ .company.name }}{{ end }}
    + +

    {{ $position.start }} - {{ if $position.end }}{{ $position.end }}{{ else }}{{ i18n "present" }}{{ end }}, + {{ .company.location }} +

    +
    + +

    {{ .company.overview | markdownify }}

    + +
    {{ i18n "responsibilities" }}
    +
      + {{ range $position.responsibilities }} +
    • {{ . | markdownify }}
    • + {{ end }} +
    +
    diff --git a/layouts/partials/experiences/vertical-line.html b/layouts/partials/sections/experiences/vertical-line.html similarity index 100% rename from layouts/partials/experiences/vertical-line.html rename to layouts/partials/sections/experiences/vertical-line.html diff --git a/layouts/partials/sections/home.html b/layouts/partials/sections/home.html new file mode 100644 index 0000000..6ab4cba --- /dev/null +++ b/layouts/partials/sections/home.html @@ -0,0 +1,134 @@ +{{ $author:= site.Data.author }} +{{ if (index site.Data site.Language.Lang).author }} + {{ $author = (index site.Data site.Language.Lang).author }} +{{ end }} + +{{ $name:="Jane Doe" }} +{{ if $author.nickname }} + {{ $name = $author.nickname }} +{{ else if $author.name }} + {{ $name = $author.name }} +{{ end }} + +{{ $sections:= site.Data.sections }} +{{ if (index site.Data site.Language.Lang).sections }} + {{ $sections = (index site.Data site.Language.Lang).sections }} +{{ end }} + +{{ $backgroundImage:= "/images/default-background.jpg" }} +{{ if site.Params.background }} + {{ $backgroundImage = site.Params.background }} +{{ end }} + + +{{ $authorImage:= "/images/default-avatar.png" }} +{{ if $author.image }} + {{ $authorImage = $author.image }} +{{ end }} +{{ $authorImage := resources.Get $authorImage }} +{{ $authorImage := $authorImage.Fit "148x148" }} + +{{/* get file that matches the filename as specified as src="" in shortcode */}} +{{ $src := resources.Get $backgroundImage }} + +{{/* set image sizes, these are hardcoded for now, x dictates that images are resized to this width */}} + +{{ $tinyw := default "500x" }} +{{ $smallw := default "800x" }} +{{ $mediumw := default "1200x" }} +{{ $largew := default "1500x" }} + +{{/* resize the src image to the given sizes */}} + +{{ $tiny := $src.Resize $tinyw }} +{{ $small := $src.Resize $smallw }} +{{ $medium := $src.Resize $mediumw }} +{{ $large := $src.Resize $largew }} + +{{/* only use images smaller than or equal to the src (original) image size, as Hugo will upscale small images */}} +{{/* set the sizes attribute to (min-width: 35em) 1200px, 100vw unless overridden in shortcode */}} + +{{ if lt $src.Width "500" }} + {{ $tiny := $src}} + {{ $small := $src}} + {{ $medium := $src}} + {{ $large := $src}} +{{ end }} + +{{ if lt $src.Width "800" }} + {{ $small := $src}} + {{ $medium := $src}} + {{ $large := $src}} +{{ end }} + +{{ if lt $src.Width "1200" }} + {{ $medium := $src}} + {{ $large := $src}} +{{ end }} + +{{ if lt $src.Width "1500" }} + {{ $large := $src}} +{{ end }} + +
    + + +
    +
    + Author Image +

    {{ $author.greeting }} {{ $name }}

    + + + {{ if $sections }} + {{ range first 1 (where (sort $sections "section.weight") ".section.enable" true) }} + {{ $sectionID := replace (lower .section.name) " " "-" }} + {{ if .section.id }} + {{ $sectionID = .section.id }} + {{ end }} + + {{ end }} + {{ end }} +
    +
    diff --git a/layouts/partials/sections/projects.html b/layouts/partials/sections/projects.html new file mode 100644 index 0000000..dd3ec39 --- /dev/null +++ b/layouts/partials/sections/projects.html @@ -0,0 +1,26 @@ +{{ $sectionID := replace (lower .section.name) " " "-" }} +{{ if .section.id }} + {{ $sectionID = .section.id }} +{{ end }} + +
    + {{ if not (.section.hideTitle) }} +

    {{ .section.name }}

    + {{ end }} +
    +
    + {{ range .buttons }} + + {{ end }} +
    +
    +
    +
    + {{ range .projects }} + {{ partial "cards/project" . }} + {{ end }} +
    +
    +
    diff --git a/layouts/partials/sections/recent-posts.html b/layouts/partials/sections/recent-posts.html new file mode 100644 index 0000000..937bdff --- /dev/null +++ b/layouts/partials/sections/recent-posts.html @@ -0,0 +1,17 @@ +{{ $sectionID := replace (lower .section.name) " " "-" }} +{{ if .section.id }} + {{ $sectionID = .section.id }} +{{ end }} + +
    + {{ if not (.section.hideTitle) }} +

    {{ .section.name }}

    + {{ end }} +
    +
    + {{ range first 3 (where site.RegularPages.ByDate.Reverse "Type" "in" "posts" )}} + {{ partial "cards/recent-post.html" . }} + {{ end }} +
    +
    +
    diff --git a/layouts/partials/sections/skills.html b/layouts/partials/sections/skills.html new file mode 100644 index 0000000..0bfb92b --- /dev/null +++ b/layouts/partials/sections/skills.html @@ -0,0 +1,17 @@ +{{ $sectionID := replace (lower .section.name) " " "-" }} +{{ if .section.id }} + {{ $sectionID = .section.id }} +{{ end }} + +
    + {{ if not (.section.hideTitle) }} +

    {{ .section.name }}

    + {{ end }} +
    +
    + {{ range .skills }} + {{ partial "cards/skill.html" . }} + {{ end }} +
    +
    +
    diff --git a/layouts/partials/skills.html b/layouts/partials/skills.html deleted file mode 100644 index 8088b4d..0000000 --- a/layouts/partials/skills.html +++ /dev/null @@ -1,13 +0,0 @@ -
    - {{ if .Site.Data.skills }} -

    Skills

    - -
    -
    - {{ range .Site.Data.skills.skills }} - {{ partial "cards/skill.html" . }} - {{ end }} -
    -
    - {{ end }} -
    diff --git a/layouts/shortcodes/alert.html b/layouts/shortcodes/alert.html new file mode 100644 index 0000000..ee1eb02 --- /dev/null +++ b/layouts/shortcodes/alert.html @@ -0,0 +1,3 @@ +
    + {{.Inner | markdownify }} +
    diff --git a/layouts/shortcodes/note.html b/layouts/shortcodes/note.html new file mode 100644 index 0000000..ffa3663 --- /dev/null +++ b/layouts/shortcodes/note.html @@ -0,0 +1,10 @@ +
    +
    +
    {{ .Get "title" }}
    + {{ range $idx, $val := split .Inner "---" }} +
    +
    {{ $val | markdownify }}
    +
    + {{ end }} +
    +
    diff --git a/layouts/shortcodes/rimg.html b/layouts/shortcodes/rimg.html new file mode 100644 index 0000000..e21d3f4 --- /dev/null +++ b/layouts/shortcodes/rimg.html @@ -0,0 +1,53 @@ +{{/* Combination of code taken from: https://alexlakatos.com/web/2020/07/17/hugo-image-processing/ & https://dev.to/stereobooster/responsive-images-for-hugo-dn9}} + +{{/* get file that matches the filename as specified as src="" in shortcode */}} +{{ $src := resources.GetMatch (.Get "src") }} + +{{ if in (.Get "src") "http" }} + +{{ else }} + {{ if in (.Get "src") ".gif" }} + + {{ else }} + {{/* set image sizes, these are hardcoded for now */}} + + {{ $tinyw := default "500x" }} + {{ $smallw := default "800x" }} + {{ $mediumw := default "1200x" }} + {{ $largew := default "1500x" }} + + {{/* resize the src image to the given sizes */}} + + {{ $tiny := $src.Resize $tinyw }} + {{ $small := $src.Resize $smallw }} + {{ $medium := $src.Resize $mediumw }} + {{ $large := $src.Resize $largew }} + + {{/* add the processed images to the scratch */}} + + + {{/* only use images smaller than or equal to the src (original) image size */}} + + {{ end }} +{{ end }} diff --git a/layouts/shortcodes/video.html b/layouts/shortcodes/video.html new file mode 100644 index 0000000..b42d10f --- /dev/null +++ b/layouts/shortcodes/video.html @@ -0,0 +1,13 @@ +{{ $src := .Get "src" }} +{{ $type := .Get "type" }} +{{/* + A page can have multiple videos. We need to generate unique id for them. + Here, we are generating a sequence from 1 to 200 and taking the first element after a shuffle. + This will give a random number in most cases. However, if the page has many videos, we might have a collision. + We should find a better approach for doing this. +*/}} +{{ $randNumber := index (seq 200 | shuffle) 0 }} + + diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..3932a75 --- /dev/null +++ b/package-lock.json @@ -0,0 +1,2186 @@ +{ + "name": "toha", + "version": "1.0.0", + "lockfileVersion": 2, + "requires": true, + "packages": { + "": { + "version": "1.0.0", + "license": "MIT", + "devDependencies": { + "autoprefixer": "^9.8.6", + "postcss-cli": "^7.1.2" + } + }, + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.3.tgz", + "integrity": "sha512-eGmwYQn3gxo4r7jdQnkrrN6bY478C3P+a/y72IJukF8LjB6ZHeB3c+Ehacj3sYeSmUXGlnA67/PmbM9CVwL7Dw==", + "dev": true, + "dependencies": { + "@nodelib/fs.stat": "2.0.3", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.stat": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.3.tgz", + "integrity": "sha512-bQBFruR2TAwoevBEd/NWMoAAtNGzTRgdrqnYCc7dhzfoNvqPzLyqlEQnzZ3kVnNrSp25iyxE00/3h2fqGAGArA==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.walk": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.4.tgz", + "integrity": "sha512-1V9XOY4rDW0rehzbrcqAmHnz8e7SKvX27gh8Gt2WgB0+pdzdiLV83p72kZPU+jvMbS1qU5mauP2iOvO8rhmurQ==", + "dev": true, + "dependencies": { + "@nodelib/fs.scandir": "2.1.3", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/ansi-regex": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/anymatch": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz", + "integrity": "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==", + "dev": true, + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, + "dependencies": { + "sprintf-js": "~1.0.2" + } + }, + "node_modules/array-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/at-least-node": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", + "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==", + "dev": true, + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/autoprefixer": { + "version": "9.8.6", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-9.8.6.tgz", + "integrity": "sha512-XrvP4VVHdRBCdX1S3WXVD8+RyG9qeb1D5Sn1DeLiG2xfSpzellk5k54xbUERJ3M5DggQxes39UGOTP8CFrEGbg==", + "dev": true, + "dependencies": { + "browserslist": "^4.12.0", + "caniuse-lite": "^1.0.30001109", + "colorette": "^1.2.1", + "normalize-range": "^0.1.2", + "num2fraction": "^1.2.2", + "postcss": "^7.0.32", + "postcss-value-parser": "^4.1.0" + }, + "bin": { + "autoprefixer": "bin/autoprefixer" + } + }, + "node_modules/binary-extensions": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.1.0.tgz", + "integrity": "sha512-1Yj8h9Q+QDF5FzhMs/c9+6UntbD5MkRfRwac8DoEm9ZfUBZ7tZ55YcGVAzEe4bXsdQHEk+s9S5wsOKVdZrw0tQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/browserslist": { + "version": "4.14.5", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.14.5.tgz", + "integrity": "sha512-Z+vsCZIvCBvqLoYkBFTwEYH3v5MCQbsAjp50ERycpOjnPmolg1Gjy4+KaWWpm8QOJt9GHkhdqAl14NpCX73CWA==", + "dev": true, + "dependencies": { + "caniuse-lite": "^1.0.30001135", + "electron-to-chromium": "^1.3.571", + "escalade": "^3.1.0", + "node-releases": "^1.1.61" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/caller-callsite": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/caller-callsite/-/caller-callsite-2.0.0.tgz", + "integrity": "sha1-hH4PzgoiN1CpoCfFSzNzGtMVQTQ=", + "dev": true, + "dependencies": { + "callsites": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/caller-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-2.0.0.tgz", + "integrity": "sha1-Ro+DBE42mrIBD6xfBs7uFbsssfQ=", + "dev": true, + "dependencies": { + "caller-callsite": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/callsites": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-2.0.0.tgz", + "integrity": "sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001154", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001154.tgz", + "integrity": "sha512-y9DvdSti8NnYB9Be92ddMZQrcOe04kcQtcxtBx4NkB04+qZ+JUWotnXBJTmxlKudhxNTQ3RRknMwNU2YQl/Org==", + "dev": true + }, + "node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/chalk/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/chokidar": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.4.3.tgz", + "integrity": "sha512-DtM3g7juCXQxFVSNPNByEC2+NImtBuxQQvWlHunpJIS5Ocr0lG306cC7FCi7cEA0fzmybPUIl4txBIobk1gGOQ==", + "dev": true, + "dependencies": { + "anymatch": "~3.1.1", + "braces": "~3.0.2", + "glob-parent": "~5.1.0", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.5.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "optionalDependencies": { + "fsevents": "~2.1.2" + } + }, + "node_modules/cliui": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", + "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", + "dev": true, + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^6.2.0" + } + }, + "node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true + }, + "node_modules/colorette": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.2.1.tgz", + "integrity": "sha512-puCDz0CzydiSYOrnXpz/PKd69zRrribezjtE9yd4zvytoRc8+RY/KJPvtPFKZS3E3wP6neGyMe0vOTlHO5L3Pw==", + "dev": true + }, + "node_modules/cosmiconfig": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.2.1.tgz", + "integrity": "sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA==", + "dev": true, + "dependencies": { + "import-fresh": "^2.0.0", + "is-directory": "^0.3.1", + "js-yaml": "^3.13.1", + "parse-json": "^4.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/dependency-graph": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/dependency-graph/-/dependency-graph-0.9.0.tgz", + "integrity": "sha512-9YLIBURXj4DJMFALxXw9K3Y3rwb5Fk0X5/8ipCzaN84+gKxoHK43tVKRNakCQbiEx07E8Uwhuq21BpUagFhZ8w==", + "dev": true, + "engines": { + "node": ">= 0.6.0" + } + }, + "node_modules/dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "dev": true, + "dependencies": { + "path-type": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/electron-to-chromium": { + "version": "1.3.585", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.585.tgz", + "integrity": "sha512-xoeqjMQhgHDZM7FiglJAb2aeOxHZWFruUc3MbAGTgE7GB8rr5fTn1Sdh5THGuQtndU3GuXlu91ZKqRivxoCZ/A==", + "dev": true + }, + "node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "node_modules/error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "dev": true, + "dependencies": { + "is-arrayish": "^0.2.1" + } + }, + "node_modules/escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "dev": true, + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/fast-glob": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.4.tgz", + "integrity": "sha512-kr/Oo6PX51265qeuCYsyGypiO5uJFgBS0jksyG7FUeCyQzNwYnzrNIMR1NXfkZXsMYXYLRAHgISHBz8gQcxKHQ==", + "dev": true, + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.0", + "merge2": "^1.3.0", + "micromatch": "^4.0.2", + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/fastq": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.9.0.tgz", + "integrity": "sha512-i7FVWL8HhVY+CTkwFxkN2mk3h+787ixS5S63eb78diVRc1MCssarHq3W5cj0av7YDSwmaV928RNag+U1etRQ7w==", + "dev": true, + "dependencies": { + "reusify": "^1.0.4" + } + }, + "node_modules/fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/fs-extra": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.0.1.tgz", + "integrity": "sha512-h2iAoN838FqAFJY2/qVpzFXy+EBxfVE220PalAqQLDVsFOHLJrZvut5puAbCdNv6WJk+B8ihI+k0c7JK5erwqQ==", + "dev": true, + "dependencies": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^1.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/fsevents": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.3.tgz", + "integrity": "sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==", + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "dev": true, + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/get-stdin": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-8.0.0.tgz", + "integrity": "sha512-sY22aA6xchAzprjyqmSEQv4UbAAzRN0L2dQB0NlN5acTTK9Don6nhoc3eAbUnpZiCANAMfd/+40kVdKfFygohg==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/glob-parent": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.1.tgz", + "integrity": "sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/globby": { + "version": "11.0.1", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.0.1.tgz", + "integrity": "sha512-iH9RmgwCmUJHi2z5o2l3eTtGBtXek1OYlHrbcxOYugyHLmAsZrPj43OtHThd62Buh/Vv6VyCBD2bdyWcGNQqoQ==", + "dev": true, + "dependencies": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.1.1", + "ignore": "^5.1.4", + "merge2": "^1.3.0", + "slash": "^3.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz", + "integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==", + "dev": true + }, + "node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/ignore": { + "version": "5.1.8", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.8.tgz", + "integrity": "sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw==", + "dev": true, + "engines": { + "node": ">= 4" + } + }, + "node_modules/import-cwd": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/import-cwd/-/import-cwd-2.1.0.tgz", + "integrity": "sha1-qmzzbnInYShcs3HsZRn1PiQ1sKk=", + "dev": true, + "dependencies": { + "import-from": "^2.1.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/import-fresh": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-2.0.0.tgz", + "integrity": "sha1-2BNVwVYS04bGH53dOSLUMEgipUY=", + "dev": true, + "dependencies": { + "caller-path": "^2.0.0", + "resolve-from": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/import-from": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/import-from/-/import-from-2.1.0.tgz", + "integrity": "sha1-M1238qev/VOqpHHUuAId7ja387E=", + "dev": true, + "dependencies": { + "resolve-from": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", + "dev": true + }, + "node_modules/is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dev": true, + "dependencies": { + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-directory": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/is-directory/-/is-directory-0.3.1.tgz", + "integrity": "sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-glob": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", + "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", + "dev": true, + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/js-yaml": { + "version": "3.14.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.0.tgz", + "integrity": "sha512-/4IbIeHcD9VMHFqDR/gQ7EdZdLimOvW2DdcxFjdyyZ9NsbS+ccrXqVWDtab/lRl5AlUqmpBx8EhPaWR+OtY17A==", + "dev": true, + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/json-parse-better-errors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", + "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", + "dev": true + }, + "node_modules/jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.1.6", + "universalify": "^2.0.0" + } + }, + "node_modules/jsonfile/node_modules/universalify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", + "dev": true, + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/lodash": { + "version": "4.17.20", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz", + "integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==", + "dev": true + }, + "node_modules/log-symbols": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-2.2.0.tgz", + "integrity": "sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg==", + "dev": true, + "dependencies": { + "chalk": "^2.0.1" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/micromatch": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", + "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==", + "dev": true, + "dependencies": { + "braces": "^3.0.1", + "picomatch": "^2.0.5" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/node-releases": { + "version": "1.1.65", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.65.tgz", + "integrity": "sha512-YpzJOe2WFIW0V4ZkJQd/DGR/zdVwc/pI4Nl1CZrBO19FdRcSTmsuhdttw9rsTzzJLrNcSloLiBbEYx1C4f6gpA==", + "dev": true + }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/normalize-range": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", + "integrity": "sha1-LRDAa9/TEuqXd2laTShDlFa3WUI=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/num2fraction": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/num2fraction/-/num2fraction-1.2.2.tgz", + "integrity": "sha1-b2gragJ6Tp3fpFZM0lidHU5mnt4=", + "dev": true + }, + "node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", + "dev": true, + "dependencies": { + "error-ex": "^1.3.1", + "json-parse-better-errors": "^1.0.1" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/picomatch": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz", + "integrity": "sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==", + "dev": true, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/postcss": { + "version": "7.0.35", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", + "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", + "dev": true, + "dependencies": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/postcss-cli": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/postcss-cli/-/postcss-cli-7.1.2.tgz", + "integrity": "sha512-3mlEmN1v2NVuosMWZM2tP8bgZn7rO5PYxRRrXtdSyL5KipcgBDjJ9ct8/LKxImMCJJi3x5nYhCGFJOkGyEqXBQ==", + "dev": true, + "dependencies": { + "chalk": "^4.0.0", + "chokidar": "^3.3.0", + "dependency-graph": "^0.9.0", + "fs-extra": "^9.0.0", + "get-stdin": "^8.0.0", + "globby": "^11.0.0", + "postcss": "^7.0.0", + "postcss-load-config": "^2.0.0", + "postcss-reporter": "^6.0.0", + "pretty-hrtime": "^1.0.3", + "read-cache": "^1.0.0", + "yargs": "^15.0.2" + }, + "bin": { + "postcss": "bin/postcss" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/postcss-cli/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/postcss-cli/node_modules/chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/postcss-cli/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/postcss-cli/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/postcss-cli/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/postcss-cli/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/postcss-load-config": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-2.1.2.tgz", + "integrity": "sha512-/rDeGV6vMUo3mwJZmeHfEDvwnTKKqQ0S7OHUi/kJvvtx3aWtyWG2/0ZWnzCt2keEclwN6Tf0DST2v9kITdOKYw==", + "dev": true, + "dependencies": { + "cosmiconfig": "^5.0.0", + "import-cwd": "^2.0.0" + }, + "engines": { + "node": ">= 4" + } + }, + "node_modules/postcss-reporter": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/postcss-reporter/-/postcss-reporter-6.0.1.tgz", + "integrity": "sha512-LpmQjfRWyabc+fRygxZjpRxfhRf9u/fdlKf4VHG4TSPbV2XNsuISzYW1KL+1aQzx53CAppa1bKG4APIB/DOXXw==", + "dev": true, + "dependencies": { + "chalk": "^2.4.1", + "lodash": "^4.17.11", + "log-symbols": "^2.2.0", + "postcss": "^7.0.7" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/postcss-value-parser": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.1.0.tgz", + "integrity": "sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ==", + "dev": true + }, + "node_modules/pretty-hrtime": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz", + "integrity": "sha1-t+PqQkNaTJsnWdmeDyAesZWALuE=", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/read-cache": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz", + "integrity": "sha1-5mTvMRYRZsl1HNvo28+GtftY93Q=", + "dev": true, + "dependencies": { + "pify": "^2.3.0" + } + }, + "node_modules/readdirp": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.5.0.tgz", + "integrity": "sha512-cMhu7c/8rdhkHXWsY+osBhfSy0JikwpHK/5+imo+LpeasTF8ouErHrlYkwT0++njiyuDvc7OFY5T3ukvZ8qmFQ==", + "dev": true, + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, + "node_modules/require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/require-main-filename": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", + "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", + "dev": true + }, + "node_modules/resolve-from": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", + "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "dev": true, + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "node_modules/run-parallel": { + "version": "1.1.10", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.1.10.tgz", + "integrity": "sha512-zb/1OuZ6flOlH6tQyMPUrE3x3Ulxjlo9WIVXR4yVYi4H9UXQaeIsPbLn2R3O3vQCnDKkAl2qHiuocKKX4Tz/Sw==", + "dev": true + }, + "node_modules/set-blocking": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", + "dev": true + }, + "node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", + "dev": true + }, + "node_modules/string-width": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz", + "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==", + "dev": true, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-ansi": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", + "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/universalify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-1.0.0.tgz", + "integrity": "sha512-rb6X1W158d7pRQBg5gkR8uPaSfiids68LTJQYOtEUhoJUWBdaQHsuT/EUduxXYxcrt4r5PJ4fuHW1MHT6p0qug==", + "dev": true, + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/which-module": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", + "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", + "dev": true + }, + "node_modules/wrap-ansi": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", + "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/wrap-ansi/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/wrap-ansi/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/wrap-ansi/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/y18n": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz", + "integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==", + "dev": true + }, + "node_modules/yargs": { + "version": "15.4.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz", + "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==", + "dev": true, + "dependencies": { + "cliui": "^6.0.0", + "decamelize": "^1.2.0", + "find-up": "^4.1.0", + "get-caller-file": "^2.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^4.2.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^18.1.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/yargs-parser": { + "version": "18.1.3", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", + "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", + "dev": true, + "dependencies": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + }, + "engines": { + "node": ">=6" + } + } + }, + "dependencies": { + "@nodelib/fs.scandir": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.3.tgz", + "integrity": "sha512-eGmwYQn3gxo4r7jdQnkrrN6bY478C3P+a/y72IJukF8LjB6ZHeB3c+Ehacj3sYeSmUXGlnA67/PmbM9CVwL7Dw==", + "dev": true, + "requires": { + "@nodelib/fs.stat": "2.0.3", + "run-parallel": "^1.1.9" + } + }, + "@nodelib/fs.stat": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.3.tgz", + "integrity": "sha512-bQBFruR2TAwoevBEd/NWMoAAtNGzTRgdrqnYCc7dhzfoNvqPzLyqlEQnzZ3kVnNrSp25iyxE00/3h2fqGAGArA==", + "dev": true + }, + "@nodelib/fs.walk": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.4.tgz", + "integrity": "sha512-1V9XOY4rDW0rehzbrcqAmHnz8e7SKvX27gh8Gt2WgB0+pdzdiLV83p72kZPU+jvMbS1qU5mauP2iOvO8rhmurQ==", + "dev": true, + "requires": { + "@nodelib/fs.scandir": "2.1.3", + "fastq": "^1.6.0" + } + }, + "ansi-regex": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", + "dev": true + }, + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "anymatch": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz", + "integrity": "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==", + "dev": true, + "requires": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + } + }, + "argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, + "requires": { + "sprintf-js": "~1.0.2" + } + }, + "array-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", + "dev": true + }, + "at-least-node": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", + "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==", + "dev": true + }, + "autoprefixer": { + "version": "9.8.6", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-9.8.6.tgz", + "integrity": "sha512-XrvP4VVHdRBCdX1S3WXVD8+RyG9qeb1D5Sn1DeLiG2xfSpzellk5k54xbUERJ3M5DggQxes39UGOTP8CFrEGbg==", + "dev": true, + "requires": { + "browserslist": "^4.12.0", + "caniuse-lite": "^1.0.30001109", + "colorette": "^1.2.1", + "normalize-range": "^0.1.2", + "num2fraction": "^1.2.2", + "postcss": "^7.0.32", + "postcss-value-parser": "^4.1.0" + } + }, + "binary-extensions": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.1.0.tgz", + "integrity": "sha512-1Yj8h9Q+QDF5FzhMs/c9+6UntbD5MkRfRwac8DoEm9ZfUBZ7tZ55YcGVAzEe4bXsdQHEk+s9S5wsOKVdZrw0tQ==", + "dev": true + }, + "braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "requires": { + "fill-range": "^7.0.1" + } + }, + "browserslist": { + "version": "4.14.5", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.14.5.tgz", + "integrity": "sha512-Z+vsCZIvCBvqLoYkBFTwEYH3v5MCQbsAjp50ERycpOjnPmolg1Gjy4+KaWWpm8QOJt9GHkhdqAl14NpCX73CWA==", + "dev": true, + "requires": { + "caniuse-lite": "^1.0.30001135", + "electron-to-chromium": "^1.3.571", + "escalade": "^3.1.0", + "node-releases": "^1.1.61" + } + }, + "caller-callsite": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/caller-callsite/-/caller-callsite-2.0.0.tgz", + "integrity": "sha1-hH4PzgoiN1CpoCfFSzNzGtMVQTQ=", + "dev": true, + "requires": { + "callsites": "^2.0.0" + } + }, + "caller-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-2.0.0.tgz", + "integrity": "sha1-Ro+DBE42mrIBD6xfBs7uFbsssfQ=", + "dev": true, + "requires": { + "caller-callsite": "^2.0.0" + } + }, + "callsites": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-2.0.0.tgz", + "integrity": "sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA=", + "dev": true + }, + "camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true + }, + "caniuse-lite": { + "version": "1.0.30001154", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001154.tgz", + "integrity": "sha512-y9DvdSti8NnYB9Be92ddMZQrcOe04kcQtcxtBx4NkB04+qZ+JUWotnXBJTmxlKudhxNTQ3RRknMwNU2YQl/Org==", + "dev": true + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "dependencies": { + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "chokidar": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.4.3.tgz", + "integrity": "sha512-DtM3g7juCXQxFVSNPNByEC2+NImtBuxQQvWlHunpJIS5Ocr0lG306cC7FCi7cEA0fzmybPUIl4txBIobk1gGOQ==", + "dev": true, + "requires": { + "anymatch": "~3.1.1", + "braces": "~3.0.2", + "fsevents": "~2.1.2", + "glob-parent": "~5.1.0", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.5.0" + } + }, + "cliui": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", + "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", + "dev": true, + "requires": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^6.2.0" + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true + }, + "colorette": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.2.1.tgz", + "integrity": "sha512-puCDz0CzydiSYOrnXpz/PKd69zRrribezjtE9yd4zvytoRc8+RY/KJPvtPFKZS3E3wP6neGyMe0vOTlHO5L3Pw==", + "dev": true + }, + "cosmiconfig": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.2.1.tgz", + "integrity": "sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA==", + "dev": true, + "requires": { + "import-fresh": "^2.0.0", + "is-directory": "^0.3.1", + "js-yaml": "^3.13.1", + "parse-json": "^4.0.0" + } + }, + "decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", + "dev": true + }, + "dependency-graph": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/dependency-graph/-/dependency-graph-0.9.0.tgz", + "integrity": "sha512-9YLIBURXj4DJMFALxXw9K3Y3rwb5Fk0X5/8ipCzaN84+gKxoHK43tVKRNakCQbiEx07E8Uwhuq21BpUagFhZ8w==", + "dev": true + }, + "dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "dev": true, + "requires": { + "path-type": "^4.0.0" + } + }, + "electron-to-chromium": { + "version": "1.3.585", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.585.tgz", + "integrity": "sha512-xoeqjMQhgHDZM7FiglJAb2aeOxHZWFruUc3MbAGTgE7GB8rr5fTn1Sdh5THGuQtndU3GuXlu91ZKqRivxoCZ/A==", + "dev": true + }, + "emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "dev": true, + "requires": { + "is-arrayish": "^0.2.1" + } + }, + "escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "dev": true + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "dev": true + }, + "esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "dev": true + }, + "fast-glob": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.4.tgz", + "integrity": "sha512-kr/Oo6PX51265qeuCYsyGypiO5uJFgBS0jksyG7FUeCyQzNwYnzrNIMR1NXfkZXsMYXYLRAHgISHBz8gQcxKHQ==", + "dev": true, + "requires": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.0", + "merge2": "^1.3.0", + "micromatch": "^4.0.2", + "picomatch": "^2.2.1" + } + }, + "fastq": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.9.0.tgz", + "integrity": "sha512-i7FVWL8HhVY+CTkwFxkN2mk3h+787ixS5S63eb78diVRc1MCssarHq3W5cj0av7YDSwmaV928RNag+U1etRQ7w==", + "dev": true, + "requires": { + "reusify": "^1.0.4" + } + }, + "fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "requires": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + } + }, + "fs-extra": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.0.1.tgz", + "integrity": "sha512-h2iAoN838FqAFJY2/qVpzFXy+EBxfVE220PalAqQLDVsFOHLJrZvut5puAbCdNv6WJk+B8ihI+k0c7JK5erwqQ==", + "dev": true, + "requires": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^1.0.0" + } + }, + "fsevents": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.3.tgz", + "integrity": "sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==", + "dev": true, + "optional": true + }, + "get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "dev": true + }, + "get-stdin": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-8.0.0.tgz", + "integrity": "sha512-sY22aA6xchAzprjyqmSEQv4UbAAzRN0L2dQB0NlN5acTTK9Don6nhoc3eAbUnpZiCANAMfd/+40kVdKfFygohg==", + "dev": true + }, + "glob-parent": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.1.tgz", + "integrity": "sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ==", + "dev": true, + "requires": { + "is-glob": "^4.0.1" + } + }, + "globby": { + "version": "11.0.1", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.0.1.tgz", + "integrity": "sha512-iH9RmgwCmUJHi2z5o2l3eTtGBtXek1OYlHrbcxOYugyHLmAsZrPj43OtHThd62Buh/Vv6VyCBD2bdyWcGNQqoQ==", + "dev": true, + "requires": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.1.1", + "ignore": "^5.1.4", + "merge2": "^1.3.0", + "slash": "^3.0.0" + } + }, + "graceful-fs": { + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz", + "integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==", + "dev": true + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true + }, + "ignore": { + "version": "5.1.8", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.8.tgz", + "integrity": "sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw==", + "dev": true + }, + "import-cwd": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/import-cwd/-/import-cwd-2.1.0.tgz", + "integrity": "sha1-qmzzbnInYShcs3HsZRn1PiQ1sKk=", + "dev": true, + "requires": { + "import-from": "^2.1.0" + } + }, + "import-fresh": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-2.0.0.tgz", + "integrity": "sha1-2BNVwVYS04bGH53dOSLUMEgipUY=", + "dev": true, + "requires": { + "caller-path": "^2.0.0", + "resolve-from": "^3.0.0" + } + }, + "import-from": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/import-from/-/import-from-2.1.0.tgz", + "integrity": "sha1-M1238qev/VOqpHHUuAId7ja387E=", + "dev": true, + "requires": { + "resolve-from": "^3.0.0" + } + }, + "is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", + "dev": true + }, + "is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dev": true, + "requires": { + "binary-extensions": "^2.0.0" + } + }, + "is-directory": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/is-directory/-/is-directory-0.3.1.tgz", + "integrity": "sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE=", + "dev": true + }, + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true + }, + "is-glob": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", + "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", + "dev": true, + "requires": { + "is-extglob": "^2.1.1" + } + }, + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true + }, + "js-yaml": { + "version": "3.14.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.0.tgz", + "integrity": "sha512-/4IbIeHcD9VMHFqDR/gQ7EdZdLimOvW2DdcxFjdyyZ9NsbS+ccrXqVWDtab/lRl5AlUqmpBx8EhPaWR+OtY17A==", + "dev": true, + "requires": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + } + }, + "json-parse-better-errors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", + "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", + "dev": true + }, + "jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.6", + "universalify": "^2.0.0" + }, + "dependencies": { + "universalify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", + "dev": true + } + } + }, + "locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "requires": { + "p-locate": "^4.1.0" + } + }, + "lodash": { + "version": "4.17.20", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz", + "integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==", + "dev": true + }, + "log-symbols": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-2.2.0.tgz", + "integrity": "sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg==", + "dev": true, + "requires": { + "chalk": "^2.0.1" + } + }, + "merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "dev": true + }, + "micromatch": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", + "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==", + "dev": true, + "requires": { + "braces": "^3.0.1", + "picomatch": "^2.0.5" + } + }, + "node-releases": { + "version": "1.1.65", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.65.tgz", + "integrity": "sha512-YpzJOe2WFIW0V4ZkJQd/DGR/zdVwc/pI4Nl1CZrBO19FdRcSTmsuhdttw9rsTzzJLrNcSloLiBbEYx1C4f6gpA==", + "dev": true + }, + "normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true + }, + "normalize-range": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", + "integrity": "sha1-LRDAa9/TEuqXd2laTShDlFa3WUI=", + "dev": true + }, + "num2fraction": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/num2fraction/-/num2fraction-1.2.2.tgz", + "integrity": "sha1-b2gragJ6Tp3fpFZM0lidHU5mnt4=", + "dev": true + }, + "p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "requires": { + "p-limit": "^2.2.0" + } + }, + "p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "dev": true + }, + "parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", + "dev": true, + "requires": { + "error-ex": "^1.3.1", + "json-parse-better-errors": "^1.0.1" + } + }, + "path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true + }, + "path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "dev": true + }, + "picomatch": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz", + "integrity": "sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==", + "dev": true + }, + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true + }, + "postcss": { + "version": "7.0.35", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", + "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", + "dev": true, + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + } + }, + "postcss-cli": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/postcss-cli/-/postcss-cli-7.1.2.tgz", + "integrity": "sha512-3mlEmN1v2NVuosMWZM2tP8bgZn7rO5PYxRRrXtdSyL5KipcgBDjJ9ct8/LKxImMCJJi3x5nYhCGFJOkGyEqXBQ==", + "dev": true, + "requires": { + "chalk": "^4.0.0", + "chokidar": "^3.3.0", + "dependency-graph": "^0.9.0", + "fs-extra": "^9.0.0", + "get-stdin": "^8.0.0", + "globby": "^11.0.0", + "postcss": "^7.0.0", + "postcss-load-config": "^2.0.0", + "postcss-reporter": "^6.0.0", + "pretty-hrtime": "^1.0.3", + "read-cache": "^1.0.0", + "yargs": "^15.0.2" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "postcss-load-config": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-2.1.2.tgz", + "integrity": "sha512-/rDeGV6vMUo3mwJZmeHfEDvwnTKKqQ0S7OHUi/kJvvtx3aWtyWG2/0ZWnzCt2keEclwN6Tf0DST2v9kITdOKYw==", + "dev": true, + "requires": { + "cosmiconfig": "^5.0.0", + "import-cwd": "^2.0.0" + } + }, + "postcss-reporter": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/postcss-reporter/-/postcss-reporter-6.0.1.tgz", + "integrity": "sha512-LpmQjfRWyabc+fRygxZjpRxfhRf9u/fdlKf4VHG4TSPbV2XNsuISzYW1KL+1aQzx53CAppa1bKG4APIB/DOXXw==", + "dev": true, + "requires": { + "chalk": "^2.4.1", + "lodash": "^4.17.11", + "log-symbols": "^2.2.0", + "postcss": "^7.0.7" + } + }, + "postcss-value-parser": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.1.0.tgz", + "integrity": "sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ==", + "dev": true + }, + "pretty-hrtime": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz", + "integrity": "sha1-t+PqQkNaTJsnWdmeDyAesZWALuE=", + "dev": true + }, + "read-cache": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz", + "integrity": "sha1-5mTvMRYRZsl1HNvo28+GtftY93Q=", + "dev": true, + "requires": { + "pify": "^2.3.0" + } + }, + "readdirp": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.5.0.tgz", + "integrity": "sha512-cMhu7c/8rdhkHXWsY+osBhfSy0JikwpHK/5+imo+LpeasTF8ouErHrlYkwT0++njiyuDvc7OFY5T3ukvZ8qmFQ==", + "dev": true, + "requires": { + "picomatch": "^2.2.1" + } + }, + "require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", + "dev": true + }, + "require-main-filename": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", + "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", + "dev": true + }, + "resolve-from": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", + "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=", + "dev": true + }, + "reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "dev": true + }, + "run-parallel": { + "version": "1.1.10", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.1.10.tgz", + "integrity": "sha512-zb/1OuZ6flOlH6tQyMPUrE3x3Ulxjlo9WIVXR4yVYi4H9UXQaeIsPbLn2R3O3vQCnDKkAl2qHiuocKKX4Tz/Sw==", + "dev": true + }, + "set-blocking": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", + "dev": true + }, + "slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + }, + "sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", + "dev": true + }, + "string-width": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz", + "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==", + "dev": true, + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.0" + } + }, + "strip-ansi": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", + "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", + "dev": true, + "requires": { + "ansi-regex": "^5.0.0" + } + }, + "supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + }, + "to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "requires": { + "is-number": "^7.0.0" + } + }, + "universalify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-1.0.0.tgz", + "integrity": "sha512-rb6X1W158d7pRQBg5gkR8uPaSfiids68LTJQYOtEUhoJUWBdaQHsuT/EUduxXYxcrt4r5PJ4fuHW1MHT6p0qug==", + "dev": true + }, + "which-module": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", + "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", + "dev": true + }, + "wrap-ansi": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", + "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + } + } + }, + "y18n": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.1.tgz", + "integrity": "sha512-wNcy4NvjMYL8gogWWYAO7ZFWFfHcbdbE57tZO8e4cbpj8tfUcwrwqSl3ad8HxpYWCdXcJUCeKKZS62Av1affwQ==", + "dev": true + }, + "yargs": { + "version": "15.4.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz", + "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==", + "dev": true, + "requires": { + "cliui": "^6.0.0", + "decamelize": "^1.2.0", + "find-up": "^4.1.0", + "get-caller-file": "^2.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^4.2.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^18.1.2" + } + }, + "yargs-parser": { + "version": "18.1.3", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", + "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", + "dev": true, + "requires": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + } + } + } +} diff --git a/package.json b/package.json new file mode 100644 index 0000000..72644f0 --- /dev/null +++ b/package.json @@ -0,0 +1,23 @@ +{ + "name": "toha", + "version": "1.0.0", + "description": "A [Hugo](https://gohugo.io/) theme for a personal portfolio with minimalist design and responsiveness.", + "main": "index.js", + "scripts": { + "autoprefixer": "postcss static/css/*/*.css --use autoprefixer -r --no-map" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/hossainemruz/toha.git" + }, + "author": "Emruz Hossain", + "license": "MIT", + "bugs": { + "url": "https://github.com/hossainemruz/toha/issues" + }, + "homepage": "https://github.com/hossainemruz/toha#readme", + "devDependencies": { + "autoprefixer": "^9.8.6", + "postcss-cli": "^7.1.2" + } +} diff --git a/static/assets/css/fontawesome.all.min.css b/static/assets/css/fontawesome.all.min.css deleted file mode 100644 index f37bbc7..0000000 --- a/static/assets/css/fontawesome.all.min.css +++ /dev/null @@ -1,5 +0,0 @@ -/*! - * Font Awesome Free 5.11.2 by @fontawesome - https://fontawesome.com - * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) - */ -.fa,.fab,.fad,.fal,.far,.fas{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:inline-block;font-style:normal;font-variant:normal;text-rendering:auto;line-height:1}.fa-lg{font-size:1.33333em;line-height:.75em;vertical-align:-.0667em}.fa-xs{font-size:.75em}.fa-sm{font-size:.875em}.fa-1x{font-size:1em}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-6x{font-size:6em}.fa-7x{font-size:7em}.fa-8x{font-size:8em}.fa-9x{font-size:9em}.fa-10x{font-size:10em}.fa-fw{text-align:center;width:1.25em}.fa-ul{list-style-type:none;margin-left:2.5em;padding-left:0}.fa-ul>li{position:relative}.fa-li{left:-2em;position:absolute;text-align:center;width:2em;line-height:inherit}.fa-border{border:.08em solid #eee;border-radius:.1em;padding:.2em .25em .15em}.fa-pull-left{float:left}.fa-pull-right{float:right}.fa.fa-pull-left,.fab.fa-pull-left,.fal.fa-pull-left,.far.fa-pull-left,.fas.fa-pull-left{margin-right:.3em}.fa.fa-pull-right,.fab.fa-pull-right,.fal.fa-pull-right,.far.fa-pull-right,.fas.fa-pull-right{margin-left:.3em}.fa-spin{-webkit-animation:fa-spin 2s linear infinite;animation:fa-spin 2s linear infinite}.fa-pulse{-webkit-animation:fa-spin 1s steps(8) infinite;animation:fa-spin 1s steps(8) infinite}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}.fa-rotate-90{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";-webkit-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";-webkit-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";-webkit-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";-webkit-transform:scaleX(-1);transform:scaleX(-1)}.fa-flip-vertical{-webkit-transform:scaleY(-1);transform:scaleY(-1)}.fa-flip-both,.fa-flip-horizontal.fa-flip-vertical,.fa-flip-vertical{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)"}.fa-flip-both,.fa-flip-horizontal.fa-flip-vertical{-webkit-transform:scale(-1);transform:scale(-1)}:root .fa-flip-both,:root .fa-flip-horizontal,:root .fa-flip-vertical,:root .fa-rotate-90,:root .fa-rotate-180,:root .fa-rotate-270{-webkit-filter:none;filter:none}.fa-stack{display:inline-block;height:2em;line-height:2em;position:relative;vertical-align:middle;width:2.5em}.fa-stack-1x,.fa-stack-2x{left:0;position:absolute;text-align:center;width:100%}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-500px:before{content:"\f26e"}.fa-accessible-icon:before{content:"\f368"}.fa-accusoft:before{content:"\f369"}.fa-acquisitions-incorporated:before{content:"\f6af"}.fa-ad:before{content:"\f641"}.fa-address-book:before{content:"\f2b9"}.fa-address-card:before{content:"\f2bb"}.fa-adjust:before{content:"\f042"}.fa-adn:before{content:"\f170"}.fa-adobe:before{content:"\f778"}.fa-adversal:before{content:"\f36a"}.fa-affiliatetheme:before{content:"\f36b"}.fa-air-freshener:before{content:"\f5d0"}.fa-airbnb:before{content:"\f834"}.fa-algolia:before{content:"\f36c"}.fa-align-center:before{content:"\f037"}.fa-align-justify:before{content:"\f039"}.fa-align-left:before{content:"\f036"}.fa-align-right:before{content:"\f038"}.fa-alipay:before{content:"\f642"}.fa-allergies:before{content:"\f461"}.fa-amazon:before{content:"\f270"}.fa-amazon-pay:before{content:"\f42c"}.fa-ambulance:before{content:"\f0f9"}.fa-american-sign-language-interpreting:before{content:"\f2a3"}.fa-amilia:before{content:"\f36d"}.fa-anchor:before{content:"\f13d"}.fa-android:before{content:"\f17b"}.fa-angellist:before{content:"\f209"}.fa-angle-double-down:before{content:"\f103"}.fa-angle-double-left:before{content:"\f100"}.fa-angle-double-right:before{content:"\f101"}.fa-angle-double-up:before{content:"\f102"}.fa-angle-down:before{content:"\f107"}.fa-angle-left:before{content:"\f104"}.fa-angle-right:before{content:"\f105"}.fa-angle-up:before{content:"\f106"}.fa-angry:before{content:"\f556"}.fa-angrycreative:before{content:"\f36e"}.fa-angular:before{content:"\f420"}.fa-ankh:before{content:"\f644"}.fa-app-store:before{content:"\f36f"}.fa-app-store-ios:before{content:"\f370"}.fa-apper:before{content:"\f371"}.fa-apple:before{content:"\f179"}.fa-apple-alt:before{content:"\f5d1"}.fa-apple-pay:before{content:"\f415"}.fa-archive:before{content:"\f187"}.fa-archway:before{content:"\f557"}.fa-arrow-alt-circle-down:before{content:"\f358"}.fa-arrow-alt-circle-left:before{content:"\f359"}.fa-arrow-alt-circle-right:before{content:"\f35a"}.fa-arrow-alt-circle-up:before{content:"\f35b"}.fa-arrow-circle-down:before{content:"\f0ab"}.fa-arrow-circle-left:before{content:"\f0a8"}.fa-arrow-circle-right:before{content:"\f0a9"}.fa-arrow-circle-up:before{content:"\f0aa"}.fa-arrow-down:before{content:"\f063"}.fa-arrow-left:before{content:"\f060"}.fa-arrow-right:before{content:"\f061"}.fa-arrow-up:before{content:"\f062"}.fa-arrows-alt:before{content:"\f0b2"}.fa-arrows-alt-h:before{content:"\f337"}.fa-arrows-alt-v:before{content:"\f338"}.fa-artstation:before{content:"\f77a"}.fa-assistive-listening-systems:before{content:"\f2a2"}.fa-asterisk:before{content:"\f069"}.fa-asymmetrik:before{content:"\f372"}.fa-at:before{content:"\f1fa"}.fa-atlas:before{content:"\f558"}.fa-atlassian:before{content:"\f77b"}.fa-atom:before{content:"\f5d2"}.fa-audible:before{content:"\f373"}.fa-audio-description:before{content:"\f29e"}.fa-autoprefixer:before{content:"\f41c"}.fa-avianex:before{content:"\f374"}.fa-aviato:before{content:"\f421"}.fa-award:before{content:"\f559"}.fa-aws:before{content:"\f375"}.fa-baby:before{content:"\f77c"}.fa-baby-carriage:before{content:"\f77d"}.fa-backspace:before{content:"\f55a"}.fa-backward:before{content:"\f04a"}.fa-bacon:before{content:"\f7e5"}.fa-balance-scale:before{content:"\f24e"}.fa-balance-scale-left:before{content:"\f515"}.fa-balance-scale-right:before{content:"\f516"}.fa-ban:before{content:"\f05e"}.fa-band-aid:before{content:"\f462"}.fa-bandcamp:before{content:"\f2d5"}.fa-barcode:before{content:"\f02a"}.fa-bars:before{content:"\f0c9"}.fa-baseball-ball:before{content:"\f433"}.fa-basketball-ball:before{content:"\f434"}.fa-bath:before{content:"\f2cd"}.fa-battery-empty:before{content:"\f244"}.fa-battery-full:before{content:"\f240"}.fa-battery-half:before{content:"\f242"}.fa-battery-quarter:before{content:"\f243"}.fa-battery-three-quarters:before{content:"\f241"}.fa-battle-net:before{content:"\f835"}.fa-bed:before{content:"\f236"}.fa-beer:before{content:"\f0fc"}.fa-behance:before{content:"\f1b4"}.fa-behance-square:before{content:"\f1b5"}.fa-bell:before{content:"\f0f3"}.fa-bell-slash:before{content:"\f1f6"}.fa-bezier-curve:before{content:"\f55b"}.fa-bible:before{content:"\f647"}.fa-bicycle:before{content:"\f206"}.fa-biking:before{content:"\f84a"}.fa-bimobject:before{content:"\f378"}.fa-binoculars:before{content:"\f1e5"}.fa-biohazard:before{content:"\f780"}.fa-birthday-cake:before{content:"\f1fd"}.fa-bitbucket:before{content:"\f171"}.fa-bitcoin:before{content:"\f379"}.fa-bity:before{content:"\f37a"}.fa-black-tie:before{content:"\f27e"}.fa-blackberry:before{content:"\f37b"}.fa-blender:before{content:"\f517"}.fa-blender-phone:before{content:"\f6b6"}.fa-blind:before{content:"\f29d"}.fa-blog:before{content:"\f781"}.fa-blogger:before{content:"\f37c"}.fa-blogger-b:before{content:"\f37d"}.fa-bluetooth:before{content:"\f293"}.fa-bluetooth-b:before{content:"\f294"}.fa-bold:before{content:"\f032"}.fa-bolt:before{content:"\f0e7"}.fa-bomb:before{content:"\f1e2"}.fa-bone:before{content:"\f5d7"}.fa-bong:before{content:"\f55c"}.fa-book:before{content:"\f02d"}.fa-book-dead:before{content:"\f6b7"}.fa-book-medical:before{content:"\f7e6"}.fa-book-open:before{content:"\f518"}.fa-book-reader:before{content:"\f5da"}.fa-bookmark:before{content:"\f02e"}.fa-bootstrap:before{content:"\f836"}.fa-border-all:before{content:"\f84c"}.fa-border-none:before{content:"\f850"}.fa-border-style:before{content:"\f853"}.fa-bowling-ball:before{content:"\f436"}.fa-box:before{content:"\f466"}.fa-box-open:before{content:"\f49e"}.fa-boxes:before{content:"\f468"}.fa-braille:before{content:"\f2a1"}.fa-brain:before{content:"\f5dc"}.fa-bread-slice:before{content:"\f7ec"}.fa-briefcase:before{content:"\f0b1"}.fa-briefcase-medical:before{content:"\f469"}.fa-broadcast-tower:before{content:"\f519"}.fa-broom:before{content:"\f51a"}.fa-brush:before{content:"\f55d"}.fa-btc:before{content:"\f15a"}.fa-buffer:before{content:"\f837"}.fa-bug:before{content:"\f188"}.fa-building:before{content:"\f1ad"}.fa-bullhorn:before{content:"\f0a1"}.fa-bullseye:before{content:"\f140"}.fa-burn:before{content:"\f46a"}.fa-buromobelexperte:before{content:"\f37f"}.fa-bus:before{content:"\f207"}.fa-bus-alt:before{content:"\f55e"}.fa-business-time:before{content:"\f64a"}.fa-buy-n-large:before{content:"\f8a6"}.fa-buysellads:before{content:"\f20d"}.fa-calculator:before{content:"\f1ec"}.fa-calendar:before{content:"\f133"}.fa-calendar-alt:before{content:"\f073"}.fa-calendar-check:before{content:"\f274"}.fa-calendar-day:before{content:"\f783"}.fa-calendar-minus:before{content:"\f272"}.fa-calendar-plus:before{content:"\f271"}.fa-calendar-times:before{content:"\f273"}.fa-calendar-week:before{content:"\f784"}.fa-camera:before{content:"\f030"}.fa-camera-retro:before{content:"\f083"}.fa-campground:before{content:"\f6bb"}.fa-canadian-maple-leaf:before{content:"\f785"}.fa-candy-cane:before{content:"\f786"}.fa-cannabis:before{content:"\f55f"}.fa-capsules:before{content:"\f46b"}.fa-car:before{content:"\f1b9"}.fa-car-alt:before{content:"\f5de"}.fa-car-battery:before{content:"\f5df"}.fa-car-crash:before{content:"\f5e1"}.fa-car-side:before{content:"\f5e4"}.fa-caret-down:before{content:"\f0d7"}.fa-caret-left:before{content:"\f0d9"}.fa-caret-right:before{content:"\f0da"}.fa-caret-square-down:before{content:"\f150"}.fa-caret-square-left:before{content:"\f191"}.fa-caret-square-right:before{content:"\f152"}.fa-caret-square-up:before{content:"\f151"}.fa-caret-up:before{content:"\f0d8"}.fa-carrot:before{content:"\f787"}.fa-cart-arrow-down:before{content:"\f218"}.fa-cart-plus:before{content:"\f217"}.fa-cash-register:before{content:"\f788"}.fa-cat:before{content:"\f6be"}.fa-cc-amazon-pay:before{content:"\f42d"}.fa-cc-amex:before{content:"\f1f3"}.fa-cc-apple-pay:before{content:"\f416"}.fa-cc-diners-club:before{content:"\f24c"}.fa-cc-discover:before{content:"\f1f2"}.fa-cc-jcb:before{content:"\f24b"}.fa-cc-mastercard:before{content:"\f1f1"}.fa-cc-paypal:before{content:"\f1f4"}.fa-cc-stripe:before{content:"\f1f5"}.fa-cc-visa:before{content:"\f1f0"}.fa-centercode:before{content:"\f380"}.fa-centos:before{content:"\f789"}.fa-certificate:before{content:"\f0a3"}.fa-chair:before{content:"\f6c0"}.fa-chalkboard:before{content:"\f51b"}.fa-chalkboard-teacher:before{content:"\f51c"}.fa-charging-station:before{content:"\f5e7"}.fa-chart-area:before{content:"\f1fe"}.fa-chart-bar:before{content:"\f080"}.fa-chart-line:before{content:"\f201"}.fa-chart-pie:before{content:"\f200"}.fa-check:before{content:"\f00c"}.fa-check-circle:before{content:"\f058"}.fa-check-double:before{content:"\f560"}.fa-check-square:before{content:"\f14a"}.fa-cheese:before{content:"\f7ef"}.fa-chess:before{content:"\f439"}.fa-chess-bishop:before{content:"\f43a"}.fa-chess-board:before{content:"\f43c"}.fa-chess-king:before{content:"\f43f"}.fa-chess-knight:before{content:"\f441"}.fa-chess-pawn:before{content:"\f443"}.fa-chess-queen:before{content:"\f445"}.fa-chess-rook:before{content:"\f447"}.fa-chevron-circle-down:before{content:"\f13a"}.fa-chevron-circle-left:before{content:"\f137"}.fa-chevron-circle-right:before{content:"\f138"}.fa-chevron-circle-up:before{content:"\f139"}.fa-chevron-down:before{content:"\f078"}.fa-chevron-left:before{content:"\f053"}.fa-chevron-right:before{content:"\f054"}.fa-chevron-up:before{content:"\f077"}.fa-child:before{content:"\f1ae"}.fa-chrome:before{content:"\f268"}.fa-chromecast:before{content:"\f838"}.fa-church:before{content:"\f51d"}.fa-circle:before{content:"\f111"}.fa-circle-notch:before{content:"\f1ce"}.fa-city:before{content:"\f64f"}.fa-clinic-medical:before{content:"\f7f2"}.fa-clipboard:before{content:"\f328"}.fa-clipboard-check:before{content:"\f46c"}.fa-clipboard-list:before{content:"\f46d"}.fa-clock:before{content:"\f017"}.fa-clone:before{content:"\f24d"}.fa-closed-captioning:before{content:"\f20a"}.fa-cloud:before{content:"\f0c2"}.fa-cloud-download-alt:before{content:"\f381"}.fa-cloud-meatball:before{content:"\f73b"}.fa-cloud-moon:before{content:"\f6c3"}.fa-cloud-moon-rain:before{content:"\f73c"}.fa-cloud-rain:before{content:"\f73d"}.fa-cloud-showers-heavy:before{content:"\f740"}.fa-cloud-sun:before{content:"\f6c4"}.fa-cloud-sun-rain:before{content:"\f743"}.fa-cloud-upload-alt:before{content:"\f382"}.fa-cloudscale:before{content:"\f383"}.fa-cloudsmith:before{content:"\f384"}.fa-cloudversify:before{content:"\f385"}.fa-cocktail:before{content:"\f561"}.fa-code:before{content:"\f121"}.fa-code-branch:before{content:"\f126"}.fa-codepen:before{content:"\f1cb"}.fa-codiepie:before{content:"\f284"}.fa-coffee:before{content:"\f0f4"}.fa-cog:before{content:"\f013"}.fa-cogs:before{content:"\f085"}.fa-coins:before{content:"\f51e"}.fa-columns:before{content:"\f0db"}.fa-comment:before{content:"\f075"}.fa-comment-alt:before{content:"\f27a"}.fa-comment-dollar:before{content:"\f651"}.fa-comment-dots:before{content:"\f4ad"}.fa-comment-medical:before{content:"\f7f5"}.fa-comment-slash:before{content:"\f4b3"}.fa-comments:before{content:"\f086"}.fa-comments-dollar:before{content:"\f653"}.fa-compact-disc:before{content:"\f51f"}.fa-compass:before{content:"\f14e"}.fa-compress:before{content:"\f066"}.fa-compress-arrows-alt:before{content:"\f78c"}.fa-concierge-bell:before{content:"\f562"}.fa-confluence:before{content:"\f78d"}.fa-connectdevelop:before{content:"\f20e"}.fa-contao:before{content:"\f26d"}.fa-cookie:before{content:"\f563"}.fa-cookie-bite:before{content:"\f564"}.fa-copy:before{content:"\f0c5"}.fa-copyright:before{content:"\f1f9"}.fa-cotton-bureau:before{content:"\f89e"}.fa-couch:before{content:"\f4b8"}.fa-cpanel:before{content:"\f388"}.fa-creative-commons:before{content:"\f25e"}.fa-creative-commons-by:before{content:"\f4e7"}.fa-creative-commons-nc:before{content:"\f4e8"}.fa-creative-commons-nc-eu:before{content:"\f4e9"}.fa-creative-commons-nc-jp:before{content:"\f4ea"}.fa-creative-commons-nd:before{content:"\f4eb"}.fa-creative-commons-pd:before{content:"\f4ec"}.fa-creative-commons-pd-alt:before{content:"\f4ed"}.fa-creative-commons-remix:before{content:"\f4ee"}.fa-creative-commons-sa:before{content:"\f4ef"}.fa-creative-commons-sampling:before{content:"\f4f0"}.fa-creative-commons-sampling-plus:before{content:"\f4f1"}.fa-creative-commons-share:before{content:"\f4f2"}.fa-creative-commons-zero:before{content:"\f4f3"}.fa-credit-card:before{content:"\f09d"}.fa-critical-role:before{content:"\f6c9"}.fa-crop:before{content:"\f125"}.fa-crop-alt:before{content:"\f565"}.fa-cross:before{content:"\f654"}.fa-crosshairs:before{content:"\f05b"}.fa-crow:before{content:"\f520"}.fa-crown:before{content:"\f521"}.fa-crutch:before{content:"\f7f7"}.fa-css3:before{content:"\f13c"}.fa-css3-alt:before{content:"\f38b"}.fa-cube:before{content:"\f1b2"}.fa-cubes:before{content:"\f1b3"}.fa-cut:before{content:"\f0c4"}.fa-cuttlefish:before{content:"\f38c"}.fa-d-and-d:before{content:"\f38d"}.fa-d-and-d-beyond:before{content:"\f6ca"}.fa-dashcube:before{content:"\f210"}.fa-database:before{content:"\f1c0"}.fa-deaf:before{content:"\f2a4"}.fa-delicious:before{content:"\f1a5"}.fa-democrat:before{content:"\f747"}.fa-deploydog:before{content:"\f38e"}.fa-deskpro:before{content:"\f38f"}.fa-desktop:before{content:"\f108"}.fa-dev:before{content:"\f6cc"}.fa-deviantart:before{content:"\f1bd"}.fa-dharmachakra:before{content:"\f655"}.fa-dhl:before{content:"\f790"}.fa-diagnoses:before{content:"\f470"}.fa-diaspora:before{content:"\f791"}.fa-dice:before{content:"\f522"}.fa-dice-d20:before{content:"\f6cf"}.fa-dice-d6:before{content:"\f6d1"}.fa-dice-five:before{content:"\f523"}.fa-dice-four:before{content:"\f524"}.fa-dice-one:before{content:"\f525"}.fa-dice-six:before{content:"\f526"}.fa-dice-three:before{content:"\f527"}.fa-dice-two:before{content:"\f528"}.fa-digg:before{content:"\f1a6"}.fa-digital-ocean:before{content:"\f391"}.fa-digital-tachograph:before{content:"\f566"}.fa-directions:before{content:"\f5eb"}.fa-discord:before{content:"\f392"}.fa-discourse:before{content:"\f393"}.fa-divide:before{content:"\f529"}.fa-dizzy:before{content:"\f567"}.fa-dna:before{content:"\f471"}.fa-dochub:before{content:"\f394"}.fa-docker:before{content:"\f395"}.fa-dog:before{content:"\f6d3"}.fa-dollar-sign:before{content:"\f155"}.fa-dolly:before{content:"\f472"}.fa-dolly-flatbed:before{content:"\f474"}.fa-donate:before{content:"\f4b9"}.fa-door-closed:before{content:"\f52a"}.fa-door-open:before{content:"\f52b"}.fa-dot-circle:before{content:"\f192"}.fa-dove:before{content:"\f4ba"}.fa-download:before{content:"\f019"}.fa-draft2digital:before{content:"\f396"}.fa-drafting-compass:before{content:"\f568"}.fa-dragon:before{content:"\f6d5"}.fa-draw-polygon:before{content:"\f5ee"}.fa-dribbble:before{content:"\f17d"}.fa-dribbble-square:before{content:"\f397"}.fa-dropbox:before{content:"\f16b"}.fa-drum:before{content:"\f569"}.fa-drum-steelpan:before{content:"\f56a"}.fa-drumstick-bite:before{content:"\f6d7"}.fa-drupal:before{content:"\f1a9"}.fa-dumbbell:before{content:"\f44b"}.fa-dumpster:before{content:"\f793"}.fa-dumpster-fire:before{content:"\f794"}.fa-dungeon:before{content:"\f6d9"}.fa-dyalog:before{content:"\f399"}.fa-earlybirds:before{content:"\f39a"}.fa-ebay:before{content:"\f4f4"}.fa-edge:before{content:"\f282"}.fa-edit:before{content:"\f044"}.fa-egg:before{content:"\f7fb"}.fa-eject:before{content:"\f052"}.fa-elementor:before{content:"\f430"}.fa-ellipsis-h:before{content:"\f141"}.fa-ellipsis-v:before{content:"\f142"}.fa-ello:before{content:"\f5f1"}.fa-ember:before{content:"\f423"}.fa-empire:before{content:"\f1d1"}.fa-envelope:before{content:"\f0e0"}.fa-envelope-open:before{content:"\f2b6"}.fa-envelope-open-text:before{content:"\f658"}.fa-envelope-square:before{content:"\f199"}.fa-envira:before{content:"\f299"}.fa-equals:before{content:"\f52c"}.fa-eraser:before{content:"\f12d"}.fa-erlang:before{content:"\f39d"}.fa-ethereum:before{content:"\f42e"}.fa-ethernet:before{content:"\f796"}.fa-etsy:before{content:"\f2d7"}.fa-euro-sign:before{content:"\f153"}.fa-evernote:before{content:"\f839"}.fa-exchange-alt:before{content:"\f362"}.fa-exclamation:before{content:"\f12a"}.fa-exclamation-circle:before{content:"\f06a"}.fa-exclamation-triangle:before{content:"\f071"}.fa-expand:before{content:"\f065"}.fa-expand-arrows-alt:before{content:"\f31e"}.fa-expeditedssl:before{content:"\f23e"}.fa-external-link-alt:before{content:"\f35d"}.fa-external-link-square-alt:before{content:"\f360"}.fa-eye:before{content:"\f06e"}.fa-eye-dropper:before{content:"\f1fb"}.fa-eye-slash:before{content:"\f070"}.fa-facebook:before{content:"\f09a"}.fa-facebook-f:before{content:"\f39e"}.fa-facebook-messenger:before{content:"\f39f"}.fa-facebook-square:before{content:"\f082"}.fa-fan:before{content:"\f863"}.fa-fantasy-flight-games:before{content:"\f6dc"}.fa-fast-backward:before{content:"\f049"}.fa-fast-forward:before{content:"\f050"}.fa-fax:before{content:"\f1ac"}.fa-feather:before{content:"\f52d"}.fa-feather-alt:before{content:"\f56b"}.fa-fedex:before{content:"\f797"}.fa-fedora:before{content:"\f798"}.fa-female:before{content:"\f182"}.fa-fighter-jet:before{content:"\f0fb"}.fa-figma:before{content:"\f799"}.fa-file:before{content:"\f15b"}.fa-file-alt:before{content:"\f15c"}.fa-file-archive:before{content:"\f1c6"}.fa-file-audio:before{content:"\f1c7"}.fa-file-code:before{content:"\f1c9"}.fa-file-contract:before{content:"\f56c"}.fa-file-csv:before{content:"\f6dd"}.fa-file-download:before{content:"\f56d"}.fa-file-excel:before{content:"\f1c3"}.fa-file-export:before{content:"\f56e"}.fa-file-image:before{content:"\f1c5"}.fa-file-import:before{content:"\f56f"}.fa-file-invoice:before{content:"\f570"}.fa-file-invoice-dollar:before{content:"\f571"}.fa-file-medical:before{content:"\f477"}.fa-file-medical-alt:before{content:"\f478"}.fa-file-pdf:before{content:"\f1c1"}.fa-file-powerpoint:before{content:"\f1c4"}.fa-file-prescription:before{content:"\f572"}.fa-file-signature:before{content:"\f573"}.fa-file-upload:before{content:"\f574"}.fa-file-video:before{content:"\f1c8"}.fa-file-word:before{content:"\f1c2"}.fa-fill:before{content:"\f575"}.fa-fill-drip:before{content:"\f576"}.fa-film:before{content:"\f008"}.fa-filter:before{content:"\f0b0"}.fa-fingerprint:before{content:"\f577"}.fa-fire:before{content:"\f06d"}.fa-fire-alt:before{content:"\f7e4"}.fa-fire-extinguisher:before{content:"\f134"}.fa-firefox:before{content:"\f269"}.fa-first-aid:before{content:"\f479"}.fa-first-order:before{content:"\f2b0"}.fa-first-order-alt:before{content:"\f50a"}.fa-firstdraft:before{content:"\f3a1"}.fa-fish:before{content:"\f578"}.fa-fist-raised:before{content:"\f6de"}.fa-flag:before{content:"\f024"}.fa-flag-checkered:before{content:"\f11e"}.fa-flag-usa:before{content:"\f74d"}.fa-flask:before{content:"\f0c3"}.fa-flickr:before{content:"\f16e"}.fa-flipboard:before{content:"\f44d"}.fa-flushed:before{content:"\f579"}.fa-fly:before{content:"\f417"}.fa-folder:before{content:"\f07b"}.fa-folder-minus:before{content:"\f65d"}.fa-folder-open:before{content:"\f07c"}.fa-folder-plus:before{content:"\f65e"}.fa-font:before{content:"\f031"}.fa-font-awesome:before{content:"\f2b4"}.fa-font-awesome-alt:before{content:"\f35c"}.fa-font-awesome-flag:before{content:"\f425"}.fa-font-awesome-logo-full:before{content:"\f4e6"}.fa-fonticons:before{content:"\f280"}.fa-fonticons-fi:before{content:"\f3a2"}.fa-football-ball:before{content:"\f44e"}.fa-fort-awesome:before{content:"\f286"}.fa-fort-awesome-alt:before{content:"\f3a3"}.fa-forumbee:before{content:"\f211"}.fa-forward:before{content:"\f04e"}.fa-foursquare:before{content:"\f180"}.fa-free-code-camp:before{content:"\f2c5"}.fa-freebsd:before{content:"\f3a4"}.fa-frog:before{content:"\f52e"}.fa-frown:before{content:"\f119"}.fa-frown-open:before{content:"\f57a"}.fa-fulcrum:before{content:"\f50b"}.fa-funnel-dollar:before{content:"\f662"}.fa-futbol:before{content:"\f1e3"}.fa-galactic-republic:before{content:"\f50c"}.fa-galactic-senate:before{content:"\f50d"}.fa-gamepad:before{content:"\f11b"}.fa-gas-pump:before{content:"\f52f"}.fa-gavel:before{content:"\f0e3"}.fa-gem:before{content:"\f3a5"}.fa-genderless:before{content:"\f22d"}.fa-get-pocket:before{content:"\f265"}.fa-gg:before{content:"\f260"}.fa-gg-circle:before{content:"\f261"}.fa-ghost:before{content:"\f6e2"}.fa-gift:before{content:"\f06b"}.fa-gifts:before{content:"\f79c"}.fa-git:before{content:"\f1d3"}.fa-git-alt:before{content:"\f841"}.fa-git-square:before{content:"\f1d2"}.fa-github:before{content:"\f09b"}.fa-github-alt:before{content:"\f113"}.fa-github-square:before{content:"\f092"}.fa-gitkraken:before{content:"\f3a6"}.fa-gitlab:before{content:"\f296"}.fa-gitter:before{content:"\f426"}.fa-glass-cheers:before{content:"\f79f"}.fa-glass-martini:before{content:"\f000"}.fa-glass-martini-alt:before{content:"\f57b"}.fa-glass-whiskey:before{content:"\f7a0"}.fa-glasses:before{content:"\f530"}.fa-glide:before{content:"\f2a5"}.fa-glide-g:before{content:"\f2a6"}.fa-globe:before{content:"\f0ac"}.fa-globe-africa:before{content:"\f57c"}.fa-globe-americas:before{content:"\f57d"}.fa-globe-asia:before{content:"\f57e"}.fa-globe-europe:before{content:"\f7a2"}.fa-gofore:before{content:"\f3a7"}.fa-golf-ball:before{content:"\f450"}.fa-goodreads:before{content:"\f3a8"}.fa-goodreads-g:before{content:"\f3a9"}.fa-google:before{content:"\f1a0"}.fa-google-drive:before{content:"\f3aa"}.fa-google-play:before{content:"\f3ab"}.fa-google-plus:before{content:"\f2b3"}.fa-google-plus-g:before{content:"\f0d5"}.fa-google-plus-square:before{content:"\f0d4"}.fa-google-wallet:before{content:"\f1ee"}.fa-gopuram:before{content:"\f664"}.fa-graduation-cap:before{content:"\f19d"}.fa-gratipay:before{content:"\f184"}.fa-grav:before{content:"\f2d6"}.fa-greater-than:before{content:"\f531"}.fa-greater-than-equal:before{content:"\f532"}.fa-grimace:before{content:"\f57f"}.fa-grin:before{content:"\f580"}.fa-grin-alt:before{content:"\f581"}.fa-grin-beam:before{content:"\f582"}.fa-grin-beam-sweat:before{content:"\f583"}.fa-grin-hearts:before{content:"\f584"}.fa-grin-squint:before{content:"\f585"}.fa-grin-squint-tears:before{content:"\f586"}.fa-grin-stars:before{content:"\f587"}.fa-grin-tears:before{content:"\f588"}.fa-grin-tongue:before{content:"\f589"}.fa-grin-tongue-squint:before{content:"\f58a"}.fa-grin-tongue-wink:before{content:"\f58b"}.fa-grin-wink:before{content:"\f58c"}.fa-grip-horizontal:before{content:"\f58d"}.fa-grip-lines:before{content:"\f7a4"}.fa-grip-lines-vertical:before{content:"\f7a5"}.fa-grip-vertical:before{content:"\f58e"}.fa-gripfire:before{content:"\f3ac"}.fa-grunt:before{content:"\f3ad"}.fa-guitar:before{content:"\f7a6"}.fa-gulp:before{content:"\f3ae"}.fa-h-square:before{content:"\f0fd"}.fa-hacker-news:before{content:"\f1d4"}.fa-hacker-news-square:before{content:"\f3af"}.fa-hackerrank:before{content:"\f5f7"}.fa-hamburger:before{content:"\f805"}.fa-hammer:before{content:"\f6e3"}.fa-hamsa:before{content:"\f665"}.fa-hand-holding:before{content:"\f4bd"}.fa-hand-holding-heart:before{content:"\f4be"}.fa-hand-holding-usd:before{content:"\f4c0"}.fa-hand-lizard:before{content:"\f258"}.fa-hand-middle-finger:before{content:"\f806"}.fa-hand-paper:before{content:"\f256"}.fa-hand-peace:before{content:"\f25b"}.fa-hand-point-down:before{content:"\f0a7"}.fa-hand-point-left:before{content:"\f0a5"}.fa-hand-point-right:before{content:"\f0a4"}.fa-hand-point-up:before{content:"\f0a6"}.fa-hand-pointer:before{content:"\f25a"}.fa-hand-rock:before{content:"\f255"}.fa-hand-scissors:before{content:"\f257"}.fa-hand-spock:before{content:"\f259"}.fa-hands:before{content:"\f4c2"}.fa-hands-helping:before{content:"\f4c4"}.fa-handshake:before{content:"\f2b5"}.fa-hanukiah:before{content:"\f6e6"}.fa-hard-hat:before{content:"\f807"}.fa-hashtag:before{content:"\f292"}.fa-hat-cowboy:before{content:"\f8c0"}.fa-hat-cowboy-side:before{content:"\f8c1"}.fa-hat-wizard:before{content:"\f6e8"}.fa-haykal:before{content:"\f666"}.fa-hdd:before{content:"\f0a0"}.fa-heading:before{content:"\f1dc"}.fa-headphones:before{content:"\f025"}.fa-headphones-alt:before{content:"\f58f"}.fa-headset:before{content:"\f590"}.fa-heart:before{content:"\f004"}.fa-heart-broken:before{content:"\f7a9"}.fa-heartbeat:before{content:"\f21e"}.fa-helicopter:before{content:"\f533"}.fa-highlighter:before{content:"\f591"}.fa-hiking:before{content:"\f6ec"}.fa-hippo:before{content:"\f6ed"}.fa-hips:before{content:"\f452"}.fa-hire-a-helper:before{content:"\f3b0"}.fa-history:before{content:"\f1da"}.fa-hockey-puck:before{content:"\f453"}.fa-holly-berry:before{content:"\f7aa"}.fa-home:before{content:"\f015"}.fa-hooli:before{content:"\f427"}.fa-hornbill:before{content:"\f592"}.fa-horse:before{content:"\f6f0"}.fa-horse-head:before{content:"\f7ab"}.fa-hospital:before{content:"\f0f8"}.fa-hospital-alt:before{content:"\f47d"}.fa-hospital-symbol:before{content:"\f47e"}.fa-hot-tub:before{content:"\f593"}.fa-hotdog:before{content:"\f80f"}.fa-hotel:before{content:"\f594"}.fa-hotjar:before{content:"\f3b1"}.fa-hourglass:before{content:"\f254"}.fa-hourglass-end:before{content:"\f253"}.fa-hourglass-half:before{content:"\f252"}.fa-hourglass-start:before{content:"\f251"}.fa-house-damage:before{content:"\f6f1"}.fa-houzz:before{content:"\f27c"}.fa-hryvnia:before{content:"\f6f2"}.fa-html5:before{content:"\f13b"}.fa-hubspot:before{content:"\f3b2"}.fa-i-cursor:before{content:"\f246"}.fa-ice-cream:before{content:"\f810"}.fa-icicles:before{content:"\f7ad"}.fa-icons:before{content:"\f86d"}.fa-id-badge:before{content:"\f2c1"}.fa-id-card:before{content:"\f2c2"}.fa-id-card-alt:before{content:"\f47f"}.fa-igloo:before{content:"\f7ae"}.fa-image:before{content:"\f03e"}.fa-images:before{content:"\f302"}.fa-imdb:before{content:"\f2d8"}.fa-inbox:before{content:"\f01c"}.fa-indent:before{content:"\f03c"}.fa-industry:before{content:"\f275"}.fa-infinity:before{content:"\f534"}.fa-info:before{content:"\f129"}.fa-info-circle:before{content:"\f05a"}.fa-instagram:before{content:"\f16d"}.fa-intercom:before{content:"\f7af"}.fa-internet-explorer:before{content:"\f26b"}.fa-invision:before{content:"\f7b0"}.fa-ioxhost:before{content:"\f208"}.fa-italic:before{content:"\f033"}.fa-itch-io:before{content:"\f83a"}.fa-itunes:before{content:"\f3b4"}.fa-itunes-note:before{content:"\f3b5"}.fa-java:before{content:"\f4e4"}.fa-jedi:before{content:"\f669"}.fa-jedi-order:before{content:"\f50e"}.fa-jenkins:before{content:"\f3b6"}.fa-jira:before{content:"\f7b1"}.fa-joget:before{content:"\f3b7"}.fa-joint:before{content:"\f595"}.fa-joomla:before{content:"\f1aa"}.fa-journal-whills:before{content:"\f66a"}.fa-js:before{content:"\f3b8"}.fa-js-square:before{content:"\f3b9"}.fa-jsfiddle:before{content:"\f1cc"}.fa-kaaba:before{content:"\f66b"}.fa-kaggle:before{content:"\f5fa"}.fa-key:before{content:"\f084"}.fa-keybase:before{content:"\f4f5"}.fa-keyboard:before{content:"\f11c"}.fa-keycdn:before{content:"\f3ba"}.fa-khanda:before{content:"\f66d"}.fa-kickstarter:before{content:"\f3bb"}.fa-kickstarter-k:before{content:"\f3bc"}.fa-kiss:before{content:"\f596"}.fa-kiss-beam:before{content:"\f597"}.fa-kiss-wink-heart:before{content:"\f598"}.fa-kiwi-bird:before{content:"\f535"}.fa-korvue:before{content:"\f42f"}.fa-landmark:before{content:"\f66f"}.fa-language:before{content:"\f1ab"}.fa-laptop:before{content:"\f109"}.fa-laptop-code:before{content:"\f5fc"}.fa-laptop-medical:before{content:"\f812"}.fa-laravel:before{content:"\f3bd"}.fa-lastfm:before{content:"\f202"}.fa-lastfm-square:before{content:"\f203"}.fa-laugh:before{content:"\f599"}.fa-laugh-beam:before{content:"\f59a"}.fa-laugh-squint:before{content:"\f59b"}.fa-laugh-wink:before{content:"\f59c"}.fa-layer-group:before{content:"\f5fd"}.fa-leaf:before{content:"\f06c"}.fa-leanpub:before{content:"\f212"}.fa-lemon:before{content:"\f094"}.fa-less:before{content:"\f41d"}.fa-less-than:before{content:"\f536"}.fa-less-than-equal:before{content:"\f537"}.fa-level-down-alt:before{content:"\f3be"}.fa-level-up-alt:before{content:"\f3bf"}.fa-life-ring:before{content:"\f1cd"}.fa-lightbulb:before{content:"\f0eb"}.fa-line:before{content:"\f3c0"}.fa-link:before{content:"\f0c1"}.fa-linkedin:before{content:"\f08c"}.fa-linkedin-in:before{content:"\f0e1"}.fa-linode:before{content:"\f2b8"}.fa-linux:before{content:"\f17c"}.fa-lira-sign:before{content:"\f195"}.fa-list:before{content:"\f03a"}.fa-list-alt:before{content:"\f022"}.fa-list-ol:before{content:"\f0cb"}.fa-list-ul:before{content:"\f0ca"}.fa-location-arrow:before{content:"\f124"}.fa-lock:before{content:"\f023"}.fa-lock-open:before{content:"\f3c1"}.fa-long-arrow-alt-down:before{content:"\f309"}.fa-long-arrow-alt-left:before{content:"\f30a"}.fa-long-arrow-alt-right:before{content:"\f30b"}.fa-long-arrow-alt-up:before{content:"\f30c"}.fa-low-vision:before{content:"\f2a8"}.fa-luggage-cart:before{content:"\f59d"}.fa-lyft:before{content:"\f3c3"}.fa-magento:before{content:"\f3c4"}.fa-magic:before{content:"\f0d0"}.fa-magnet:before{content:"\f076"}.fa-mail-bulk:before{content:"\f674"}.fa-mailchimp:before{content:"\f59e"}.fa-male:before{content:"\f183"}.fa-mandalorian:before{content:"\f50f"}.fa-map:before{content:"\f279"}.fa-map-marked:before{content:"\f59f"}.fa-map-marked-alt:before{content:"\f5a0"}.fa-map-marker:before{content:"\f041"}.fa-map-marker-alt:before{content:"\f3c5"}.fa-map-pin:before{content:"\f276"}.fa-map-signs:before{content:"\f277"}.fa-markdown:before{content:"\f60f"}.fa-marker:before{content:"\f5a1"}.fa-mars:before{content:"\f222"}.fa-mars-double:before{content:"\f227"}.fa-mars-stroke:before{content:"\f229"}.fa-mars-stroke-h:before{content:"\f22b"}.fa-mars-stroke-v:before{content:"\f22a"}.fa-mask:before{content:"\f6fa"}.fa-mastodon:before{content:"\f4f6"}.fa-maxcdn:before{content:"\f136"}.fa-mdb:before{content:"\f8ca"}.fa-medal:before{content:"\f5a2"}.fa-medapps:before{content:"\f3c6"}.fa-medium:before{content:"\f23a"}.fa-medium-m:before{content:"\f3c7"}.fa-medkit:before{content:"\f0fa"}.fa-medrt:before{content:"\f3c8"}.fa-meetup:before{content:"\f2e0"}.fa-megaport:before{content:"\f5a3"}.fa-meh:before{content:"\f11a"}.fa-meh-blank:before{content:"\f5a4"}.fa-meh-rolling-eyes:before{content:"\f5a5"}.fa-memory:before{content:"\f538"}.fa-mendeley:before{content:"\f7b3"}.fa-menorah:before{content:"\f676"}.fa-mercury:before{content:"\f223"}.fa-meteor:before{content:"\f753"}.fa-microchip:before{content:"\f2db"}.fa-microphone:before{content:"\f130"}.fa-microphone-alt:before{content:"\f3c9"}.fa-microphone-alt-slash:before{content:"\f539"}.fa-microphone-slash:before{content:"\f131"}.fa-microscope:before{content:"\f610"}.fa-microsoft:before{content:"\f3ca"}.fa-minus:before{content:"\f068"}.fa-minus-circle:before{content:"\f056"}.fa-minus-square:before{content:"\f146"}.fa-mitten:before{content:"\f7b5"}.fa-mix:before{content:"\f3cb"}.fa-mixcloud:before{content:"\f289"}.fa-mizuni:before{content:"\f3cc"}.fa-mobile:before{content:"\f10b"}.fa-mobile-alt:before{content:"\f3cd"}.fa-modx:before{content:"\f285"}.fa-monero:before{content:"\f3d0"}.fa-money-bill:before{content:"\f0d6"}.fa-money-bill-alt:before{content:"\f3d1"}.fa-money-bill-wave:before{content:"\f53a"}.fa-money-bill-wave-alt:before{content:"\f53b"}.fa-money-check:before{content:"\f53c"}.fa-money-check-alt:before{content:"\f53d"}.fa-monument:before{content:"\f5a6"}.fa-moon:before{content:"\f186"}.fa-mortar-pestle:before{content:"\f5a7"}.fa-mosque:before{content:"\f678"}.fa-motorcycle:before{content:"\f21c"}.fa-mountain:before{content:"\f6fc"}.fa-mouse:before{content:"\f8cc"}.fa-mouse-pointer:before{content:"\f245"}.fa-mug-hot:before{content:"\f7b6"}.fa-music:before{content:"\f001"}.fa-napster:before{content:"\f3d2"}.fa-neos:before{content:"\f612"}.fa-network-wired:before{content:"\f6ff"}.fa-neuter:before{content:"\f22c"}.fa-newspaper:before{content:"\f1ea"}.fa-nimblr:before{content:"\f5a8"}.fa-node:before{content:"\f419"}.fa-node-js:before{content:"\f3d3"}.fa-not-equal:before{content:"\f53e"}.fa-notes-medical:before{content:"\f481"}.fa-npm:before{content:"\f3d4"}.fa-ns8:before{content:"\f3d5"}.fa-nutritionix:before{content:"\f3d6"}.fa-object-group:before{content:"\f247"}.fa-object-ungroup:before{content:"\f248"}.fa-odnoklassniki:before{content:"\f263"}.fa-odnoklassniki-square:before{content:"\f264"}.fa-oil-can:before{content:"\f613"}.fa-old-republic:before{content:"\f510"}.fa-om:before{content:"\f679"}.fa-opencart:before{content:"\f23d"}.fa-openid:before{content:"\f19b"}.fa-opera:before{content:"\f26a"}.fa-optin-monster:before{content:"\f23c"}.fa-orcid:before{content:"\f8d2"}.fa-osi:before{content:"\f41a"}.fa-otter:before{content:"\f700"}.fa-outdent:before{content:"\f03b"}.fa-page4:before{content:"\f3d7"}.fa-pagelines:before{content:"\f18c"}.fa-pager:before{content:"\f815"}.fa-paint-brush:before{content:"\f1fc"}.fa-paint-roller:before{content:"\f5aa"}.fa-palette:before{content:"\f53f"}.fa-palfed:before{content:"\f3d8"}.fa-pallet:before{content:"\f482"}.fa-paper-plane:before{content:"\f1d8"}.fa-paperclip:before{content:"\f0c6"}.fa-parachute-box:before{content:"\f4cd"}.fa-paragraph:before{content:"\f1dd"}.fa-parking:before{content:"\f540"}.fa-passport:before{content:"\f5ab"}.fa-pastafarianism:before{content:"\f67b"}.fa-paste:before{content:"\f0ea"}.fa-patreon:before{content:"\f3d9"}.fa-pause:before{content:"\f04c"}.fa-pause-circle:before{content:"\f28b"}.fa-paw:before{content:"\f1b0"}.fa-paypal:before{content:"\f1ed"}.fa-peace:before{content:"\f67c"}.fa-pen:before{content:"\f304"}.fa-pen-alt:before{content:"\f305"}.fa-pen-fancy:before{content:"\f5ac"}.fa-pen-nib:before{content:"\f5ad"}.fa-pen-square:before{content:"\f14b"}.fa-pencil-alt:before{content:"\f303"}.fa-pencil-ruler:before{content:"\f5ae"}.fa-penny-arcade:before{content:"\f704"}.fa-people-carry:before{content:"\f4ce"}.fa-pepper-hot:before{content:"\f816"}.fa-percent:before{content:"\f295"}.fa-percentage:before{content:"\f541"}.fa-periscope:before{content:"\f3da"}.fa-person-booth:before{content:"\f756"}.fa-phabricator:before{content:"\f3db"}.fa-phoenix-framework:before{content:"\f3dc"}.fa-phoenix-squadron:before{content:"\f511"}.fa-phone:before{content:"\f095"}.fa-phone-alt:before{content:"\f879"}.fa-phone-slash:before{content:"\f3dd"}.fa-phone-square:before{content:"\f098"}.fa-phone-square-alt:before{content:"\f87b"}.fa-phone-volume:before{content:"\f2a0"}.fa-photo-video:before{content:"\f87c"}.fa-php:before{content:"\f457"}.fa-pied-piper:before{content:"\f2ae"}.fa-pied-piper-alt:before{content:"\f1a8"}.fa-pied-piper-hat:before{content:"\f4e5"}.fa-pied-piper-pp:before{content:"\f1a7"}.fa-piggy-bank:before{content:"\f4d3"}.fa-pills:before{content:"\f484"}.fa-pinterest:before{content:"\f0d2"}.fa-pinterest-p:before{content:"\f231"}.fa-pinterest-square:before{content:"\f0d3"}.fa-pizza-slice:before{content:"\f818"}.fa-place-of-worship:before{content:"\f67f"}.fa-plane:before{content:"\f072"}.fa-plane-arrival:before{content:"\f5af"}.fa-plane-departure:before{content:"\f5b0"}.fa-play:before{content:"\f04b"}.fa-play-circle:before{content:"\f144"}.fa-playstation:before{content:"\f3df"}.fa-plug:before{content:"\f1e6"}.fa-plus:before{content:"\f067"}.fa-plus-circle:before{content:"\f055"}.fa-plus-square:before{content:"\f0fe"}.fa-podcast:before{content:"\f2ce"}.fa-poll:before{content:"\f681"}.fa-poll-h:before{content:"\f682"}.fa-poo:before{content:"\f2fe"}.fa-poo-storm:before{content:"\f75a"}.fa-poop:before{content:"\f619"}.fa-portrait:before{content:"\f3e0"}.fa-pound-sign:before{content:"\f154"}.fa-power-off:before{content:"\f011"}.fa-pray:before{content:"\f683"}.fa-praying-hands:before{content:"\f684"}.fa-prescription:before{content:"\f5b1"}.fa-prescription-bottle:before{content:"\f485"}.fa-prescription-bottle-alt:before{content:"\f486"}.fa-print:before{content:"\f02f"}.fa-procedures:before{content:"\f487"}.fa-product-hunt:before{content:"\f288"}.fa-project-diagram:before{content:"\f542"}.fa-pushed:before{content:"\f3e1"}.fa-puzzle-piece:before{content:"\f12e"}.fa-python:before{content:"\f3e2"}.fa-qq:before{content:"\f1d6"}.fa-qrcode:before{content:"\f029"}.fa-question:before{content:"\f128"}.fa-question-circle:before{content:"\f059"}.fa-quidditch:before{content:"\f458"}.fa-quinscape:before{content:"\f459"}.fa-quora:before{content:"\f2c4"}.fa-quote-left:before{content:"\f10d"}.fa-quote-right:before{content:"\f10e"}.fa-quran:before{content:"\f687"}.fa-r-project:before{content:"\f4f7"}.fa-radiation:before{content:"\f7b9"}.fa-radiation-alt:before{content:"\f7ba"}.fa-rainbow:before{content:"\f75b"}.fa-random:before{content:"\f074"}.fa-raspberry-pi:before{content:"\f7bb"}.fa-ravelry:before{content:"\f2d9"}.fa-react:before{content:"\f41b"}.fa-reacteurope:before{content:"\f75d"}.fa-readme:before{content:"\f4d5"}.fa-rebel:before{content:"\f1d0"}.fa-receipt:before{content:"\f543"}.fa-record-vinyl:before{content:"\f8d9"}.fa-recycle:before{content:"\f1b8"}.fa-red-river:before{content:"\f3e3"}.fa-reddit:before{content:"\f1a1"}.fa-reddit-alien:before{content:"\f281"}.fa-reddit-square:before{content:"\f1a2"}.fa-redhat:before{content:"\f7bc"}.fa-redo:before{content:"\f01e"}.fa-redo-alt:before{content:"\f2f9"}.fa-registered:before{content:"\f25d"}.fa-remove-format:before{content:"\f87d"}.fa-renren:before{content:"\f18b"}.fa-reply:before{content:"\f3e5"}.fa-reply-all:before{content:"\f122"}.fa-replyd:before{content:"\f3e6"}.fa-republican:before{content:"\f75e"}.fa-researchgate:before{content:"\f4f8"}.fa-resolving:before{content:"\f3e7"}.fa-restroom:before{content:"\f7bd"}.fa-retweet:before{content:"\f079"}.fa-rev:before{content:"\f5b2"}.fa-ribbon:before{content:"\f4d6"}.fa-ring:before{content:"\f70b"}.fa-road:before{content:"\f018"}.fa-robot:before{content:"\f544"}.fa-rocket:before{content:"\f135"}.fa-rocketchat:before{content:"\f3e8"}.fa-rockrms:before{content:"\f3e9"}.fa-route:before{content:"\f4d7"}.fa-rss:before{content:"\f09e"}.fa-rss-square:before{content:"\f143"}.fa-ruble-sign:before{content:"\f158"}.fa-ruler:before{content:"\f545"}.fa-ruler-combined:before{content:"\f546"}.fa-ruler-horizontal:before{content:"\f547"}.fa-ruler-vertical:before{content:"\f548"}.fa-running:before{content:"\f70c"}.fa-rupee-sign:before{content:"\f156"}.fa-sad-cry:before{content:"\f5b3"}.fa-sad-tear:before{content:"\f5b4"}.fa-safari:before{content:"\f267"}.fa-salesforce:before{content:"\f83b"}.fa-sass:before{content:"\f41e"}.fa-satellite:before{content:"\f7bf"}.fa-satellite-dish:before{content:"\f7c0"}.fa-save:before{content:"\f0c7"}.fa-schlix:before{content:"\f3ea"}.fa-school:before{content:"\f549"}.fa-screwdriver:before{content:"\f54a"}.fa-scribd:before{content:"\f28a"}.fa-scroll:before{content:"\f70e"}.fa-sd-card:before{content:"\f7c2"}.fa-search:before{content:"\f002"}.fa-search-dollar:before{content:"\f688"}.fa-search-location:before{content:"\f689"}.fa-search-minus:before{content:"\f010"}.fa-search-plus:before{content:"\f00e"}.fa-searchengin:before{content:"\f3eb"}.fa-seedling:before{content:"\f4d8"}.fa-sellcast:before{content:"\f2da"}.fa-sellsy:before{content:"\f213"}.fa-server:before{content:"\f233"}.fa-servicestack:before{content:"\f3ec"}.fa-shapes:before{content:"\f61f"}.fa-share:before{content:"\f064"}.fa-share-alt:before{content:"\f1e0"}.fa-share-alt-square:before{content:"\f1e1"}.fa-share-square:before{content:"\f14d"}.fa-shekel-sign:before{content:"\f20b"}.fa-shield-alt:before{content:"\f3ed"}.fa-ship:before{content:"\f21a"}.fa-shipping-fast:before{content:"\f48b"}.fa-shirtsinbulk:before{content:"\f214"}.fa-shoe-prints:before{content:"\f54b"}.fa-shopping-bag:before{content:"\f290"}.fa-shopping-basket:before{content:"\f291"}.fa-shopping-cart:before{content:"\f07a"}.fa-shopware:before{content:"\f5b5"}.fa-shower:before{content:"\f2cc"}.fa-shuttle-van:before{content:"\f5b6"}.fa-sign:before{content:"\f4d9"}.fa-sign-in-alt:before{content:"\f2f6"}.fa-sign-language:before{content:"\f2a7"}.fa-sign-out-alt:before{content:"\f2f5"}.fa-signal:before{content:"\f012"}.fa-signature:before{content:"\f5b7"}.fa-sim-card:before{content:"\f7c4"}.fa-simplybuilt:before{content:"\f215"}.fa-sistrix:before{content:"\f3ee"}.fa-sitemap:before{content:"\f0e8"}.fa-sith:before{content:"\f512"}.fa-skating:before{content:"\f7c5"}.fa-sketch:before{content:"\f7c6"}.fa-skiing:before{content:"\f7c9"}.fa-skiing-nordic:before{content:"\f7ca"}.fa-skull:before{content:"\f54c"}.fa-skull-crossbones:before{content:"\f714"}.fa-skyatlas:before{content:"\f216"}.fa-skype:before{content:"\f17e"}.fa-slack:before{content:"\f198"}.fa-slack-hash:before{content:"\f3ef"}.fa-slash:before{content:"\f715"}.fa-sleigh:before{content:"\f7cc"}.fa-sliders-h:before{content:"\f1de"}.fa-slideshare:before{content:"\f1e7"}.fa-smile:before{content:"\f118"}.fa-smile-beam:before{content:"\f5b8"}.fa-smile-wink:before{content:"\f4da"}.fa-smog:before{content:"\f75f"}.fa-smoking:before{content:"\f48d"}.fa-smoking-ban:before{content:"\f54d"}.fa-sms:before{content:"\f7cd"}.fa-snapchat:before{content:"\f2ab"}.fa-snapchat-ghost:before{content:"\f2ac"}.fa-snapchat-square:before{content:"\f2ad"}.fa-snowboarding:before{content:"\f7ce"}.fa-snowflake:before{content:"\f2dc"}.fa-snowman:before{content:"\f7d0"}.fa-snowplow:before{content:"\f7d2"}.fa-socks:before{content:"\f696"}.fa-solar-panel:before{content:"\f5ba"}.fa-sort:before{content:"\f0dc"}.fa-sort-alpha-down:before{content:"\f15d"}.fa-sort-alpha-down-alt:before{content:"\f881"}.fa-sort-alpha-up:before{content:"\f15e"}.fa-sort-alpha-up-alt:before{content:"\f882"}.fa-sort-amount-down:before{content:"\f160"}.fa-sort-amount-down-alt:before{content:"\f884"}.fa-sort-amount-up:before{content:"\f161"}.fa-sort-amount-up-alt:before{content:"\f885"}.fa-sort-down:before{content:"\f0dd"}.fa-sort-numeric-down:before{content:"\f162"}.fa-sort-numeric-down-alt:before{content:"\f886"}.fa-sort-numeric-up:before{content:"\f163"}.fa-sort-numeric-up-alt:before{content:"\f887"}.fa-sort-up:before{content:"\f0de"}.fa-soundcloud:before{content:"\f1be"}.fa-sourcetree:before{content:"\f7d3"}.fa-spa:before{content:"\f5bb"}.fa-space-shuttle:before{content:"\f197"}.fa-speakap:before{content:"\f3f3"}.fa-speaker-deck:before{content:"\f83c"}.fa-spell-check:before{content:"\f891"}.fa-spider:before{content:"\f717"}.fa-spinner:before{content:"\f110"}.fa-splotch:before{content:"\f5bc"}.fa-spotify:before{content:"\f1bc"}.fa-spray-can:before{content:"\f5bd"}.fa-square:before{content:"\f0c8"}.fa-square-full:before{content:"\f45c"}.fa-square-root-alt:before{content:"\f698"}.fa-squarespace:before{content:"\f5be"}.fa-stack-exchange:before{content:"\f18d"}.fa-stack-overflow:before{content:"\f16c"}.fa-stackpath:before{content:"\f842"}.fa-stamp:before{content:"\f5bf"}.fa-star:before{content:"\f005"}.fa-star-and-crescent:before{content:"\f699"}.fa-star-half:before{content:"\f089"}.fa-star-half-alt:before{content:"\f5c0"}.fa-star-of-david:before{content:"\f69a"}.fa-star-of-life:before{content:"\f621"}.fa-staylinked:before{content:"\f3f5"}.fa-steam:before{content:"\f1b6"}.fa-steam-square:before{content:"\f1b7"}.fa-steam-symbol:before{content:"\f3f6"}.fa-step-backward:before{content:"\f048"}.fa-step-forward:before{content:"\f051"}.fa-stethoscope:before{content:"\f0f1"}.fa-sticker-mule:before{content:"\f3f7"}.fa-sticky-note:before{content:"\f249"}.fa-stop:before{content:"\f04d"}.fa-stop-circle:before{content:"\f28d"}.fa-stopwatch:before{content:"\f2f2"}.fa-store:before{content:"\f54e"}.fa-store-alt:before{content:"\f54f"}.fa-strava:before{content:"\f428"}.fa-stream:before{content:"\f550"}.fa-street-view:before{content:"\f21d"}.fa-strikethrough:before{content:"\f0cc"}.fa-stripe:before{content:"\f429"}.fa-stripe-s:before{content:"\f42a"}.fa-stroopwafel:before{content:"\f551"}.fa-studiovinari:before{content:"\f3f8"}.fa-stumbleupon:before{content:"\f1a4"}.fa-stumbleupon-circle:before{content:"\f1a3"}.fa-subscript:before{content:"\f12c"}.fa-subway:before{content:"\f239"}.fa-suitcase:before{content:"\f0f2"}.fa-suitcase-rolling:before{content:"\f5c1"}.fa-sun:before{content:"\f185"}.fa-superpowers:before{content:"\f2dd"}.fa-superscript:before{content:"\f12b"}.fa-supple:before{content:"\f3f9"}.fa-surprise:before{content:"\f5c2"}.fa-suse:before{content:"\f7d6"}.fa-swatchbook:before{content:"\f5c3"}.fa-swift:before{content:"\f8e1"}.fa-swimmer:before{content:"\f5c4"}.fa-swimming-pool:before{content:"\f5c5"}.fa-symfony:before{content:"\f83d"}.fa-synagogue:before{content:"\f69b"}.fa-sync:before{content:"\f021"}.fa-sync-alt:before{content:"\f2f1"}.fa-syringe:before{content:"\f48e"}.fa-table:before{content:"\f0ce"}.fa-table-tennis:before{content:"\f45d"}.fa-tablet:before{content:"\f10a"}.fa-tablet-alt:before{content:"\f3fa"}.fa-tablets:before{content:"\f490"}.fa-tachometer-alt:before{content:"\f3fd"}.fa-tag:before{content:"\f02b"}.fa-tags:before{content:"\f02c"}.fa-tape:before{content:"\f4db"}.fa-tasks:before{content:"\f0ae"}.fa-taxi:before{content:"\f1ba"}.fa-teamspeak:before{content:"\f4f9"}.fa-teeth:before{content:"\f62e"}.fa-teeth-open:before{content:"\f62f"}.fa-telegram:before{content:"\f2c6"}.fa-telegram-plane:before{content:"\f3fe"}.fa-temperature-high:before{content:"\f769"}.fa-temperature-low:before{content:"\f76b"}.fa-tencent-weibo:before{content:"\f1d5"}.fa-tenge:before{content:"\f7d7"}.fa-terminal:before{content:"\f120"}.fa-text-height:before{content:"\f034"}.fa-text-width:before{content:"\f035"}.fa-th:before{content:"\f00a"}.fa-th-large:before{content:"\f009"}.fa-th-list:before{content:"\f00b"}.fa-the-red-yeti:before{content:"\f69d"}.fa-theater-masks:before{content:"\f630"}.fa-themeco:before{content:"\f5c6"}.fa-themeisle:before{content:"\f2b2"}.fa-thermometer:before{content:"\f491"}.fa-thermometer-empty:before{content:"\f2cb"}.fa-thermometer-full:before{content:"\f2c7"}.fa-thermometer-half:before{content:"\f2c9"}.fa-thermometer-quarter:before{content:"\f2ca"}.fa-thermometer-three-quarters:before{content:"\f2c8"}.fa-think-peaks:before{content:"\f731"}.fa-thumbs-down:before{content:"\f165"}.fa-thumbs-up:before{content:"\f164"}.fa-thumbtack:before{content:"\f08d"}.fa-ticket-alt:before{content:"\f3ff"}.fa-times:before{content:"\f00d"}.fa-times-circle:before{content:"\f057"}.fa-tint:before{content:"\f043"}.fa-tint-slash:before{content:"\f5c7"}.fa-tired:before{content:"\f5c8"}.fa-toggle-off:before{content:"\f204"}.fa-toggle-on:before{content:"\f205"}.fa-toilet:before{content:"\f7d8"}.fa-toilet-paper:before{content:"\f71e"}.fa-toolbox:before{content:"\f552"}.fa-tools:before{content:"\f7d9"}.fa-tooth:before{content:"\f5c9"}.fa-torah:before{content:"\f6a0"}.fa-torii-gate:before{content:"\f6a1"}.fa-tractor:before{content:"\f722"}.fa-trade-federation:before{content:"\f513"}.fa-trademark:before{content:"\f25c"}.fa-traffic-light:before{content:"\f637"}.fa-train:before{content:"\f238"}.fa-tram:before{content:"\f7da"}.fa-transgender:before{content:"\f224"}.fa-transgender-alt:before{content:"\f225"}.fa-trash:before{content:"\f1f8"}.fa-trash-alt:before{content:"\f2ed"}.fa-trash-restore:before{content:"\f829"}.fa-trash-restore-alt:before{content:"\f82a"}.fa-tree:before{content:"\f1bb"}.fa-trello:before{content:"\f181"}.fa-tripadvisor:before{content:"\f262"}.fa-trophy:before{content:"\f091"}.fa-truck:before{content:"\f0d1"}.fa-truck-loading:before{content:"\f4de"}.fa-truck-monster:before{content:"\f63b"}.fa-truck-moving:before{content:"\f4df"}.fa-truck-pickup:before{content:"\f63c"}.fa-tshirt:before{content:"\f553"}.fa-tty:before{content:"\f1e4"}.fa-tumblr:before{content:"\f173"}.fa-tumblr-square:before{content:"\f174"}.fa-tv:before{content:"\f26c"}.fa-twitch:before{content:"\f1e8"}.fa-twitter:before{content:"\f099"}.fa-twitter-square:before{content:"\f081"}.fa-typo3:before{content:"\f42b"}.fa-uber:before{content:"\f402"}.fa-ubuntu:before{content:"\f7df"}.fa-uikit:before{content:"\f403"}.fa-umbraco:before{content:"\f8e8"}.fa-umbrella:before{content:"\f0e9"}.fa-umbrella-beach:before{content:"\f5ca"}.fa-underline:before{content:"\f0cd"}.fa-undo:before{content:"\f0e2"}.fa-undo-alt:before{content:"\f2ea"}.fa-uniregistry:before{content:"\f404"}.fa-universal-access:before{content:"\f29a"}.fa-university:before{content:"\f19c"}.fa-unlink:before{content:"\f127"}.fa-unlock:before{content:"\f09c"}.fa-unlock-alt:before{content:"\f13e"}.fa-untappd:before{content:"\f405"}.fa-upload:before{content:"\f093"}.fa-ups:before{content:"\f7e0"}.fa-usb:before{content:"\f287"}.fa-user:before{content:"\f007"}.fa-user-alt:before{content:"\f406"}.fa-user-alt-slash:before{content:"\f4fa"}.fa-user-astronaut:before{content:"\f4fb"}.fa-user-check:before{content:"\f4fc"}.fa-user-circle:before{content:"\f2bd"}.fa-user-clock:before{content:"\f4fd"}.fa-user-cog:before{content:"\f4fe"}.fa-user-edit:before{content:"\f4ff"}.fa-user-friends:before{content:"\f500"}.fa-user-graduate:before{content:"\f501"}.fa-user-injured:before{content:"\f728"}.fa-user-lock:before{content:"\f502"}.fa-user-md:before{content:"\f0f0"}.fa-user-minus:before{content:"\f503"}.fa-user-ninja:before{content:"\f504"}.fa-user-nurse:before{content:"\f82f"}.fa-user-plus:before{content:"\f234"}.fa-user-secret:before{content:"\f21b"}.fa-user-shield:before{content:"\f505"}.fa-user-slash:before{content:"\f506"}.fa-user-tag:before{content:"\f507"}.fa-user-tie:before{content:"\f508"}.fa-user-times:before{content:"\f235"}.fa-users:before{content:"\f0c0"}.fa-users-cog:before{content:"\f509"}.fa-usps:before{content:"\f7e1"}.fa-ussunnah:before{content:"\f407"}.fa-utensil-spoon:before{content:"\f2e5"}.fa-utensils:before{content:"\f2e7"}.fa-vaadin:before{content:"\f408"}.fa-vector-square:before{content:"\f5cb"}.fa-venus:before{content:"\f221"}.fa-venus-double:before{content:"\f226"}.fa-venus-mars:before{content:"\f228"}.fa-viacoin:before{content:"\f237"}.fa-viadeo:before{content:"\f2a9"}.fa-viadeo-square:before{content:"\f2aa"}.fa-vial:before{content:"\f492"}.fa-vials:before{content:"\f493"}.fa-viber:before{content:"\f409"}.fa-video:before{content:"\f03d"}.fa-video-slash:before{content:"\f4e2"}.fa-vihara:before{content:"\f6a7"}.fa-vimeo:before{content:"\f40a"}.fa-vimeo-square:before{content:"\f194"}.fa-vimeo-v:before{content:"\f27d"}.fa-vine:before{content:"\f1ca"}.fa-vk:before{content:"\f189"}.fa-vnv:before{content:"\f40b"}.fa-voicemail:before{content:"\f897"}.fa-volleyball-ball:before{content:"\f45f"}.fa-volume-down:before{content:"\f027"}.fa-volume-mute:before{content:"\f6a9"}.fa-volume-off:before{content:"\f026"}.fa-volume-up:before{content:"\f028"}.fa-vote-yea:before{content:"\f772"}.fa-vr-cardboard:before{content:"\f729"}.fa-vuejs:before{content:"\f41f"}.fa-walking:before{content:"\f554"}.fa-wallet:before{content:"\f555"}.fa-warehouse:before{content:"\f494"}.fa-water:before{content:"\f773"}.fa-wave-square:before{content:"\f83e"}.fa-waze:before{content:"\f83f"}.fa-weebly:before{content:"\f5cc"}.fa-weibo:before{content:"\f18a"}.fa-weight:before{content:"\f496"}.fa-weight-hanging:before{content:"\f5cd"}.fa-weixin:before{content:"\f1d7"}.fa-whatsapp:before{content:"\f232"}.fa-whatsapp-square:before{content:"\f40c"}.fa-wheelchair:before{content:"\f193"}.fa-whmcs:before{content:"\f40d"}.fa-wifi:before{content:"\f1eb"}.fa-wikipedia-w:before{content:"\f266"}.fa-wind:before{content:"\f72e"}.fa-window-close:before{content:"\f410"}.fa-window-maximize:before{content:"\f2d0"}.fa-window-minimize:before{content:"\f2d1"}.fa-window-restore:before{content:"\f2d2"}.fa-windows:before{content:"\f17a"}.fa-wine-bottle:before{content:"\f72f"}.fa-wine-glass:before{content:"\f4e3"}.fa-wine-glass-alt:before{content:"\f5ce"}.fa-wix:before{content:"\f5cf"}.fa-wizards-of-the-coast:before{content:"\f730"}.fa-wolf-pack-battalion:before{content:"\f514"}.fa-won-sign:before{content:"\f159"}.fa-wordpress:before{content:"\f19a"}.fa-wordpress-simple:before{content:"\f411"}.fa-wpbeginner:before{content:"\f297"}.fa-wpexplorer:before{content:"\f2de"}.fa-wpforms:before{content:"\f298"}.fa-wpressr:before{content:"\f3e4"}.fa-wrench:before{content:"\f0ad"}.fa-x-ray:before{content:"\f497"}.fa-xbox:before{content:"\f412"}.fa-xing:before{content:"\f168"}.fa-xing-square:before{content:"\f169"}.fa-y-combinator:before{content:"\f23b"}.fa-yahoo:before{content:"\f19e"}.fa-yammer:before{content:"\f840"}.fa-yandex:before{content:"\f413"}.fa-yandex-international:before{content:"\f414"}.fa-yarn:before{content:"\f7e3"}.fa-yelp:before{content:"\f1e9"}.fa-yen-sign:before{content:"\f157"}.fa-yin-yang:before{content:"\f6ad"}.fa-yoast:before{content:"\f2b1"}.fa-youtube:before{content:"\f167"}.fa-youtube-square:before{content:"\f431"}.fa-zhihu:before{content:"\f63f"}.sr-only{border:0;clip:rect(0,0,0,0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.sr-only-focusable:active,.sr-only-focusable:focus{clip:auto;height:auto;margin:0;overflow:visible;position:static;width:auto}@font-face{font-family:"Font Awesome 5 Brands";font-style:normal;font-weight:normal;font-display:auto;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-face{font-family:"Font Awesome 5 Free";font-style:normal;font-weight:400;font-display:auto;src:url(../webfonts/fa-regular-400.eot);src:url(../webfonts/fa-regular-400.eot?#iefix) format("embedded-opentype"),url(../webfonts/fa-regular-400.woff2) format("woff2"),url(../webfonts/fa-regular-400.woff) format("woff"),url(../webfonts/fa-regular-400.ttf) format("truetype"),url(../webfonts/fa-regular-400.svg#fontawesome) format("svg")}.far{font-weight:400}@font-face{font-family:"Font Awesome 5 Free";font-style:normal;font-weight:900;font-display:auto;src:url(../webfonts/fa-solid-900.eot);src:url(../webfonts/fa-solid-900.eot?#iefix) format("embedded-opentype"),url(../webfonts/fa-solid-900.woff2) format("woff2"),url(../webfonts/fa-solid-900.woff) format("woff"),url(../webfonts/fa-solid-900.ttf) format("truetype"),url(../webfonts/fa-solid-900.svg#fontawesome) format("svg")}.fa,.far,.fas{font-family:"Font Awesome 5 Free"}.fa,.fas{font-weight:900} \ No newline at end of file diff --git a/static/assets/css/list.css b/static/assets/css/list.css deleted file mode 100644 index d598138..0000000 --- a/static/assets/css/list.css +++ /dev/null @@ -1,417 +0,0 @@ -.wrapper { - display: flex; - padding: 0; - margin: 0; - width: 100%; - overflow: hidden; -} - -.sidebar { - width: 400px; - background: #f9fafc; - min-height: 100vh; - overflow: auto; - transition: all ease-out 0.3s; - -webkit-transition: all ease-out 0.3s; -} - -.sidebar.hide { - position: relative; - width: 0; - transition: all ease-out 0.3s; - -webkit-transition: all ease-out 0.3s; - z-index: -1001; -} - -#search-box { - width: 250px; - height: 35px; - padding-left: 15px; - margin-top: 30px; - margin-bottom: 10px; - border-radius: 5px; - background-color: #e5e9f2; - transition: all 0.3s ease-out; - -webkit-transition: all 0.3s ease-out; - border: 1px solid #c0ccda; -} - -#search-box:focus { - border: 1pt solid #248aaa; - outline: none; -} - -.sidebar-tree { - margin-left: 2rem; - margin-top: 2.5rem; - position: fixed; -} - -#list-heading { - padding-left: 0px !important; -} - -.tree, -.tree ul { - margin: 0; - padding: 0; - list-style: none; -} - -.tree ul { - margin-left: 0.5rem; - position: relative; -} - -.tree ul ul { - margin-left: 0.5em; -} - -.tree ul:before { - content: ""; - display: block; - width: 0; - position: absolute; - top: -10px; - left: -3px; - bottom: 16px; - border-left: 1px solid; -} - -.subtree { - padding-left: 0.7rem; -} - -.subtree:before { - content: ""; - display: block; - width: 0; - position: absolute; - top: 6.5rem; - left: 0.5rem; - bottom: 16px; - border-left: 1px solid; -} - -.tree li { - margin: 0; - padding: 0 1em; - line-height: 2em; - color: #3c4858; - position: relative; -} - -.subtree li:before { - content: ""; - display: block; - width: 20px; - height: 0; - border-top: 1px solid; - margin-top: -1px; - position: absolute; - top: 18px; - left: -3px; -} - -.subtree li:last-child:before { - background: #f9fafc; - height: auto; - top: 1em; - bottom: 0; -} - -.tree li a { - text-decoration: none; - color: #131313; - transition: all 0.3s ease-out; - -webkit-transition: all 0.3s ease-out; -} -.tree li a:hover { - margin-left: 3px; - color: #2098d1; - transition: all 0.3s ease-out; - -webkit-transition: all 0.3s ease-out; -} - -.tree i { - color: #3c4858; - font-size: 12px; - margin-right: 5px; -} - -.tree .shift-right { - margin-left: 5px; -} - -.tree ul { - display: none; -} - -.tree .expand, -.tree .expand > ul { - display: block; -} - -a.focused { - color: #2098d1 !important; -} - -.content { - width: 100%; - background: #e5e9f2; - padding: 0; - position: relative; -} - -.content-cards { - padding-top: 30px; - width: 100%; - padding-left: 28px; - padding-bottom: 20px; -} - -.post-cards { - margin: 32px; -} - -.post-cards .filtr-item { - width: 23rem !important; -} - -.post-cards .card { - margin: 5px; - position: relative; -} - -.post-cards .card .card-footer span { - font-size: 10pt; - color: #6c757d !important; - padding-top: 5px; -} - -.post-cards .card .card-footer { - background: #fff; - margin-top: auto; -} - -.post-summery { - overflow: hidden; - text-overflow: ellipsis; - display: -webkit-box; - max-height: 144px; - /* fallback */ - -webkit-line-clamp: 5; - /* number of lines to show */ - -webkit-box-orient: vertical; -} - -.post-cards .post-card-link{ - text-decoration: none; -} - -.content-cards .paginator{ - width: fit-content; - margin: auto; -} - -.content-cards .paginator .page-item>a{ - color: #248aaa; -} - -.content-cards .paginator .page-item.active>a{ - background-color: #248aaa; - color: #f9fafc; -} - -.navbar-toggler { - display: none; -} - -/*-------------- Media Queries ---------- */ - -@media (max-width: 1200px) { - .sidebar-tree { - margin-left: 1rem; - } - .content-cards { - padding-left: 0px; - } - .post-cards { - margin-left: 15px; - } - .post-cards .filtr-item { - width: 22rem !important; - padding: 3px; - } -} - -@media only screen and (max-width: 768px) { - .content { - width: 100vw; - padding-left: 15px; - } - .content.overley { - width: 60vw; - padding-left: 3px; - } - .navbar-toggler { - display: block; - } - - .sidebar { - width: 0; - } - .sidebar nav { - display: none; - transition: all ease-out 0.3s; - -webkit-transition: all ease-out 0.3s; - } - .sidebar.hide { - position: relative; - z-index: 1001; - width: 40vw; - } - - .sidebar-tree { - margin-left: -20rem; - transition: all 0.3s ease-out; - -webkit-transition: all 0.3s ease-out; - } - - .sidebar.hide .sidebar-tree { - margin-left: 1.5rem; - transition: all 0.3s ease-out; - } - - .content-cards { - padding-top: 20px; - width: 100%; - padding-left: 0px; - } - - .post-cards { - margin: 0; - margin-top: 32px; - } - - .post-cards .filtr-item { - margin: 10px; - width: 47vw !important; - } - - .post-cards .card { - max-width: 47vw !important; - } - - .content.overley .post-cards .filtr-item { - margin: 10px; - width: 55vw !important; - } - - .content.overley .post-cards .card { - max-width: 55vw !important; - } -} -@media only screen and (max-width: 576px) { - .wrapper { - display: block; - } - - #search-box { - width: 85vw; - height: 35px; - padding-left: 5px; - margin-top: 30px; - } - .content { - width: 100vw; - left: 0; - display: block; - padding-left: 2vw; - } - - .content.overley { - width: 100vw; - left: 0; - padding-left: 2vw; - } - - .sidebar { - position: relative; - max-height: 0; - width: 100vw; - min-height: 0; - overflow: hidden; - transition: all ease-out 0.5s; - -webkit-transition: all ease-out 0.5s; - } - - .sidebar-tree { - position: relative; - } - - .sidebar.hide { - position: relative; - z-index: 1001; - width: 100vw; - max-height: 100vh; - overflow: hidden; - transition: all ease-out 0.5s; - -webkit-transition: all ease-out 0.5s; - } - - .sidebar-tree { - margin-left: 1.5rem; - } - - .sidebar.hide .sidebar-tree { - margin-left: 1.5rem; - transition: all 0.3s ease-out; - -webkit-transition: all 0.3s ease-out; - } - - .content-cards { - padding-top: 20px; - padding-left: 0px; - transition: all ease-out 0.5s; - -webkit-transition: all ease-out 0.5s; - } - - .content.overley .content-cards { - padding-top: 0px; - padding-left: 0px; - transition: all ease-out 0.5s; - -webkit-transition: all ease-out 0.5s; - } - - .post-cards { - margin: 0; - margin-top: 32px; - transition: all ease-out 0.5s; - -webkit-transition: all ease-out 0.5s; - } - - .content.overley .post-cards { - margin: 0; - transition: all ease-out 0.5s; - -webkit-transition: all ease-out 0.5s; - } - - .post-cards .filtr-item { - margin: 0px; - width: 95vw !important; - } - - .post-cards .card { - max-width: 90vw !important; - } - - .content.overley .post-cards .filtr-item { - margin: 0px; - width: 95vw !important; - } - - .content.overley .post-cards .card { - max-width: 95vw !important; - } -} diff --git a/static/assets/css/projects.css b/static/assets/css/projects.css deleted file mode 100644 index d3a61d0..0000000 --- a/static/assets/css/projects.css +++ /dev/null @@ -1,61 +0,0 @@ -.projects .card .card-header { - background-color: #f9fafc; - padding: 0.7rem; - padding-bottom: 0rem; -} - -.projects .card .card-img-xs { - margin-right: 0.5rem; -} - -.card .card-header .sub-title span:nth-child(1) { - float: left; -} -.card .card-header .sub-title span:nth-child(2) { - float: right; -} - -.projects .card .card-body { - padding: 0.7rem; -} - -.projects .card .card-header .sub-title { - color: #8392a5; - margin-top: 0.4rem; -} - -.filtr-projects { - padding: 1rem !important; -} - -/* ============= Device specific fixes ======= */ - -/* Extra small devices (portrait phones, less than 576px) */ - -/* No media query for `xs` since this is the default in Bootstrap */ - -/* Extra large devices (large desktops, 1200px and up) */ - -@media (max-width: 1400px) { -} - -@media (max-width: 1200px) { -} - -/* Large devices (desktops, 992px and up) */ - -@media (max-width: 992px) { -} - -/* Medium devices (tablets, 768px and up) */ - -@media only screen and (max-width: 768px) { -} - -/* Small devices (landscape phones, 576px and up) */ - -@media only screen and (max-width: 576px) { - .projects .btn { - margin-top: 0.3125rem; - } -} diff --git a/static/assets/css/recent-posts.css b/static/assets/css/recent-posts.css deleted file mode 100644 index da1855f..0000000 --- a/static/assets/css/recent-posts.css +++ /dev/null @@ -1,28 +0,0 @@ -.recent-posts .container{ - padding-top: 1rem; -} - -.recent-posts .card .card-footer span { - font-size: 10pt; - color: #6c757d !important; - padding-top: 5px; -} - -.recent-posts .card .card-footer { - background: #fff; - margin-top: auto; -} - -.recent-posts .post-card-link{ - text-decoration: none; -} - -.post-summery { - overflow: hidden; - text-overflow: ellipsis; - display: -webkit-box; - /* line-height: 24px; fallback */ - max-height: 144px; /* fallback */ - -webkit-line-clamp: 5; /* number of lines to show */ - -webkit-box-orient: vertical; -} diff --git a/static/assets/css/single.css b/static/assets/css/single.css deleted file mode 100644 index 747684d..0000000 --- a/static/assets/css/single.css +++ /dev/null @@ -1,279 +0,0 @@ -body { - background-color: #e5e9f2; -} -.read-area { - background-color: #f9fafc; -} - -.wrapper { - padding: 0; -} - -.hero-area { - margin-top: 3rem; - width: 100%; - height: 400px; - background-position: center; - background-repeat: no-repeat; - background-size: cover; -} - -.page-content { - width: 100%; - position: relative; - top: -4.5rem; - padding: 15px; -} - -.author-profile { - position: relative; - align-content: center; - text-align: center; -} - -.author-name { - margin-top: 0px; -} - -.author-profile img { - height: 120px; - width: 120px; - background-color: #f9fafc; - padding: 5px; -} -.author-profile p { - color: #8392a5; -} - -.title { - text-align: center; -} - -.post-content { - padding: 15px; -} - -.post-content h1, -h2 { - margin-top: 1.4rem; -} - -.post-content h3, -h4, -h5, -h6 { - margin-top: 1.3rem; -} - -.post-content blockquote { - border-left: 4px solid #248aaa; - background-color: #248baa15; - padding: 0.3rem; - padding-left: 1rem; -} - -.post-content blockquote > p { - color: #3c4858; - margin-top: 0.5rem; - margin-bottom: 0.5rem; -} - -table { - border-radius: 0.1rem; - background: #e5e9f2; - border: 1px solid #c0ccda; - padding: 0.1rem; -} - -table tr { - height: 40px !important; -} - -table th, -td { - padding: 0.5rem; - border-left: 1px solid #8392a5; - border-bottom: 1px solid #8392a5; -} - -table thead tr { - background: #248aaa; - color: #e5e9f2; -} - -tbody tr:nth-child(odd) { - background-color: #e5e9f2; -} - -tbody tr:hover { - background: #c0ccda; -} - -figure { - border: 1px solid #c0ccda; - height: fit-content; - width: fit-content; - align-self: center; - margin: auto; -} - -img { - max-width: 100%; -} - -caption, -figcaption { - caption-side: bottom; - text-align: center; - color: #8392a5; -} - -pre { - margin: 5px; -} - -pre>code { - padding: 10px !important; -} - -a.header-anchor{ - text-decoration: none; - color: #1c2d41; -} - -a.header-anchor i{ - font-size: 10pt; - color: #3c4858; - display: none; - margin-left: 0.5rem; -} -a.header-anchor:hover i{ - display: inline-block; -} -a.header-anchor code{ - color: #e83e8c; -} - -.navbar-toggler { - display: none; -} - -ul > ol, -ol > ul, -ul > ul, -ol > ol, -li > ol, -li > ul { - padding-inline-start: 25px; -} - -kbd { - background-color: #248aaa !important; - color: #f9fafc; -} - -mark { - background-color: #ffc21280; -} - -.next-prev-navigator { - padding-left: 10px; - padding-right: 10px; -} - -.next-prev-navigator a { - color: #2098d1; - transition: all 0.3s ease-out; - -webkit-transition: all 0.3s ease-out; -} - -.next-prev-navigator a:hover { - color: #3c4858; - transition: all 0.3 ease-out; - -webkit-transition: all 0.3 ease-out; -} - -.next-prev-navigator .next-article { - text-align: right; -} - -.next-prev-navigator .next-article a { - transition: all 0.3s ease-out; - -webkit-transition: all 0.3s ease-out; -} - -.next-prev-navigator .previous-article a { - transition: all 0.3s ease-out; - -webkit-transition: all 0.3s ease-out; -} - -.next-prev-navigator .btn-outline-info { - color: #f9fafc !important; - border-color: #e5e9f2 !important; - background-color: #248aaa !important; - transition: all 0.3s ease-out; - -webkit-transition: all 0.3s ease-out; -} - -.next-prev-navigator .btn-outline-info:hover { - color: #3c4858 !important; - background-color: #e5e9f2 !important; - transition: all 0.3s ease-out; - -webkit-transition: all 0.3s ease-out; -} - -.disquss { - padding: 10px; -} - -.btn-improve-page{ - text-align: right; -} - -@media only screen and (max-width: 768px) { - .wrapper { - padding-left: 0px; - padding-right: 0px; - overflow: hidden; - } - .container { - max-width: 100%; - } -} -@media only screen and (max-width: 576px) { - .wrapper { - padding: 0px; - } - - .hero-area { - height: 200px; - } - - .page-content { - padding: 0px; - } - - pre { - margin: 0px; - } - code { - padding: 0px; - } - .next-prev-navigator .previous-article { - text-align: center; - margin: 5px; - } - .next-prev-navigator .next-article { - text-align: center; - margin: 5px; - } - .previous-article a, - .next-article a { - width: 100%; - } - - #disqus_thread, - .dsq-brlink { - padding: 5px; - } -} diff --git a/static/assets/images/404.png b/static/assets/images/404.png deleted file mode 100644 index c9dd23d..0000000 Binary files a/static/assets/images/404.png and /dev/null differ diff --git a/static/assets/images/404.svg b/static/assets/images/404.svg deleted file mode 100644 index e2198c4..0000000 --- a/static/assets/images/404.svg +++ /dev/null @@ -1 +0,0 @@ -page not found \ No newline at end of file diff --git a/static/assets/images/default-background.jpg b/static/assets/images/default-background.jpg deleted file mode 100644 index b30526b..0000000 Binary files a/static/assets/images/default-background.jpg and /dev/null differ diff --git a/static/assets/images/default-hero.jpg b/static/assets/images/default-hero.jpg deleted file mode 100644 index f13ca48..0000000 Binary files a/static/assets/images/default-hero.jpg and /dev/null differ diff --git a/static/assets/images/favicon.png b/static/assets/images/favicon.png deleted file mode 100644 index a56bc42..0000000 Binary files a/static/assets/images/favicon.png and /dev/null differ diff --git a/static/assets/images/hugo-logo-wide.svg b/static/assets/images/hugo-logo-wide.svg deleted file mode 100644 index 1f6a79e..0000000 --- a/static/assets/images/hugo-logo-wide.svg +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/static/assets/images/logo-inverted.png b/static/assets/images/logo-inverted.png deleted file mode 100644 index a56bc42..0000000 Binary files a/static/assets/images/logo-inverted.png and /dev/null differ diff --git a/static/assets/images/logo.png b/static/assets/images/logo.png deleted file mode 100644 index 85ba151..0000000 Binary files a/static/assets/images/logo.png and /dev/null differ diff --git a/static/assets/js/list.js b/static/assets/js/list.js deleted file mode 100644 index 5ca2b52..0000000 --- a/static/assets/js/list.js +++ /dev/null @@ -1,110 +0,0 @@ -"use strict"; - -var filterizd; - -var isMobile = false, isTablet = false, isLaptop = false; -(function ($) { - jQuery(document).ready(function () { - function detectDevice() { - if (window.innerWidth <= 425) { - isMobile = true; - isTablet = false; - isLaptop = false; - } else if (window.innerWidth <= 768) { - isMobile = false; - isTablet = true; - isLaptop = false; - } else { - isMobile = false; - isTablet = false; - isLaptop = true; - } - } - detectDevice(); - - // ======= Adjust height of the post cards ============= - function adjustPostCardsHeight() { - if (!isMobile) { // no need to adjust height for mobile devices - let postCardHolder = document.getElementById("post-cards"); - if (postCardHolder == null ){ - return - } - let el = postCardHolder.children; - let maxHeight = 0; - for (let i = 0; i < el.length; i++) { - if (el[i].children[1].clientHeight > maxHeight) { - maxHeight = el[i].children[1].clientHeight; - } - } - for (let i = 0; i < el.length; i++) { - el[i].children[1].setAttribute("style", "min-height: " + maxHeight + "px;") - } - } - } - adjustPostCardsHeight(); - - // ============= Sidebar Tree ================ - function buildSidebarMenu() { - var openedClass = "fa-minus-circle"; - var closedClass = "fa-plus-circle"; - // initialize top level - var tree = $("#tree"); - // add expand icon to those li who has ul as children - tree.find("li").has("ul").each(function () { - var branch = $(this); - branch.prepend(''); - branch.on('click', function (e) { - if (this.children[1] == e.target) { - // toggle "expand" class and icon - branch.toggleClass("expand"); - var icon = $(this).children('i:first'); - icon.toggleClass(openedClass + " " + closedClass); - } - }); - }); - - // remove "expnad" class from siblings of the clicked item - tree.find("li").on("click", function () { - var item = $(this); - var shiblings = item.siblings().each(function () { - var sibling = $(this); - if (sibling.hasClass("expand")) { - sibling.removeClass("expand"); - var icon = sibling.children('i:first'); - icon.toggleClass(openedClass + " " + closedClass); - } - }); - }); - - // focus the cliked item - tree.find("a").on("click", function () { - // clear other focused link - tree.find("a.focused").each(function () { - $(this).removeClass("focused"); - }); - // focus cliked link - $(this).addClass("focused"); - }); - } - - buildSidebarMenu(); - // initialize filterizr - filterizd = $(".filtr-container").filterizr({ layout: 'sameWidth' }); - }); -})(jQuery); - -// toggle sidebar on click -function toggleSidebar() { - document.getElementById("sidebar").classList.toggle("hide"); - document.getElementById("content").classList.toggle("overley"); - - // if it is mobile device. then scroll to top. - if (isMobile && $("#sidebar").hasClass("hide")) { - document.body.scrollTop = 0; - document.documentElement.scrollTop = 0; - } - - setTimeout(function () { - filterizd.filterizr('sort'); - }, 300); -} diff --git a/static/assets/js/single.js b/static/assets/js/single.js deleted file mode 100644 index 31c8ec2..0000000 --- a/static/assets/js/single.js +++ /dev/null @@ -1,40 +0,0 @@ -"use strict"; - -var isMobile = false, isTablet = false, isLaptop = false; -(function ($) { - jQuery(document).ready(function () { - function detectDevice() { - if (window.innerWidth <= 425) { - isMobile = true; - isTablet = false; - isLaptop = false; - } else if (window.innerWidth <= 768) { - isMobile = false; - isTablet = true; - isLaptop = false; - } else { - isMobile = false; - isTablet = false; - isLaptop = true; - } - } - detectDevice(); - - // =========== Add anchor to the headers ================ - function addAnchor(element) { - element.innerHTML = `${element.innerHTML}`; - } - - var postContent = document.getElementById("post-content"); - if (postContent != null) { - var headerTypes = ["h1", "h2", "h3", "h4", "h5", "h6"]; - for (var i = 0; i < headerTypes.length; i++) { - var headers = postContent.querySelectorAll(headerTypes[i]); - if (headers) { - headers.forEach(addAnchor); - } - } - } - - }); -})(jQuery); diff --git a/static/assets/css/404.css b/static/css/404.css similarity index 75% rename from static/assets/css/404.css rename to static/css/404.css index ce1dea0..4ccb97c 100644 --- a/static/assets/css/404.css +++ b/static/css/404.css @@ -25,9 +25,9 @@ /* ============= Device specific fixes ======= */ -/* Extra small devices (portrait phones, less than 576px) */ - -/* No media query for `xs` since this is the default in Bootstrap */ +/* Large screens such as TV */ +@media only screen and (min-width: 1824px) { +} /* Extra large devices (large desktops, 1200px and up) */ @@ -41,6 +41,10 @@ } } +/* IPad Pro */ +@media (max-width: 1024px) { +} + /* Large devices (desktops, 992px and up) */ @media (max-width: 992px) { @@ -75,3 +79,15 @@ left: 2rem; } } + +/* iPhoneX, iPhone 6,7,8 */ +@media only screen and (max-width: 375px) { +} + +/* Galaxy S5, Moto G4 */ +@media only screen and (max-width: 360px) { +} + +/* iPhone 5 or before */ +@media only screen and (max-width: 320px) { +} diff --git a/static/assets/css/bootstrap.min.css b/static/css/bootstrap.min.css similarity index 99% rename from static/assets/css/bootstrap.min.css rename to static/css/bootstrap.min.css index 8826912..58a6c30 100644 --- a/static/assets/css/bootstrap.min.css +++ b/static/css/bootstrap.min.css @@ -4,4 +4,3 @@ * Copyright 2011-2018 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,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%;-ms-text-size-adjust:100%;-ms-overflow-style:scrollbar;-webkit-tap-highlight-color:transparent}@-ms-viewport{width:device-width}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,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{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}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}dfn{font-style:italic}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;-webkit-text-decoration-skip:objects}a:hover{color:#0056b3;text-decoration:underline}a:not([href]):not([tabindex]){color:inherit;text-decoration:none}a:not([href]):not([tabindex]):focus,a:not([href]):not([tabindex]):hover{color:inherit;text-decoration:none}a:not([href]):not([tabindex]):focus{outline:0}code,kbd,pre,samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:1em}pre{margin-top:0;margin-bottom:1rem;overflow:auto;-ms-overflow-style:scrollbar}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}[type=reset],[type=submit],button,html [type=button]{-webkit-appearance:button}[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-cancel-button,[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-family:inherit;font-weight:500;line-height:1.2;color:inherit}.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-break:break-word}a>code{color:inherit}kbd{padding:.2rem .4rem;font-size:87.5%;color:#fff;background-color:#212529;border-radius:.2rem}kbd kbd{padding:0;font-size:100%;font-weight:700}pre{display:block;font-size: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{width:100%;padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}.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%;min-height:1px;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%}.col-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:none}.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%}.col-sm-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:none}.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%}.col-md-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:none}.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%}.col-lg-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:none}.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%}.col-xl-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:none}.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;background-color:transparent}.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 .table{background-color:#fff}.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{background-color:rgba(0,0,0,.075)}.table-primary,.table-primary>td,.table-primary>th{background-color:#b8daff}.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-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-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-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-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-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-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-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:#212529;border-color:#32383e}.table .thead-light th{color:#495057;background-color:#e9ecef;border-color:#dee2e6}.table-dark{color:#fff;background-color:#212529}.table-dark td,.table-dark th,.table-dark thead th{border-color:#32383e}.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{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;-ms-overflow-style:-ms-autohiding-scrollbar}.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;-ms-overflow-style:-ms-autohiding-scrollbar}.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;-ms-overflow-style:-ms-autohiding-scrollbar}.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;-ms-overflow-style:-ms-autohiding-scrollbar}.table-responsive-xl>.table-bordered{border:0}}.table-responsive{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar}.table-responsive>.table-bordered{border:0}.form-control{display:block;width:100%;height:calc(2.25rem + 2px);padding:.375rem .75rem;font-size:1rem;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 screen and (prefers-reduced-motion:reduce){.form-control{transition:none}}.form-control::-ms-expand{background-color:transparent;border:0}.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-top:.375rem;padding-bottom:.375rem;margin-bottom:0;line-height:1.5;color:#212529;background-color:transparent;border:solid transparent;border-width:1px 0}.form-control-plaintext.form-control-lg,.form-control-plaintext.form-control-sm{padding-right:0;padding-left:0}.form-control-sm{height:calc(1.8125rem + 2px);padding:.25rem .5rem;font-size:.875rem;line-height:1.5;border-radius:.2rem}.form-control-lg{height:calc(2.875rem + 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{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}.custom-select.is-valid,.form-control.is-valid,.was-validated .custom-select:valid,.was-validated .form-control:valid{border-color:#28a745}.custom-select.is-valid:focus,.form-control.is-valid:focus,.was-validated .custom-select:valid:focus,.was-validated .form-control:valid:focus{border-color:#28a745;box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.custom-select.is-valid~.valid-feedback,.custom-select.is-valid~.valid-tooltip,.form-control.is-valid~.valid-feedback,.form-control.is-valid~.valid-tooltip,.was-validated .custom-select:valid~.valid-feedback,.was-validated .custom-select:valid~.valid-tooltip,.was-validated .form-control:valid~.valid-feedback,.was-validated .form-control:valid~.valid-tooltip{display:block}.form-control-file.is-valid~.valid-feedback,.form-control-file.is-valid~.valid-tooltip,.was-validated .form-control-file:valid~.valid-feedback,.was-validated .form-control-file:valid~.valid-tooltip{display:block}.form-check-input.is-valid~.form-check-label,.was-validated .form-check-input:valid~.form-check-label{color:#28a745}.form-check-input.is-valid~.valid-feedback,.form-check-input.is-valid~.valid-tooltip,.was-validated .form-check-input:valid~.valid-feedback,.was-validated .form-check-input:valid~.valid-tooltip{display:block}.custom-control-input.is-valid~.custom-control-label,.was-validated .custom-control-input:valid~.custom-control-label{color:#28a745}.custom-control-input.is-valid~.custom-control-label::before,.was-validated .custom-control-input:valid~.custom-control-label::before{background-color:#71dd8a}.custom-control-input.is-valid~.valid-feedback,.custom-control-input.is-valid~.valid-tooltip,.was-validated .custom-control-input:valid~.valid-feedback,.was-validated .custom-control-input:valid~.valid-tooltip{display:block}.custom-control-input.is-valid:checked~.custom-control-label::before,.was-validated .custom-control-input:valid:checked~.custom-control-label::before{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 1px #fff,0 0 0 .2rem rgba(40,167,69,.25)}.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~.custom-file-label::after,.was-validated .custom-file-input:valid~.custom-file-label::after{border-color:inherit}.custom-file-input.is-valid~.valid-feedback,.custom-file-input.is-valid~.valid-tooltip,.was-validated .custom-file-input:valid~.valid-feedback,.was-validated .custom-file-input:valid~.valid-tooltip{display:block}.custom-file-input.is-valid:focus~.custom-file-label,.was-validated .custom-file-input:valid:focus~.custom-file-label{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}.custom-select.is-invalid,.form-control.is-invalid,.was-validated .custom-select:invalid,.was-validated .form-control:invalid{border-color:#dc3545}.custom-select.is-invalid:focus,.form-control.is-invalid:focus,.was-validated .custom-select:invalid:focus,.was-validated .form-control:invalid:focus{border-color:#dc3545;box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.custom-select.is-invalid~.invalid-feedback,.custom-select.is-invalid~.invalid-tooltip,.form-control.is-invalid~.invalid-feedback,.form-control.is-invalid~.invalid-tooltip,.was-validated .custom-select:invalid~.invalid-feedback,.was-validated .custom-select:invalid~.invalid-tooltip,.was-validated .form-control:invalid~.invalid-feedback,.was-validated .form-control:invalid~.invalid-tooltip{display:block}.form-control-file.is-invalid~.invalid-feedback,.form-control-file.is-invalid~.invalid-tooltip,.was-validated .form-control-file:invalid~.invalid-feedback,.was-validated .form-control-file:invalid~.invalid-tooltip{display:block}.form-check-input.is-invalid~.form-check-label,.was-validated .form-check-input:invalid~.form-check-label{color:#dc3545}.form-check-input.is-invalid~.invalid-feedback,.form-check-input.is-invalid~.invalid-tooltip,.was-validated .form-check-input:invalid~.invalid-feedback,.was-validated .form-check-input:invalid~.invalid-tooltip{display:block}.custom-control-input.is-invalid~.custom-control-label,.was-validated .custom-control-input:invalid~.custom-control-label{color:#dc3545}.custom-control-input.is-invalid~.custom-control-label::before,.was-validated .custom-control-input:invalid~.custom-control-label::before{background-color:#efa2a9}.custom-control-input.is-invalid~.invalid-feedback,.custom-control-input.is-invalid~.invalid-tooltip,.was-validated .custom-control-input:invalid~.invalid-feedback,.was-validated .custom-control-input:invalid~.invalid-tooltip{display:block}.custom-control-input.is-invalid:checked~.custom-control-label::before,.was-validated .custom-control-input:invalid:checked~.custom-control-label::before{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 1px #fff,0 0 0 .2rem rgba(220,53,69,.25)}.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~.custom-file-label::after,.was-validated .custom-file-input:invalid~.custom-file-label::after{border-color:inherit}.custom-file-input.is-invalid~.invalid-feedback,.custom-file-input.is-invalid~.invalid-tooltip,.was-validated .custom-file-input:invalid~.invalid-feedback,.was-validated .custom-file-input:invalid~.invalid-tooltip{display:block}.custom-file-input.is-invalid:focus~.custom-file-label,.was-validated .custom-file-input:invalid:focus~.custom-file-label{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;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;text-align:center;white-space:nowrap;vertical-align:middle;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;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 screen and (prefers-reduced-motion:reduce){.btn{transition:none}}.btn:focus,.btn:hover{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}.btn:not(:disabled):not(.disabled){cursor:pointer}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{box-shadow:0 0 0 .2rem rgba(0,123,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(0,123,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{box-shadow:0 0 0 .2rem rgba(108,117,125,.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(108,117,125,.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{box-shadow:0 0 0 .2rem rgba(40,167,69,.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(40,167,69,.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{box-shadow:0 0 0 .2rem rgba(23,162,184,.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(23,162,184,.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{box-shadow:0 0 0 .2rem rgba(255,193,7,.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(255,193,7,.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{box-shadow:0 0 0 .2rem rgba(220,53,69,.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(220,53,69,.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{box-shadow:0 0 0 .2rem rgba(248,249,250,.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(248,249,250,.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{box-shadow:0 0 0 .2rem rgba(52,58,64,.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(52,58,64,.5)}.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 .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;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 .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;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 .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;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 .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;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 .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;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 .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;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 .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;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 .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;background-color:transparent}.btn-link:hover{color:#0056b3;text-decoration:underline;background-color:transparent;border-color:transparent}.btn-link.focus,.btn-link:focus{text-decoration:underline;border-color:transparent;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 screen and (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 screen and (prefers-reduced-motion:reduce){.collapsing{transition:none}}.dropdown,.dropleft,.dropright,.dropup{position:relative}.dropdown-toggle::after{display:inline-block;width:0;height:0;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid;border-right:.3em solid transparent;border-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-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;width:0;height:0;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;width:0;height:0;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;width:0;height:0;margin-left:.255em;vertical-align:.255em;content:""}.dropleft .dropdown-toggle::after{display:none}.dropleft .dropdown-toggle::before{display:inline-block;width:0;height:0;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;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:0 1 auto;flex:0 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-group .btn+.btn,.btn-group .btn+.btn-group,.btn-group .btn-group+.btn,.btn-group .btn-group+.btn-group,.btn-group-vertical .btn+.btn,.btn-group-vertical .btn+.btn-group,.btn-group-vertical .btn-group+.btn,.btn-group-vertical .btn-group+.btn-group{margin-left:-1px}.btn-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:first-child{margin-left:0}.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+.btn,.btn-group-vertical>.btn+.btn-group,.btn-group-vertical>.btn-group+.btn,.btn-group-vertical>.btn-group+.btn-group{margin-top:-1px;margin-left:0}.btn-group-vertical>.btn-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{position:relative;-ms-flex:1 1 auto;flex:1 1 auto;width:1%;margin-bottom:0}.input-group>.custom-file+.custom-file,.input-group>.custom-file+.custom-select,.input-group>.custom-file+.form-control,.input-group>.custom-select+.custom-file,.input-group>.custom-select+.custom-select,.input-group>.custom-select+.form-control,.input-group>.form-control+.custom-file,.input-group>.form-control+.custom-select,.input-group>.form-control+.form-control{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+.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>.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{height:calc(2.875rem + 2px);padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:.3rem}.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{height:calc(1.8125rem + 2px);padding:.25rem .5rem;font-size:.875rem;line-height:1.5;border-radius:.2rem}.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;z-index:-1;opacity:0}.custom-control-input:checked~.custom-control-label::before{color:#fff;background-color:#007bff}.custom-control-input:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(0,123,255,.25)}.custom-control-input:active~.custom-control-label::before{color:#fff;background-color:#b3d7ff}.custom-control-input:disabled~.custom-control-label{color:#6c757d}.custom-control-input:disabled~.custom-control-label::before{background-color:#e9ecef}.custom-control-label{position:relative;margin-bottom:0}.custom-control-label::before{position:absolute;top:.25rem;left:-1.5rem;display:block;width:1rem;height:1rem;pointer-events:none;content:"";-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-color:#dee2e6}.custom-control-label::after{position:absolute;top:.25rem;left:-1.5rem;display:block;width:1rem;height:1rem;content:"";background-repeat:no-repeat;background-position:center center;background-size:50% 50%}.custom-checkbox .custom-control-label::before{border-radius:.25rem}.custom-checkbox .custom-control-input:checked~.custom-control-label::before{background-color:#007bff}.custom-checkbox .custom-control-input:checked~.custom-control-label::after{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E")}.custom-checkbox .custom-control-input:indeterminate~.custom-control-label::before{background-color:#007bff}.custom-checkbox .custom-control-input:indeterminate~.custom-control-label::after{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 4'%3E%3Cpath stroke='%23fff' d='M0 2h4'/%3E%3C/svg%3E")}.custom-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::before{background-color:#007bff}.custom-radio .custom-control-input:checked~.custom-control-label::after{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='%23fff'/%3E%3C/svg%3E")}.custom-radio .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(2.25rem + 2px);padding:.375rem 1.75rem .375rem .75rem;line-height:1.5;color:#495057;vertical-align:middle;background:#fff url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3E%3Cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3E%3C/svg%3E") no-repeat right .75rem center;background-size: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(128,189,255,.5)}.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{opacity:0}.custom-select-sm{height:calc(1.8125rem + 2px);padding-top:.375rem;padding-bottom:.375rem;font-size:75%}.custom-select-lg{height:calc(2.875rem + 2px);padding-top:.375rem;padding-bottom:.375rem;font-size:125%}.custom-file{position:relative;display:inline-block;width:100%;height:calc(2.25rem + 2px);margin-bottom:0}.custom-file-input{position:relative;z-index:2;width:100%;height:calc(2.25rem + 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:focus~.custom-file-label::after{border-color:#80bdff}.custom-file-input:disabled~.custom-file-label{background-color:#e9ecef}.custom-file-input:lang(en)~.custom-file-label::after{content:"Browse"}.custom-file-label{position:absolute;top:0;right:0;left:0;z-index:1;height:calc(2.25rem + 2px);padding:.375rem .75rem;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:2.25rem;padding:.375rem .75rem;line-height:1.5;color:#495057;content:"Browse";background-color:#e9ecef;border-left:1px solid #ced4da;border-radius:0 .25rem .25rem 0}.custom-range{width:100%;padding-left: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;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 screen and (prefers-reduced-motion:reduce){.custom-range::-webkit-slider-thumb{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;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 screen and (prefers-reduced-motion:reduce){.custom-range::-moz-range-thumb{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;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;appearance:none}@media screen and (prefers-reduced-motion:reduce){.custom-range::-ms-thumb{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-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 screen and (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}.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{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:not(:disabled):not(.disabled){cursor:pointer}.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{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{-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{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{-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{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{-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{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{-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{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{-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;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(0, 0, 0, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E")}.navbar-light .navbar-text{color:rgba(0,0,0,.5)}.navbar-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;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(255, 255, 255, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E")}.navbar-dark .navbar-text{color:rgba(255,255,255,.5)}.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;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{width:100%;border-radius:calc(.25rem - 1px)}.card-img-top{width:100%;border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.card-img-bottom{width:100%;border-bottom-right-radius:calc(.25rem - 1px);border-bottom-left-radius:calc(.25rem - 1px)}.card-deck{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}.card-deck .card{margin-bottom:15px}@media (min-width:576px){.card-deck{-ms-flex-flow:row wrap;flex-flow:row wrap;margin-right:-15px;margin-left:-15px}.card-deck .card{display:-ms-flexbox;display:flex;-ms-flex:1 0 0%;flex:1 0 0%;-ms-flex-direction:column;flex-direction:column;margin-right:15px;margin-bottom:0;margin-left:15px}}.card-group{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}.card-group>.card{margin-bottom:15px}@media (min-width:576px){.card-group{-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:first-child{border-top-right-radius:0;border-bottom-right-radius:0}.card-group>.card:first-child .card-header,.card-group>.card:first-child .card-img-top{border-top-right-radius:0}.card-group>.card:first-child .card-footer,.card-group>.card:first-child .card-img-bottom{border-bottom-right-radius:0}.card-group>.card:last-child{border-top-left-radius:0;border-bottom-left-radius:0}.card-group>.card:last-child .card-header,.card-group>.card:last-child .card-img-top{border-top-left-radius:0}.card-group>.card:last-child .card-footer,.card-group>.card:last-child .card-img-bottom{border-bottom-left-radius:0}.card-group>.card:only-child{border-radius:.25rem}.card-group>.card:only-child .card-header,.card-group>.card:only-child .card-img-top{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.card-group>.card:only-child .card-footer,.card-group>.card:only-child .card-img-bottom{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.card-group>.card:not(:first-child):not(:last-child):not(:only-child){border-radius:0}.card-group>.card:not(:first-child):not(:last-child):not(:only-child) .card-footer,.card-group>.card:not(:first-child):not(:last-child):not(:only-child) .card-header,.card-group>.card:not(:first-child):not(:last-child):not(:only-child) .card-img-bottom,.card-group>.card:not(:first-child):not(:last-child):not(:only-child) .card-img-top{border-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:not(:first-of-type):not(:last-of-type){border-bottom:0;border-radius:0}.accordion .card:not(:first-of-type) .card-header:first-child{border-radius:0}.accordion .card:first-of-type{border-bottom:0;border-bottom-right-radius:0;border-bottom-left-radius:0}.accordion .card:last-of-type{border-top-left-radius:0;border-top-right-radius:0}.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:2;outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.page-link:not(:disabled):not(.disabled){cursor:pointer}.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:1;color:#fff;background-color:#007bff;border-color:#007bff}.page-item.disabled .page-link{color:#6c757d;pointer-events:none;cursor:auto;background-color:#fff;border-color:#dee2e6}.pagination-lg .page-link{padding:.75rem 1.5rem;font-size:1.25rem;line-height:1.5}.pagination-lg .page-item:first-child .page-link{border-top-left-radius:.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}.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}.badge-primary[href]:focus,.badge-primary[href]:hover{color:#fff;text-decoration:none;background-color:#0062cc}.badge-secondary{color:#fff;background-color:#6c757d}.badge-secondary[href]:focus,.badge-secondary[href]:hover{color:#fff;text-decoration:none;background-color:#545b62}.badge-success{color:#fff;background-color:#28a745}.badge-success[href]:focus,.badge-success[href]:hover{color:#fff;text-decoration:none;background-color:#1e7e34}.badge-info{color:#fff;background-color:#17a2b8}.badge-info[href]:focus,.badge-info[href]:hover{color:#fff;text-decoration:none;background-color:#117a8b}.badge-warning{color:#212529;background-color:#ffc107}.badge-warning[href]:focus,.badge-warning[href]:hover{color:#212529;text-decoration:none;background-color:#d39e00}.badge-danger{color:#fff;background-color:#dc3545}.badge-danger[href]:focus,.badge-danger[href]:hover{color:#fff;text-decoration:none;background-color:#bd2130}.badge-light{color:#212529;background-color:#f8f9fa}.badge-light[href]:focus,.badge-light[href]:hover{color:#212529;text-decoration:none;background-color:#dae0e5}.badge-dark{color:#fff;background-color:#343a40}.badge-dark[href]:focus,.badge-dark[href]:hover{color:#fff;text-decoration:none;background-color:#1d2124}.jumbotron{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;color:#fff;text-align:center;white-space:nowrap;background-color:#007bff;transition:width .6s ease}@media screen and (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{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{color:#495057;text-decoration:none;background-color:#f8f9fa}.list-group-item-action:active{color:#212529;background-color:#e9ecef}.list-group-item{position:relative;display:block;padding:.75rem 1.25rem;margin-bottom:-1px;background-color:#fff;border:1px solid rgba(0,0,0,.125)}.list-group-item:first-child{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.list-group-item:focus,.list-group-item:hover{z-index:1;text-decoration:none}.list-group-item.disabled,.list-group-item:disabled{color:#6c757d;background-color:#fff}.list-group-item.active{z-index:2;color:#fff;background-color:#007bff;border-color:#007bff}.list-group-flush .list-group-item{border-right:0;border-left:0;border-radius:0}.list-group-flush:first-child .list-group-item:first-child{border-top:0}.list-group-flush:last-child .list-group-item:last-child{border-bottom:0}.list-group-item-primary{color:#004085;background-color:#b8daff}.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:not(:disabled):not(.disabled){cursor:pointer}.close:not(:disabled):not(.disabled):focus,.close:not(:disabled):not(.disabled):hover{color:#000;text-decoration:none;opacity:.75}button.close{padding:0;background-color:transparent;border:0;-webkit-appearance:none}.modal-open{overflow:hidden}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1050;display:none;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,-25%);transform:translate(0,-25%)}@media screen and (prefers-reduced-motion:reduce){.modal.fade .modal-dialog{transition:none}}.modal.show .modal-dialog{-webkit-transform:translate(0,0);transform:translate(0,0)}.modal-dialog-centered{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;min-height:calc(100% - (.5rem * 2))}.modal-dialog-centered::before{display:block;height:calc(100vh - (.5rem * 2));content:""}.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;right:0;bottom:0;left:0;z-index:1040;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;border-bottom:1px solid #e9ecef;border-top-left-radius:.3rem;border-top-right-radius:.3rem}.modal-header .close{padding: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-align:center;align-items:center;-ms-flex-pack:end;justify-content:flex-end;padding:1rem;border-top:1px solid #e9ecef}.modal-footer>:not(:first-child){margin-left:.25rem}.modal-footer>:not(:last-child){margin-right:.25rem}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width:576px){.modal-dialog{max-width:500px;margin:1.75rem auto}.modal-dialog-centered{min-height:calc(100% - (1.75rem * 2))}.modal-dialog-centered::before{height:calc(100vh - (1.75rem * 2))}.modal-sm{max-width:300px}}@media (min-width:992px){.modal-lg{max-width:800px}}.tooltip{position:absolute;z-index:1070;display:block;margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,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,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) * -1)}.bs-popover-auto[x-placement^=top] .arrow::after,.bs-popover-auto[x-placement^=top] .arrow::before,.bs-popover-top .arrow::after,.bs-popover-top .arrow::before{border-width:.5rem .5rem 0}.bs-popover-auto[x-placement^=top] .arrow::before,.bs-popover-top .arrow::before{bottom: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-top-color:#fff}.bs-popover-auto[x-placement^=right],.bs-popover-right{margin-left:.5rem}.bs-popover-auto[x-placement^=right] .arrow,.bs-popover-right .arrow{left:calc((.5rem + 1px) * -1);width:.5rem;height:1rem;margin:.3rem 0}.bs-popover-auto[x-placement^=right] .arrow::after,.bs-popover-auto[x-placement^=right] .arrow::before,.bs-popover-right .arrow::after,.bs-popover-right .arrow::before{border-width:.5rem .5rem .5rem 0}.bs-popover-auto[x-placement^=right] .arrow::before,.bs-popover-right .arrow::before{left: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-right-color:#fff}.bs-popover-auto[x-placement^=bottom],.bs-popover-bottom{margin-top:.5rem}.bs-popover-auto[x-placement^=bottom] .arrow,.bs-popover-bottom .arrow{top:calc((.5rem + 1px) * -1)}.bs-popover-auto[x-placement^=bottom] .arrow::after,.bs-popover-auto[x-placement^=bottom] .arrow::before,.bs-popover-bottom .arrow::after,.bs-popover-bottom .arrow::before{border-width:0 .5rem .5rem .5rem}.bs-popover-auto[x-placement^=bottom] .arrow::before,.bs-popover-bottom .arrow::before{top:0;border-bottom-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=bottom] .arrow::after,.bs-popover-bottom .arrow::after{top:1px;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) * -1);width:.5rem;height:1rem;margin:.3rem 0}.bs-popover-auto[x-placement^=left] .arrow::after,.bs-popover-auto[x-placement^=left] .arrow::before,.bs-popover-left .arrow::after,.bs-popover-left .arrow::before{border-width:.5rem 0 .5rem .5rem}.bs-popover-auto[x-placement^=left] .arrow::before,.bs-popover-left .arrow::before{right:0;border-left-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=left] .arrow::after,.bs-popover-left .arrow::after{right:1px;border-left-color:#fff}.popover-header{padding:.5rem .75rem;margin-bottom:0;font-size:1rem;color:inherit;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-inner{position:relative;width:100%;overflow:hidden}.carousel-item{position:relative;display:none;-ms-flex-align:center;align-items:center;width:100%;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-perspective:1000px;perspective:1000px}.carousel-item-next,.carousel-item-prev,.carousel-item.active{display:block;transition:-webkit-transform .6s ease;transition:transform .6s ease;transition:transform .6s ease,-webkit-transform .6s ease}@media screen and (prefers-reduced-motion:reduce){.carousel-item-next,.carousel-item-prev,.carousel-item.active{transition:none}}.carousel-item-next,.carousel-item-prev{position:absolute;top:0}.carousel-item-next.carousel-item-left,.carousel-item-prev.carousel-item-right{-webkit-transform:translateX(0);transform:translateX(0)}@supports ((-webkit-transform-style:preserve-3d) or (transform-style:preserve-3d)){.carousel-item-next.carousel-item-left,.carousel-item-prev.carousel-item-right{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}.active.carousel-item-right,.carousel-item-next{-webkit-transform:translateX(100%);transform:translateX(100%)}@supports ((-webkit-transform-style:preserve-3d) or (transform-style:preserve-3d)){.active.carousel-item-right,.carousel-item-next{-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}}.active.carousel-item-left,.carousel-item-prev{-webkit-transform:translateX(-100%);transform:translateX(-100%)}@supports ((-webkit-transform-style:preserve-3d) or (transform-style:preserve-3d)){.active.carousel-item-left,.carousel-item-prev{-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}}.carousel-fade .carousel-item{opacity:0;transition-duration:.6s;transition-property:opacity}.carousel-fade .carousel-item-next.carousel-item-left,.carousel-fade .carousel-item-prev.carousel-item-right,.carousel-fade .carousel-item.active{opacity:1}.carousel-fade .active.carousel-item-left,.carousel-fade .active.carousel-item-right{opacity:0}.carousel-fade .active.carousel-item-left,.carousel-fade .active.carousel-item-prev,.carousel-fade .carousel-item-next,.carousel-fade .carousel-item-prev,.carousel-fade .carousel-item.active{-webkit-transform:translateX(0);transform:translateX(0)}@supports ((-webkit-transform-style:preserve-3d) or (transform-style:preserve-3d)){.carousel-fade .active.carousel-item-left,.carousel-fade .active.carousel-item-prev,.carousel-fade .carousel-item-next,.carousel-fade .carousel-item-prev,.carousel-fade .carousel-item.active{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}.carousel-control-next,.carousel-control-prev{position:absolute;top:0;bottom:0;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}.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:transparent no-repeat center center;background-size:100% 100%}.carousel-control-prev-icon{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3E%3Cpath d='M5.25 0l-4 4 4 4 1.5-1.5-2.5-2.5 2.5-2.5-1.5-1.5z'/%3E%3C/svg%3E")}.carousel-control-next-icon{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3E%3Cpath d='M2.75 0l-1.5 1.5 2.5 2.5-2.5 2.5 1.5 1.5 4-4-4-4z'/%3E%3C/svg%3E")}.carousel-indicators{position:absolute;right:0;bottom:10px;left:0;z-index:15;display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center;padding-left:0;margin-right:15%;margin-left:15%;list-style:none}.carousel-indicators li{position:relative;-ms-flex:0 1 auto;flex:0 1 auto;width:30px;height:3px;margin-right:3px;margin-left:3px;text-indent:-999px;cursor:pointer;background-color:rgba(255,255,255,.5)}.carousel-indicators li::before{position:absolute;top:-10px;left:0;display:inline-block;width:100%;height:10px;content:""}.carousel-indicators li::after{position:absolute;bottom:-10px;left:0;display:inline-block;width:100%;height:10px;content:""}.carousel-indicators .active{background-color:#fff}.carousel-caption{position:absolute;right:15%;bottom:20px;left:15%;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center}.align-baseline{vertical-align:baseline!important}.align-top{vertical-align:top!important}.align-middle{vertical-align:middle!important}.align-bottom{vertical-align:bottom!important}.align-text-bottom{vertical-align:text-bottom!important}.align-text-top{vertical-align:text-top!important}.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{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-circle{border-radius:50%!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}}.position-static{position:static!important}.position-relative{position:relative!important}.position-absolute{position:absolute!important}.position-fixed{position:fixed!important}.position-sticky{position:-webkit-sticky!important;position:sticky!important}.fixed-top{position:fixed;top:0;right:0;left:0;z-index:1030}.fixed-bottom{position:fixed;right:0;bottom:0;left:0;z-index:1030}@supports ((position:-webkit-sticky) or (position:sticky)){.sticky-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;overflow:visible;clip:auto;white-space:normal}.shadow-sm{box-shadow:0 .125rem .25rem rgba(0,0,0,.075)!important}.shadow{box-shadow:0 .5rem 1rem rgba(0,0,0,.15)!important}.shadow-lg{box-shadow:0 1rem 3rem rgba(0,0,0,.175)!important}.shadow-none{box-shadow:none!important}.w-25{width:25%!important}.w-50{width:50%!important}.w-75{width:75%!important}.w-100{width:100%!important}.w-auto{width:auto!important}.h-25{height:25%!important}.h-50{height:50%!important}.h-75{height:75%!important}.h-100{height:100%!important}.h-auto{height:auto!important}.mw-100{max-width:100%!important}.mh-100{max-height:100%!important}.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-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-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-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-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-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}.text-justify{text-align:justify!important}.text-nowrap{white-space:nowrap!important}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-left{text-align:left!important}.text-right{text-align:right!important}.text-center{text-align:center!important}@media (min-width:576px){.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-normal{font-weight:400!important}.font-weight-bold{font-weight:700!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:#0062cc!important}.text-secondary{color:#6c757d!important}a.text-secondary:focus,a.text-secondary:hover{color:#545b62!important}.text-success{color:#28a745!important}a.text-success:focus,a.text-success:hover{color:#1e7e34!important}.text-info{color:#17a2b8!important}a.text-info:focus,a.text-info:hover{color:#117a8b!important}.text-warning{color:#ffc107!important}a.text-warning:focus,a.text-warning:hover{color:#d39e00!important}.text-danger{color:#dc3545!important}a.text-danger:focus,a.text-danger:hover{color:#bd2130!important}.text-light{color:#f8f9fa!important}a.text-light:focus,a.text-light:hover{color:#dae0e5!important}.text-dark{color:#343a40!important}a.text-dark:focus,a.text-dark:hover{color:#1d2124!important}.text-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}.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/static/css/flag-icon.min.css b/static/css/flag-icon.min.css new file mode 100644 index 0000000..405061b --- /dev/null +++ b/static/css/flag-icon.min.css @@ -0,0 +1 @@ +.flag-icon-background{background-size:contain;background-position:50%;background-repeat:no-repeat}.flag-icon{background-size:contain;background-position:50%;background-repeat:no-repeat;position:relative;display:inline-block;width:1.33333333em;line-height:1em}.flag-icon:before{content:'\00a0'}.flag-icon.flag-icon-squared{width:1em}.flag-icon-ad{background-image:url(../flags/4x3/ad.svg)}.flag-icon-ad.flag-icon-squared{background-image:url(../flags/1x1/ad.svg)}.flag-icon-ae{background-image:url(../flags/4x3/ae.svg)}.flag-icon-ae.flag-icon-squared{background-image:url(../flags/1x1/ae.svg)}.flag-icon-af{background-image:url(../flags/4x3/af.svg)}.flag-icon-af.flag-icon-squared{background-image:url(../flags/1x1/af.svg)}.flag-icon-ag{background-image:url(../flags/4x3/ag.svg)}.flag-icon-ag.flag-icon-squared{background-image:url(../flags/1x1/ag.svg)}.flag-icon-ai{background-image:url(../flags/4x3/ai.svg)}.flag-icon-ai.flag-icon-squared{background-image:url(../flags/1x1/ai.svg)}.flag-icon-al{background-image:url(../flags/4x3/al.svg)}.flag-icon-al.flag-icon-squared{background-image:url(../flags/1x1/al.svg)}.flag-icon-am{background-image:url(../flags/4x3/am.svg)}.flag-icon-am.flag-icon-squared{background-image:url(../flags/1x1/am.svg)}.flag-icon-ao{background-image:url(../flags/4x3/ao.svg)}.flag-icon-ao.flag-icon-squared{background-image:url(../flags/1x1/ao.svg)}.flag-icon-aq{background-image:url(../flags/4x3/aq.svg)}.flag-icon-aq.flag-icon-squared{background-image:url(../flags/1x1/aq.svg)}.flag-icon-ar{background-image:url(../flags/4x3/ar.svg)}.flag-icon-ar.flag-icon-squared{background-image:url(../flags/1x1/ar.svg)}.flag-icon-as{background-image:url(../flags/4x3/as.svg)}.flag-icon-as.flag-icon-squared{background-image:url(../flags/1x1/as.svg)}.flag-icon-at{background-image:url(../flags/4x3/at.svg)}.flag-icon-at.flag-icon-squared{background-image:url(../flags/1x1/at.svg)}.flag-icon-au{background-image:url(../flags/4x3/au.svg)}.flag-icon-au.flag-icon-squared{background-image:url(../flags/1x1/au.svg)}.flag-icon-aw{background-image:url(../flags/4x3/aw.svg)}.flag-icon-aw.flag-icon-squared{background-image:url(../flags/1x1/aw.svg)}.flag-icon-ax{background-image:url(../flags/4x3/ax.svg)}.flag-icon-ax.flag-icon-squared{background-image:url(../flags/1x1/ax.svg)}.flag-icon-az{background-image:url(../flags/4x3/az.svg)}.flag-icon-az.flag-icon-squared{background-image:url(../flags/1x1/az.svg)}.flag-icon-ba{background-image:url(../flags/4x3/ba.svg)}.flag-icon-ba.flag-icon-squared{background-image:url(../flags/1x1/ba.svg)}.flag-icon-bb{background-image:url(../flags/4x3/bb.svg)}.flag-icon-bb.flag-icon-squared{background-image:url(../flags/1x1/bb.svg)}.flag-icon-bd{background-image:url(../flags/4x3/bd.svg)}.flag-icon-bd.flag-icon-squared{background-image:url(../flags/1x1/bd.svg)}.flag-icon-be{background-image:url(../flags/4x3/be.svg)}.flag-icon-be.flag-icon-squared{background-image:url(../flags/1x1/be.svg)}.flag-icon-bf{background-image:url(../flags/4x3/bf.svg)}.flag-icon-bf.flag-icon-squared{background-image:url(../flags/1x1/bf.svg)}.flag-icon-bg{background-image:url(../flags/4x3/bg.svg)}.flag-icon-bg.flag-icon-squared{background-image:url(../flags/1x1/bg.svg)}.flag-icon-bh{background-image:url(../flags/4x3/bh.svg)}.flag-icon-bh.flag-icon-squared{background-image:url(../flags/1x1/bh.svg)}.flag-icon-bi{background-image:url(../flags/4x3/bi.svg)}.flag-icon-bi.flag-icon-squared{background-image:url(../flags/1x1/bi.svg)}.flag-icon-bj{background-image:url(../flags/4x3/bj.svg)}.flag-icon-bj.flag-icon-squared{background-image:url(../flags/1x1/bj.svg)}.flag-icon-bl{background-image:url(../flags/4x3/bl.svg)}.flag-icon-bl.flag-icon-squared{background-image:url(../flags/1x1/bl.svg)}.flag-icon-bm{background-image:url(../flags/4x3/bm.svg)}.flag-icon-bm.flag-icon-squared{background-image:url(../flags/1x1/bm.svg)}.flag-icon-bn{background-image:url(../flags/4x3/bn.svg)}.flag-icon-bn.flag-icon-squared{background-image:url(../flags/1x1/bn.svg)}.flag-icon-bo{background-image:url(../flags/4x3/bo.svg)}.flag-icon-bo.flag-icon-squared{background-image:url(../flags/1x1/bo.svg)}.flag-icon-bq{background-image:url(../flags/4x3/bq.svg)}.flag-icon-bq.flag-icon-squared{background-image:url(../flags/1x1/bq.svg)}.flag-icon-br{background-image:url(../flags/4x3/br.svg)}.flag-icon-br.flag-icon-squared{background-image:url(../flags/1x1/br.svg)}.flag-icon-bs{background-image:url(../flags/4x3/bs.svg)}.flag-icon-bs.flag-icon-squared{background-image:url(../flags/1x1/bs.svg)}.flag-icon-bt{background-image:url(../flags/4x3/bt.svg)}.flag-icon-bt.flag-icon-squared{background-image:url(../flags/1x1/bt.svg)}.flag-icon-bv{background-image:url(../flags/4x3/bv.svg)}.flag-icon-bv.flag-icon-squared{background-image:url(../flags/1x1/bv.svg)}.flag-icon-bw{background-image:url(../flags/4x3/bw.svg)}.flag-icon-bw.flag-icon-squared{background-image:url(../flags/1x1/bw.svg)}.flag-icon-by{background-image:url(../flags/4x3/by.svg)}.flag-icon-by.flag-icon-squared{background-image:url(../flags/1x1/by.svg)}.flag-icon-bz{background-image:url(../flags/4x3/bz.svg)}.flag-icon-bz.flag-icon-squared{background-image:url(../flags/1x1/bz.svg)}.flag-icon-ca{background-image:url(../flags/4x3/ca.svg)}.flag-icon-ca.flag-icon-squared{background-image:url(../flags/1x1/ca.svg)}.flag-icon-cc{background-image:url(../flags/4x3/cc.svg)}.flag-icon-cc.flag-icon-squared{background-image:url(../flags/1x1/cc.svg)}.flag-icon-cd{background-image:url(../flags/4x3/cd.svg)}.flag-icon-cd.flag-icon-squared{background-image:url(../flags/1x1/cd.svg)}.flag-icon-cf{background-image:url(../flags/4x3/cf.svg)}.flag-icon-cf.flag-icon-squared{background-image:url(../flags/1x1/cf.svg)}.flag-icon-cg{background-image:url(../flags/4x3/cg.svg)}.flag-icon-cg.flag-icon-squared{background-image:url(../flags/1x1/cg.svg)}.flag-icon-ch{background-image:url(../flags/4x3/ch.svg)}.flag-icon-ch.flag-icon-squared{background-image:url(../flags/1x1/ch.svg)}.flag-icon-ci{background-image:url(../flags/4x3/ci.svg)}.flag-icon-ci.flag-icon-squared{background-image:url(../flags/1x1/ci.svg)}.flag-icon-ck{background-image:url(../flags/4x3/ck.svg)}.flag-icon-ck.flag-icon-squared{background-image:url(../flags/1x1/ck.svg)}.flag-icon-cl{background-image:url(../flags/4x3/cl.svg)}.flag-icon-cl.flag-icon-squared{background-image:url(../flags/1x1/cl.svg)}.flag-icon-cm{background-image:url(../flags/4x3/cm.svg)}.flag-icon-cm.flag-icon-squared{background-image:url(../flags/1x1/cm.svg)}.flag-icon-cn{background-image:url(../flags/4x3/cn.svg)}.flag-icon-cn.flag-icon-squared{background-image:url(../flags/1x1/cn.svg)}.flag-icon-co{background-image:url(../flags/4x3/co.svg)}.flag-icon-co.flag-icon-squared{background-image:url(../flags/1x1/co.svg)}.flag-icon-cr{background-image:url(../flags/4x3/cr.svg)}.flag-icon-cr.flag-icon-squared{background-image:url(../flags/1x1/cr.svg)}.flag-icon-cu{background-image:url(../flags/4x3/cu.svg)}.flag-icon-cu.flag-icon-squared{background-image:url(../flags/1x1/cu.svg)}.flag-icon-cv{background-image:url(../flags/4x3/cv.svg)}.flag-icon-cv.flag-icon-squared{background-image:url(../flags/1x1/cv.svg)}.flag-icon-cw{background-image:url(../flags/4x3/cw.svg)}.flag-icon-cw.flag-icon-squared{background-image:url(../flags/1x1/cw.svg)}.flag-icon-cx{background-image:url(../flags/4x3/cx.svg)}.flag-icon-cx.flag-icon-squared{background-image:url(../flags/1x1/cx.svg)}.flag-icon-cy{background-image:url(../flags/4x3/cy.svg)}.flag-icon-cy.flag-icon-squared{background-image:url(../flags/1x1/cy.svg)}.flag-icon-cz{background-image:url(../flags/4x3/cz.svg)}.flag-icon-cz.flag-icon-squared{background-image:url(../flags/1x1/cz.svg)}.flag-icon-de{background-image:url(../flags/4x3/de.svg)}.flag-icon-de.flag-icon-squared{background-image:url(../flags/1x1/de.svg)}.flag-icon-dj{background-image:url(../flags/4x3/dj.svg)}.flag-icon-dj.flag-icon-squared{background-image:url(../flags/1x1/dj.svg)}.flag-icon-dk{background-image:url(../flags/4x3/dk.svg)}.flag-icon-dk.flag-icon-squared{background-image:url(../flags/1x1/dk.svg)}.flag-icon-dm{background-image:url(../flags/4x3/dm.svg)}.flag-icon-dm.flag-icon-squared{background-image:url(../flags/1x1/dm.svg)}.flag-icon-do{background-image:url(../flags/4x3/do.svg)}.flag-icon-do.flag-icon-squared{background-image:url(../flags/1x1/do.svg)}.flag-icon-dz{background-image:url(../flags/4x3/dz.svg)}.flag-icon-dz.flag-icon-squared{background-image:url(../flags/1x1/dz.svg)}.flag-icon-ec{background-image:url(../flags/4x3/ec.svg)}.flag-icon-ec.flag-icon-squared{background-image:url(../flags/1x1/ec.svg)}.flag-icon-ee{background-image:url(../flags/4x3/ee.svg)}.flag-icon-ee.flag-icon-squared{background-image:url(../flags/1x1/ee.svg)}.flag-icon-eg{background-image:url(../flags/4x3/eg.svg)}.flag-icon-eg.flag-icon-squared{background-image:url(../flags/1x1/eg.svg)}.flag-icon-eh{background-image:url(../flags/4x3/eh.svg)}.flag-icon-eh.flag-icon-squared{background-image:url(../flags/1x1/eh.svg)}.flag-icon-er{background-image:url(../flags/4x3/er.svg)}.flag-icon-er.flag-icon-squared{background-image:url(../flags/1x1/er.svg)}.flag-icon-es{background-image:url(../flags/4x3/es.svg)}.flag-icon-es.flag-icon-squared{background-image:url(../flags/1x1/es.svg)}.flag-icon-et{background-image:url(../flags/4x3/et.svg)}.flag-icon-et.flag-icon-squared{background-image:url(../flags/1x1/et.svg)}.flag-icon-fi{background-image:url(../flags/4x3/fi.svg)}.flag-icon-fi.flag-icon-squared{background-image:url(../flags/1x1/fi.svg)}.flag-icon-fj{background-image:url(../flags/4x3/fj.svg)}.flag-icon-fj.flag-icon-squared{background-image:url(../flags/1x1/fj.svg)}.flag-icon-fk{background-image:url(../flags/4x3/fk.svg)}.flag-icon-fk.flag-icon-squared{background-image:url(../flags/1x1/fk.svg)}.flag-icon-fm{background-image:url(../flags/4x3/fm.svg)}.flag-icon-fm.flag-icon-squared{background-image:url(../flags/1x1/fm.svg)}.flag-icon-fo{background-image:url(../flags/4x3/fo.svg)}.flag-icon-fo.flag-icon-squared{background-image:url(../flags/1x1/fo.svg)}.flag-icon-fr{background-image:url(../flags/4x3/fr.svg)}.flag-icon-fr.flag-icon-squared{background-image:url(../flags/1x1/fr.svg)}.flag-icon-ga{background-image:url(../flags/4x3/ga.svg)}.flag-icon-ga.flag-icon-squared{background-image:url(../flags/1x1/ga.svg)}.flag-icon-gb{background-image:url(../flags/4x3/gb.svg)}.flag-icon-gb.flag-icon-squared{background-image:url(../flags/1x1/gb.svg)}.flag-icon-gd{background-image:url(../flags/4x3/gd.svg)}.flag-icon-gd.flag-icon-squared{background-image:url(../flags/1x1/gd.svg)}.flag-icon-ge{background-image:url(../flags/4x3/ge.svg)}.flag-icon-ge.flag-icon-squared{background-image:url(../flags/1x1/ge.svg)}.flag-icon-gf{background-image:url(../flags/4x3/gf.svg)}.flag-icon-gf.flag-icon-squared{background-image:url(../flags/1x1/gf.svg)}.flag-icon-gg{background-image:url(../flags/4x3/gg.svg)}.flag-icon-gg.flag-icon-squared{background-image:url(../flags/1x1/gg.svg)}.flag-icon-gh{background-image:url(../flags/4x3/gh.svg)}.flag-icon-gh.flag-icon-squared{background-image:url(../flags/1x1/gh.svg)}.flag-icon-gi{background-image:url(../flags/4x3/gi.svg)}.flag-icon-gi.flag-icon-squared{background-image:url(../flags/1x1/gi.svg)}.flag-icon-gl{background-image:url(../flags/4x3/gl.svg)}.flag-icon-gl.flag-icon-squared{background-image:url(../flags/1x1/gl.svg)}.flag-icon-gm{background-image:url(../flags/4x3/gm.svg)}.flag-icon-gm.flag-icon-squared{background-image:url(../flags/1x1/gm.svg)}.flag-icon-gn{background-image:url(../flags/4x3/gn.svg)}.flag-icon-gn.flag-icon-squared{background-image:url(../flags/1x1/gn.svg)}.flag-icon-gp{background-image:url(../flags/4x3/gp.svg)}.flag-icon-gp.flag-icon-squared{background-image:url(../flags/1x1/gp.svg)}.flag-icon-gq{background-image:url(../flags/4x3/gq.svg)}.flag-icon-gq.flag-icon-squared{background-image:url(../flags/1x1/gq.svg)}.flag-icon-gr{background-image:url(../flags/4x3/gr.svg)}.flag-icon-gr.flag-icon-squared{background-image:url(../flags/1x1/gr.svg)}.flag-icon-gs{background-image:url(../flags/4x3/gs.svg)}.flag-icon-gs.flag-icon-squared{background-image:url(../flags/1x1/gs.svg)}.flag-icon-gt{background-image:url(../flags/4x3/gt.svg)}.flag-icon-gt.flag-icon-squared{background-image:url(../flags/1x1/gt.svg)}.flag-icon-gu{background-image:url(../flags/4x3/gu.svg)}.flag-icon-gu.flag-icon-squared{background-image:url(../flags/1x1/gu.svg)}.flag-icon-gw{background-image:url(../flags/4x3/gw.svg)}.flag-icon-gw.flag-icon-squared{background-image:url(../flags/1x1/gw.svg)}.flag-icon-gy{background-image:url(../flags/4x3/gy.svg)}.flag-icon-gy.flag-icon-squared{background-image:url(../flags/1x1/gy.svg)}.flag-icon-hk{background-image:url(../flags/4x3/hk.svg)}.flag-icon-hk.flag-icon-squared{background-image:url(../flags/1x1/hk.svg)}.flag-icon-hm{background-image:url(../flags/4x3/hm.svg)}.flag-icon-hm.flag-icon-squared{background-image:url(../flags/1x1/hm.svg)}.flag-icon-hn{background-image:url(../flags/4x3/hn.svg)}.flag-icon-hn.flag-icon-squared{background-image:url(../flags/1x1/hn.svg)}.flag-icon-hr{background-image:url(../flags/4x3/hr.svg)}.flag-icon-hr.flag-icon-squared{background-image:url(../flags/1x1/hr.svg)}.flag-icon-ht{background-image:url(../flags/4x3/ht.svg)}.flag-icon-ht.flag-icon-squared{background-image:url(../flags/1x1/ht.svg)}.flag-icon-hu{background-image:url(../flags/4x3/hu.svg)}.flag-icon-hu.flag-icon-squared{background-image:url(../flags/1x1/hu.svg)}.flag-icon-id{background-image:url(../flags/4x3/id.svg)}.flag-icon-id.flag-icon-squared{background-image:url(../flags/1x1/id.svg)}.flag-icon-ie{background-image:url(../flags/4x3/ie.svg)}.flag-icon-ie.flag-icon-squared{background-image:url(../flags/1x1/ie.svg)}.flag-icon-il{background-image:url(../flags/4x3/il.svg)}.flag-icon-il.flag-icon-squared{background-image:url(../flags/1x1/il.svg)}.flag-icon-im{background-image:url(../flags/4x3/im.svg)}.flag-icon-im.flag-icon-squared{background-image:url(../flags/1x1/im.svg)}.flag-icon-in{background-image:url(../flags/4x3/in.svg)}.flag-icon-in.flag-icon-squared{background-image:url(../flags/1x1/in.svg)}.flag-icon-io{background-image:url(../flags/4x3/io.svg)}.flag-icon-io.flag-icon-squared{background-image:url(../flags/1x1/io.svg)}.flag-icon-iq{background-image:url(../flags/4x3/iq.svg)}.flag-icon-iq.flag-icon-squared{background-image:url(../flags/1x1/iq.svg)}.flag-icon-ir{background-image:url(../flags/4x3/ir.svg)}.flag-icon-ir.flag-icon-squared{background-image:url(../flags/1x1/ir.svg)}.flag-icon-is{background-image:url(../flags/4x3/is.svg)}.flag-icon-is.flag-icon-squared{background-image:url(../flags/1x1/is.svg)}.flag-icon-it{background-image:url(../flags/4x3/it.svg)}.flag-icon-it.flag-icon-squared{background-image:url(../flags/1x1/it.svg)}.flag-icon-je{background-image:url(../flags/4x3/je.svg)}.flag-icon-je.flag-icon-squared{background-image:url(../flags/1x1/je.svg)}.flag-icon-jm{background-image:url(../flags/4x3/jm.svg)}.flag-icon-jm.flag-icon-squared{background-image:url(../flags/1x1/jm.svg)}.flag-icon-jo{background-image:url(../flags/4x3/jo.svg)}.flag-icon-jo.flag-icon-squared{background-image:url(../flags/1x1/jo.svg)}.flag-icon-jp{background-image:url(../flags/4x3/jp.svg)}.flag-icon-jp.flag-icon-squared{background-image:url(../flags/1x1/jp.svg)}.flag-icon-ke{background-image:url(../flags/4x3/ke.svg)}.flag-icon-ke.flag-icon-squared{background-image:url(../flags/1x1/ke.svg)}.flag-icon-kg{background-image:url(../flags/4x3/kg.svg)}.flag-icon-kg.flag-icon-squared{background-image:url(../flags/1x1/kg.svg)}.flag-icon-kh{background-image:url(../flags/4x3/kh.svg)}.flag-icon-kh.flag-icon-squared{background-image:url(../flags/1x1/kh.svg)}.flag-icon-ki{background-image:url(../flags/4x3/ki.svg)}.flag-icon-ki.flag-icon-squared{background-image:url(../flags/1x1/ki.svg)}.flag-icon-km{background-image:url(../flags/4x3/km.svg)}.flag-icon-km.flag-icon-squared{background-image:url(../flags/1x1/km.svg)}.flag-icon-kn{background-image:url(../flags/4x3/kn.svg)}.flag-icon-kn.flag-icon-squared{background-image:url(../flags/1x1/kn.svg)}.flag-icon-kp{background-image:url(../flags/4x3/kp.svg)}.flag-icon-kp.flag-icon-squared{background-image:url(../flags/1x1/kp.svg)}.flag-icon-kr{background-image:url(../flags/4x3/kr.svg)}.flag-icon-kr.flag-icon-squared{background-image:url(../flags/1x1/kr.svg)}.flag-icon-kw{background-image:url(../flags/4x3/kw.svg)}.flag-icon-kw.flag-icon-squared{background-image:url(../flags/1x1/kw.svg)}.flag-icon-ky{background-image:url(../flags/4x3/ky.svg)}.flag-icon-ky.flag-icon-squared{background-image:url(../flags/1x1/ky.svg)}.flag-icon-kz{background-image:url(../flags/4x3/kz.svg)}.flag-icon-kz.flag-icon-squared{background-image:url(../flags/1x1/kz.svg)}.flag-icon-la{background-image:url(../flags/4x3/la.svg)}.flag-icon-la.flag-icon-squared{background-image:url(../flags/1x1/la.svg)}.flag-icon-lb{background-image:url(../flags/4x3/lb.svg)}.flag-icon-lb.flag-icon-squared{background-image:url(../flags/1x1/lb.svg)}.flag-icon-lc{background-image:url(../flags/4x3/lc.svg)}.flag-icon-lc.flag-icon-squared{background-image:url(../flags/1x1/lc.svg)}.flag-icon-li{background-image:url(../flags/4x3/li.svg)}.flag-icon-li.flag-icon-squared{background-image:url(../flags/1x1/li.svg)}.flag-icon-lk{background-image:url(../flags/4x3/lk.svg)}.flag-icon-lk.flag-icon-squared{background-image:url(../flags/1x1/lk.svg)}.flag-icon-lr{background-image:url(../flags/4x3/lr.svg)}.flag-icon-lr.flag-icon-squared{background-image:url(../flags/1x1/lr.svg)}.flag-icon-ls{background-image:url(../flags/4x3/ls.svg)}.flag-icon-ls.flag-icon-squared{background-image:url(../flags/1x1/ls.svg)}.flag-icon-lt{background-image:url(../flags/4x3/lt.svg)}.flag-icon-lt.flag-icon-squared{background-image:url(../flags/1x1/lt.svg)}.flag-icon-lu{background-image:url(../flags/4x3/lu.svg)}.flag-icon-lu.flag-icon-squared{background-image:url(../flags/1x1/lu.svg)}.flag-icon-lv{background-image:url(../flags/4x3/lv.svg)}.flag-icon-lv.flag-icon-squared{background-image:url(../flags/1x1/lv.svg)}.flag-icon-ly{background-image:url(../flags/4x3/ly.svg)}.flag-icon-ly.flag-icon-squared{background-image:url(../flags/1x1/ly.svg)}.flag-icon-ma{background-image:url(../flags/4x3/ma.svg)}.flag-icon-ma.flag-icon-squared{background-image:url(../flags/1x1/ma.svg)}.flag-icon-mc{background-image:url(../flags/4x3/mc.svg)}.flag-icon-mc.flag-icon-squared{background-image:url(../flags/1x1/mc.svg)}.flag-icon-md{background-image:url(../flags/4x3/md.svg)}.flag-icon-md.flag-icon-squared{background-image:url(../flags/1x1/md.svg)}.flag-icon-me{background-image:url(../flags/4x3/me.svg)}.flag-icon-me.flag-icon-squared{background-image:url(../flags/1x1/me.svg)}.flag-icon-mf{background-image:url(../flags/4x3/mf.svg)}.flag-icon-mf.flag-icon-squared{background-image:url(../flags/1x1/mf.svg)}.flag-icon-mg{background-image:url(../flags/4x3/mg.svg)}.flag-icon-mg.flag-icon-squared{background-image:url(../flags/1x1/mg.svg)}.flag-icon-mh{background-image:url(../flags/4x3/mh.svg)}.flag-icon-mh.flag-icon-squared{background-image:url(../flags/1x1/mh.svg)}.flag-icon-mk{background-image:url(../flags/4x3/mk.svg)}.flag-icon-mk.flag-icon-squared{background-image:url(../flags/1x1/mk.svg)}.flag-icon-ml{background-image:url(../flags/4x3/ml.svg)}.flag-icon-ml.flag-icon-squared{background-image:url(../flags/1x1/ml.svg)}.flag-icon-mm{background-image:url(../flags/4x3/mm.svg)}.flag-icon-mm.flag-icon-squared{background-image:url(../flags/1x1/mm.svg)}.flag-icon-mn{background-image:url(../flags/4x3/mn.svg)}.flag-icon-mn.flag-icon-squared{background-image:url(../flags/1x1/mn.svg)}.flag-icon-mo{background-image:url(../flags/4x3/mo.svg)}.flag-icon-mo.flag-icon-squared{background-image:url(../flags/1x1/mo.svg)}.flag-icon-mp{background-image:url(../flags/4x3/mp.svg)}.flag-icon-mp.flag-icon-squared{background-image:url(../flags/1x1/mp.svg)}.flag-icon-mq{background-image:url(../flags/4x3/mq.svg)}.flag-icon-mq.flag-icon-squared{background-image:url(../flags/1x1/mq.svg)}.flag-icon-mr{background-image:url(../flags/4x3/mr.svg)}.flag-icon-mr.flag-icon-squared{background-image:url(../flags/1x1/mr.svg)}.flag-icon-ms{background-image:url(../flags/4x3/ms.svg)}.flag-icon-ms.flag-icon-squared{background-image:url(../flags/1x1/ms.svg)}.flag-icon-mt{background-image:url(../flags/4x3/mt.svg)}.flag-icon-mt.flag-icon-squared{background-image:url(../flags/1x1/mt.svg)}.flag-icon-mu{background-image:url(../flags/4x3/mu.svg)}.flag-icon-mu.flag-icon-squared{background-image:url(../flags/1x1/mu.svg)}.flag-icon-mv{background-image:url(../flags/4x3/mv.svg)}.flag-icon-mv.flag-icon-squared{background-image:url(../flags/1x1/mv.svg)}.flag-icon-mw{background-image:url(../flags/4x3/mw.svg)}.flag-icon-mw.flag-icon-squared{background-image:url(../flags/1x1/mw.svg)}.flag-icon-mx{background-image:url(../flags/4x3/mx.svg)}.flag-icon-mx.flag-icon-squared{background-image:url(../flags/1x1/mx.svg)}.flag-icon-my{background-image:url(../flags/4x3/my.svg)}.flag-icon-my.flag-icon-squared{background-image:url(../flags/1x1/my.svg)}.flag-icon-mz{background-image:url(../flags/4x3/mz.svg)}.flag-icon-mz.flag-icon-squared{background-image:url(../flags/1x1/mz.svg)}.flag-icon-na{background-image:url(../flags/4x3/na.svg)}.flag-icon-na.flag-icon-squared{background-image:url(../flags/1x1/na.svg)}.flag-icon-nc{background-image:url(../flags/4x3/nc.svg)}.flag-icon-nc.flag-icon-squared{background-image:url(../flags/1x1/nc.svg)}.flag-icon-ne{background-image:url(../flags/4x3/ne.svg)}.flag-icon-ne.flag-icon-squared{background-image:url(../flags/1x1/ne.svg)}.flag-icon-nf{background-image:url(../flags/4x3/nf.svg)}.flag-icon-nf.flag-icon-squared{background-image:url(../flags/1x1/nf.svg)}.flag-icon-ng{background-image:url(../flags/4x3/ng.svg)}.flag-icon-ng.flag-icon-squared{background-image:url(../flags/1x1/ng.svg)}.flag-icon-ni{background-image:url(../flags/4x3/ni.svg)}.flag-icon-ni.flag-icon-squared{background-image:url(../flags/1x1/ni.svg)}.flag-icon-nl{background-image:url(../flags/4x3/nl.svg)}.flag-icon-nl.flag-icon-squared{background-image:url(../flags/1x1/nl.svg)}.flag-icon-no{background-image:url(../flags/4x3/no.svg)}.flag-icon-no.flag-icon-squared{background-image:url(../flags/1x1/no.svg)}.flag-icon-np{background-image:url(../flags/4x3/np.svg)}.flag-icon-np.flag-icon-squared{background-image:url(../flags/1x1/np.svg)}.flag-icon-nr{background-image:url(../flags/4x3/nr.svg)}.flag-icon-nr.flag-icon-squared{background-image:url(../flags/1x1/nr.svg)}.flag-icon-nu{background-image:url(../flags/4x3/nu.svg)}.flag-icon-nu.flag-icon-squared{background-image:url(../flags/1x1/nu.svg)}.flag-icon-nz{background-image:url(../flags/4x3/nz.svg)}.flag-icon-nz.flag-icon-squared{background-image:url(../flags/1x1/nz.svg)}.flag-icon-om{background-image:url(../flags/4x3/om.svg)}.flag-icon-om.flag-icon-squared{background-image:url(../flags/1x1/om.svg)}.flag-icon-pa{background-image:url(../flags/4x3/pa.svg)}.flag-icon-pa.flag-icon-squared{background-image:url(../flags/1x1/pa.svg)}.flag-icon-pe{background-image:url(../flags/4x3/pe.svg)}.flag-icon-pe.flag-icon-squared{background-image:url(../flags/1x1/pe.svg)}.flag-icon-pf{background-image:url(../flags/4x3/pf.svg)}.flag-icon-pf.flag-icon-squared{background-image:url(../flags/1x1/pf.svg)}.flag-icon-pg{background-image:url(../flags/4x3/pg.svg)}.flag-icon-pg.flag-icon-squared{background-image:url(../flags/1x1/pg.svg)}.flag-icon-ph{background-image:url(../flags/4x3/ph.svg)}.flag-icon-ph.flag-icon-squared{background-image:url(../flags/1x1/ph.svg)}.flag-icon-pk{background-image:url(../flags/4x3/pk.svg)}.flag-icon-pk.flag-icon-squared{background-image:url(../flags/1x1/pk.svg)}.flag-icon-pl{background-image:url(../flags/4x3/pl.svg)}.flag-icon-pl.flag-icon-squared{background-image:url(../flags/1x1/pl.svg)}.flag-icon-pm{background-image:url(../flags/4x3/pm.svg)}.flag-icon-pm.flag-icon-squared{background-image:url(../flags/1x1/pm.svg)}.flag-icon-pn{background-image:url(../flags/4x3/pn.svg)}.flag-icon-pn.flag-icon-squared{background-image:url(../flags/1x1/pn.svg)}.flag-icon-pr{background-image:url(../flags/4x3/pr.svg)}.flag-icon-pr.flag-icon-squared{background-image:url(../flags/1x1/pr.svg)}.flag-icon-ps{background-image:url(../flags/4x3/ps.svg)}.flag-icon-ps.flag-icon-squared{background-image:url(../flags/1x1/ps.svg)}.flag-icon-pt{background-image:url(../flags/4x3/pt.svg)}.flag-icon-pt.flag-icon-squared{background-image:url(../flags/1x1/pt.svg)}.flag-icon-pw{background-image:url(../flags/4x3/pw.svg)}.flag-icon-pw.flag-icon-squared{background-image:url(../flags/1x1/pw.svg)}.flag-icon-py{background-image:url(../flags/4x3/py.svg)}.flag-icon-py.flag-icon-squared{background-image:url(../flags/1x1/py.svg)}.flag-icon-qa{background-image:url(../flags/4x3/qa.svg)}.flag-icon-qa.flag-icon-squared{background-image:url(../flags/1x1/qa.svg)}.flag-icon-re{background-image:url(../flags/4x3/re.svg)}.flag-icon-re.flag-icon-squared{background-image:url(../flags/1x1/re.svg)}.flag-icon-ro{background-image:url(../flags/4x3/ro.svg)}.flag-icon-ro.flag-icon-squared{background-image:url(../flags/1x1/ro.svg)}.flag-icon-rs{background-image:url(../flags/4x3/rs.svg)}.flag-icon-rs.flag-icon-squared{background-image:url(../flags/1x1/rs.svg)}.flag-icon-ru{background-image:url(../flags/4x3/ru.svg)}.flag-icon-ru.flag-icon-squared{background-image:url(../flags/1x1/ru.svg)}.flag-icon-rw{background-image:url(../flags/4x3/rw.svg)}.flag-icon-rw.flag-icon-squared{background-image:url(../flags/1x1/rw.svg)}.flag-icon-sa{background-image:url(../flags/4x3/sa.svg)}.flag-icon-sa.flag-icon-squared{background-image:url(../flags/1x1/sa.svg)}.flag-icon-sb{background-image:url(../flags/4x3/sb.svg)}.flag-icon-sb.flag-icon-squared{background-image:url(../flags/1x1/sb.svg)}.flag-icon-sc{background-image:url(../flags/4x3/sc.svg)}.flag-icon-sc.flag-icon-squared{background-image:url(../flags/1x1/sc.svg)}.flag-icon-sd{background-image:url(../flags/4x3/sd.svg)}.flag-icon-sd.flag-icon-squared{background-image:url(../flags/1x1/sd.svg)}.flag-icon-se{background-image:url(../flags/4x3/se.svg)}.flag-icon-se.flag-icon-squared{background-image:url(../flags/1x1/se.svg)}.flag-icon-sg{background-image:url(../flags/4x3/sg.svg)}.flag-icon-sg.flag-icon-squared{background-image:url(../flags/1x1/sg.svg)}.flag-icon-sh{background-image:url(../flags/4x3/sh.svg)}.flag-icon-sh.flag-icon-squared{background-image:url(../flags/1x1/sh.svg)}.flag-icon-si{background-image:url(../flags/4x3/si.svg)}.flag-icon-si.flag-icon-squared{background-image:url(../flags/1x1/si.svg)}.flag-icon-sj{background-image:url(../flags/4x3/sj.svg)}.flag-icon-sj.flag-icon-squared{background-image:url(../flags/1x1/sj.svg)}.flag-icon-sk{background-image:url(../flags/4x3/sk.svg)}.flag-icon-sk.flag-icon-squared{background-image:url(../flags/1x1/sk.svg)}.flag-icon-sl{background-image:url(../flags/4x3/sl.svg)}.flag-icon-sl.flag-icon-squared{background-image:url(../flags/1x1/sl.svg)}.flag-icon-sm{background-image:url(../flags/4x3/sm.svg)}.flag-icon-sm.flag-icon-squared{background-image:url(../flags/1x1/sm.svg)}.flag-icon-sn{background-image:url(../flags/4x3/sn.svg)}.flag-icon-sn.flag-icon-squared{background-image:url(../flags/1x1/sn.svg)}.flag-icon-so{background-image:url(../flags/4x3/so.svg)}.flag-icon-so.flag-icon-squared{background-image:url(../flags/1x1/so.svg)}.flag-icon-sr{background-image:url(../flags/4x3/sr.svg)}.flag-icon-sr.flag-icon-squared{background-image:url(../flags/1x1/sr.svg)}.flag-icon-ss{background-image:url(../flags/4x3/ss.svg)}.flag-icon-ss.flag-icon-squared{background-image:url(../flags/1x1/ss.svg)}.flag-icon-st{background-image:url(../flags/4x3/st.svg)}.flag-icon-st.flag-icon-squared{background-image:url(../flags/1x1/st.svg)}.flag-icon-sv{background-image:url(../flags/4x3/sv.svg)}.flag-icon-sv.flag-icon-squared{background-image:url(../flags/1x1/sv.svg)}.flag-icon-sx{background-image:url(../flags/4x3/sx.svg)}.flag-icon-sx.flag-icon-squared{background-image:url(../flags/1x1/sx.svg)}.flag-icon-sy{background-image:url(../flags/4x3/sy.svg)}.flag-icon-sy.flag-icon-squared{background-image:url(../flags/1x1/sy.svg)}.flag-icon-sz{background-image:url(../flags/4x3/sz.svg)}.flag-icon-sz.flag-icon-squared{background-image:url(../flags/1x1/sz.svg)}.flag-icon-tc{background-image:url(../flags/4x3/tc.svg)}.flag-icon-tc.flag-icon-squared{background-image:url(../flags/1x1/tc.svg)}.flag-icon-td{background-image:url(../flags/4x3/td.svg)}.flag-icon-td.flag-icon-squared{background-image:url(../flags/1x1/td.svg)}.flag-icon-tf{background-image:url(../flags/4x3/tf.svg)}.flag-icon-tf.flag-icon-squared{background-image:url(../flags/1x1/tf.svg)}.flag-icon-tg{background-image:url(../flags/4x3/tg.svg)}.flag-icon-tg.flag-icon-squared{background-image:url(../flags/1x1/tg.svg)}.flag-icon-th{background-image:url(../flags/4x3/th.svg)}.flag-icon-th.flag-icon-squared{background-image:url(../flags/1x1/th.svg)}.flag-icon-tj{background-image:url(../flags/4x3/tj.svg)}.flag-icon-tj.flag-icon-squared{background-image:url(../flags/1x1/tj.svg)}.flag-icon-tk{background-image:url(../flags/4x3/tk.svg)}.flag-icon-tk.flag-icon-squared{background-image:url(../flags/1x1/tk.svg)}.flag-icon-tl{background-image:url(../flags/4x3/tl.svg)}.flag-icon-tl.flag-icon-squared{background-image:url(../flags/1x1/tl.svg)}.flag-icon-tm{background-image:url(../flags/4x3/tm.svg)}.flag-icon-tm.flag-icon-squared{background-image:url(../flags/1x1/tm.svg)}.flag-icon-tn{background-image:url(../flags/4x3/tn.svg)}.flag-icon-tn.flag-icon-squared{background-image:url(../flags/1x1/tn.svg)}.flag-icon-to{background-image:url(../flags/4x3/to.svg)}.flag-icon-to.flag-icon-squared{background-image:url(../flags/1x1/to.svg)}.flag-icon-tr{background-image:url(../flags/4x3/tr.svg)}.flag-icon-tr.flag-icon-squared{background-image:url(../flags/1x1/tr.svg)}.flag-icon-tt{background-image:url(../flags/4x3/tt.svg)}.flag-icon-tt.flag-icon-squared{background-image:url(../flags/1x1/tt.svg)}.flag-icon-tv{background-image:url(../flags/4x3/tv.svg)}.flag-icon-tv.flag-icon-squared{background-image:url(../flags/1x1/tv.svg)}.flag-icon-tw{background-image:url(../flags/4x3/tw.svg)}.flag-icon-tw.flag-icon-squared{background-image:url(../flags/1x1/tw.svg)}.flag-icon-tz{background-image:url(../flags/4x3/tz.svg)}.flag-icon-tz.flag-icon-squared{background-image:url(../flags/1x1/tz.svg)}.flag-icon-ua{background-image:url(../flags/4x3/ua.svg)}.flag-icon-ua.flag-icon-squared{background-image:url(../flags/1x1/ua.svg)}.flag-icon-ug{background-image:url(../flags/4x3/ug.svg)}.flag-icon-ug.flag-icon-squared{background-image:url(../flags/1x1/ug.svg)}.flag-icon-um{background-image:url(../flags/4x3/um.svg)}.flag-icon-um.flag-icon-squared{background-image:url(../flags/1x1/um.svg)}.flag-icon-us{background-image:url(../flags/4x3/us.svg)}.flag-icon-us.flag-icon-squared{background-image:url(../flags/1x1/us.svg)}.flag-icon-uy{background-image:url(../flags/4x3/uy.svg)}.flag-icon-uy.flag-icon-squared{background-image:url(../flags/1x1/uy.svg)}.flag-icon-uz{background-image:url(../flags/4x3/uz.svg)}.flag-icon-uz.flag-icon-squared{background-image:url(../flags/1x1/uz.svg)}.flag-icon-va{background-image:url(../flags/4x3/va.svg)}.flag-icon-va.flag-icon-squared{background-image:url(../flags/1x1/va.svg)}.flag-icon-vc{background-image:url(../flags/4x3/vc.svg)}.flag-icon-vc.flag-icon-squared{background-image:url(../flags/1x1/vc.svg)}.flag-icon-ve{background-image:url(../flags/4x3/ve.svg)}.flag-icon-ve.flag-icon-squared{background-image:url(../flags/1x1/ve.svg)}.flag-icon-vg{background-image:url(../flags/4x3/vg.svg)}.flag-icon-vg.flag-icon-squared{background-image:url(../flags/1x1/vg.svg)}.flag-icon-vi{background-image:url(../flags/4x3/vi.svg)}.flag-icon-vi.flag-icon-squared{background-image:url(../flags/1x1/vi.svg)}.flag-icon-vn{background-image:url(../flags/4x3/vn.svg)}.flag-icon-vn.flag-icon-squared{background-image:url(../flags/1x1/vn.svg)}.flag-icon-vu{background-image:url(../flags/4x3/vu.svg)}.flag-icon-vu.flag-icon-squared{background-image:url(../flags/1x1/vu.svg)}.flag-icon-wf{background-image:url(../flags/4x3/wf.svg)}.flag-icon-wf.flag-icon-squared{background-image:url(../flags/1x1/wf.svg)}.flag-icon-ws{background-image:url(../flags/4x3/ws.svg)}.flag-icon-ws.flag-icon-squared{background-image:url(../flags/1x1/ws.svg)}.flag-icon-ye{background-image:url(../flags/4x3/ye.svg)}.flag-icon-ye.flag-icon-squared{background-image:url(../flags/1x1/ye.svg)}.flag-icon-yt{background-image:url(../flags/4x3/yt.svg)}.flag-icon-yt.flag-icon-squared{background-image:url(../flags/1x1/yt.svg)}.flag-icon-za{background-image:url(../flags/4x3/za.svg)}.flag-icon-za.flag-icon-squared{background-image:url(../flags/1x1/za.svg)}.flag-icon-zm{background-image:url(../flags/4x3/zm.svg)}.flag-icon-zm.flag-icon-squared{background-image:url(../flags/1x1/zm.svg)}.flag-icon-zw{background-image:url(../flags/4x3/zw.svg)}.flag-icon-zw.flag-icon-squared{background-image:url(../flags/1x1/zw.svg)}.flag-icon-es-ct{background-image:url(../flags/4x3/es-ct.svg)}.flag-icon-es-ct.flag-icon-squared{background-image:url(../flags/1x1/es-ct.svg)}.flag-icon-es-ga{background-image:url(../flags/4x3/es-ga.svg)}.flag-icon-es-ga.flag-icon-squared{background-image:url(../flags/1x1/es-ga.svg)}.flag-icon-eu{background-image:url(../flags/4x3/eu.svg)}.flag-icon-eu.flag-icon-squared{background-image:url(../flags/1x1/eu.svg)}.flag-icon-gb-eng{background-image:url(../flags/4x3/gb-eng.svg)}.flag-icon-gb-eng.flag-icon-squared{background-image:url(../flags/1x1/gb-eng.svg)}.flag-icon-gb-nir{background-image:url(../flags/4x3/gb-nir.svg)}.flag-icon-gb-nir.flag-icon-squared{background-image:url(../flags/1x1/gb-nir.svg)}.flag-icon-gb-sct{background-image:url(../flags/4x3/gb-sct.svg)}.flag-icon-gb-sct.flag-icon-squared{background-image:url(../flags/1x1/gb-sct.svg)}.flag-icon-gb-wls{background-image:url(../flags/4x3/gb-wls.svg)}.flag-icon-gb-wls.flag-icon-squared{background-image:url(../flags/1x1/gb-wls.svg)}.flag-icon-un{background-image:url(../flags/4x3/un.svg)}.flag-icon-un.flag-icon-squared{background-image:url(../flags/1x1/un.svg)}.flag-icon-xk{background-image:url(../flags/4x3/xk.svg)}.flag-icon-xk.flag-icon-squared{background-image:url(../flags/1x1/xk.svg)} diff --git a/static/css/layouts/list.css b/static/css/layouts/list.css new file mode 100644 index 0000000..2dfeba3 --- /dev/null +++ b/static/css/layouts/list.css @@ -0,0 +1,248 @@ +.wrapper { + display: flex; + padding: 0; + margin: 0; + width: 100%; +} + +.content-section { + flex: 80%; + order: 2; + /* background-color: lightseagreen; */ + padding: 0; + position: relative; + padding-left: 0.5rem; + padding-right: 0.5rem; +} + +.content { + padding: 0; + position: relative; + padding-top: 2rem; + min-height: 130vh; +} + +.post-card-holder { + margin-top: 32px; + margin-left: auto; + padding: 0; + display: flex; + flex-flow: wrap; +} + +.post-card-holder .post-card { + width: calc(100% / 3); + display: inline-flex; +} + +.post-card-holder .card { + margin: 5px; + position: relative; +} + +.post-card-holder .card .card-footer span { + font-size: 10pt; + color: #6c757d !important; + padding-top: 5px; +} + +.post-card-holder .card .card-footer { + background: #fff; + margin-top: auto; +} + +.post-summary { + overflow: hidden; + text-overflow: ellipsis; + display: -webkit-box; + max-height: 144px; + /* fallback */ + -webkit-line-clamp: 5; + /* number of lines to show */ + -webkit-box-orient: vertical; +} + +.post-card-holder .post-card-link { + text-decoration: none; +} + +.paginator { + width: -webkit-fit-content; + width: -moz-fit-content; + width: fit-content; + margin: auto; +} + +.paginator .page-item > a { + color: #248aaa; +} + +.paginator .page-item.active > a { + background-color: #248aaa; + color: #f9fafc; +} + +.navbar-toggler { + display: none; +} + +.pagination { + margin-left: auto; + margin-right: auto; + margin-top: 0.5rem; + margin-bottom: 0.5rem; + width: -webkit-fit-content; + width: -moz-fit-content; + width: fit-content; +} + +/* ============= Device specific fixes ======= */ + +/* Large screens such as TV */ +@media only screen and (min-width: 1824px) { + .content-section { + padding-left: 1rem; + padding-right: 1rem; + flex: 85%; + max-width: 85%; + } + .post-card-holder .post-card { + width: calc(100% / 5); + } +} + +/* Extra large devices (large desktops, 1200px and up) */ + +@media (max-width: 1400px) { + .post-card-holder { + margin-left: 0px; + } + .post-card-holder .post-card { + width: calc(100% / 3); + } +} + +@media (max-width: 1200px) { +} + +/* IPad Pro */ +@media (max-width: 1024px) { + .wrapper { + padding-left: 0px; + padding-right: 0px; + } + .content-section { + padding: 0; + flex: 60%; + order: 2; + padding-bottom: 0.5rem; + } + + .content { + overflow: hidden; + } + .container { + max-width: 100%; + } + .navbar-toggler { + display: block; + } + + #toc-toggler { + visibility: hidden; + } + + .navbar-collapse.lang-selector { + display: block !important; + position: absolute; + right: 0; + top: 0.5rem; + } + + .post-card-holder { + margin: 0; + margin-top: 1.5rem; + padding-left: 0.5rem; + padding-right: 0.5rem; + position: relative; + transition: all ease-out 0.3s; + } + + .post-card-holder .post-card { + width: calc(100% / 3); + } + + .content-section.hide .post-card-holder .post-card { + width: 50%; + } +} + +/* Large devices (desktops, 992px and up) */ + +@media (max-width: 992px) { + .post-card-holder .post-card { + width: 50%; + } + + .content-section.hide .post-card-holder .post-card { + width: 100%; + } +} + +/* Medium devices (tablets, 768px and up) */ + +@media only screen and (max-width: 768px) { +} + +/* Small devices (landscape phones, 576px and up) */ + +@media only screen and (max-width: 576px) { + .wrapper { + padding-left: 0px; + padding-right: 0px; + flex-flow: column; + overflow: hidden; + } + .content-section { + flex: 100%; + max-width: 100%; + padding-left: 0; + width: 100%; + } + + .content { + width: 100%; + padding-left: 0; + padding-right: 0; + transition: all ease-out 0.3s; + } + + .content-section.hide .content { + margin-top: 0; + padding-top: 0; + transition: all ease-out 0.3s; + } + + .content-section.hide .post-card-holder { + margin-top: 0.5rem; + transition: all ease-out 0.3s; + } + + .post-card-holder .post-card { + margin-left: 1%; + margin-right: 1%; + width: 98%; + } +} + +/* iPhoneX, iPhone 6,7,8 */ +@media only screen and (max-width: 375px) { +} + +/* Galaxy S5, Moto G4 */ +@media only screen and (max-width: 360px) { +} + +/* iPhone 5 or before */ +@media only screen and (max-width: 320px) { +} diff --git a/static/assets/css/style.css b/static/css/layouts/main.css similarity index 50% rename from static/assets/css/style.css rename to static/css/layouts/main.css index 986bb2a..669d782 100644 --- a/static/assets/css/style.css +++ b/static/css/layouts/main.css @@ -26,8 +26,8 @@ h5 { color: #1c2d41; } -strong{ - color: #1c2d41!important; +strong { + color: #1c2d41 !important; } p { @@ -42,12 +42,18 @@ a:hover { color: #207089; } +.nav-button { + background-color: transparent; + border: 1px solid transparent; + border-radius: 0.25rem; + color: #8392a5; +} + .btn-dark { background-color: #3c4858; border-color: #3c4858; color: #e5e9f2; transition: all 0.3s ease-out; - -webkit-transition: all 0.3s ease-out; } .btn-dark:hover, @@ -55,7 +61,6 @@ a:hover { background-color: #248aaa; border-color: #248aaa; transition: all 0.3s ease-out; - -webkit-transition: all 0.3s ease-out; } .btn-outline-info { @@ -78,6 +83,14 @@ a:hover { color: #e5e9f2 !important; } +.btn-link { + color: #248aaa; +} + +.btn-link:hover { + color: #207089; +} + .bg-white { background-color: #f9fafc !important; } @@ -90,18 +103,18 @@ a:hover { padding-top: 3.5rem; } -img.center{ +img.center { display: block; margin-left: auto; margin-right: auto; } -img.left{ +img.left { display: block; margin-right: auto; } -img.right{ +img.right { display: block; margin-left: auto; } @@ -109,7 +122,6 @@ img.right{ .card { box-shadow: none; transition: all 0.3s ease-out; - -webkit-transition: all 0.3s ease-out; overflow: hidden; } @@ -128,26 +140,23 @@ img.right{ box-shadow: 0px 8px 56px rgba(15, 80, 100, 0.16); border: 1px solid #fff; transition: all 0.3s ease-out; - -webkit-transition: all 0.3s ease-out; } .card .card-head { height: 172px; + -o-object-fit: cover; object-fit: cover; overflow: hidden; } .card-img-top { transition: all 0.3s ease-out !important; - -webkit-transition: all 0.3s ease-out !important; } .card:hover .card-head .card-img-top, .card:focus .card-head .card-img-top { transition: all 0.3s ease-out; - -webkit-transition: all 0.3s ease-out; transform: scale(1.2); - -webkit-transform: scale(1.2); } .card-body { @@ -159,6 +168,130 @@ img.right{ font-size: 10pt; } +.flag-icon { + width: 16px !important; + margin-top: 5px; + margin-right: 3px; +} + +/* ====== codeblocks ====== */ +table { + border-radius: 0.1rem; + background: #e5e9f2; + border: 1px solid #c0ccda; + padding: 0.1rem; +} + +table tr { + height: 40px !important; +} + +table th, +td { + padding: 0.5rem; + border-left: 1px solid #8392a5; + border-bottom: 1px solid #8392a5; +} + +table thead tr { + background: #248aaa; + color: #e5e9f2; +} + +tbody tr:nth-child(odd) { + background-color: #e5e9f2; +} + +tbody tr:hover { + background: #c0ccda; +} + +figure { + border: 1px solid #c0ccda; + height: -webkit-fit-content; + height: -moz-fit-content; + height: fit-content; + width: -webkit-fit-content; + width: -moz-fit-content; + width: fit-content; + align-self: center; + margin: auto; +} + +img { + max-width: 100%; +} + +caption, +figcaption { + caption-side: bottom; + text-align: center; + color: #8392a5; +} + +pre { + margin: 5px; +} + +pre > code { + padding: 10px !important; +} + +a.header-anchor { + text-decoration: none; + color: #1c2d41; +} + +a.header-anchor i { + font-size: 10pt; + color: #3c4858; + display: none; + margin-left: 0.5rem; +} +a.header-anchor:hover i { + display: inline-block; +} +a.header-anchor code { + color: #e83e8c; +} + +.content ul > ol, +.content ol > ul, +.content ul > ul, +.content ol > ol, +.content li > ol, +.content li > ul { + -webkit-padding-start: 1rem; + padding-inline-start: 1rem; +} + +kbd { + background-color: #248aaa !important; + color: #f9fafc; +} + +mark { + background-color: #ffc21280; +} + +/* ======= Paginator ========= */ +.paginator { + width: -webkit-fit-content; + width: -moz-fit-content; + width: fit-content; + margin: auto; + vertical-align: bottom; +} + +.paginator .page-item > a { + color: #248aaa; +} + +.paginator .page-item.active > a { + background-color: #248aaa; + color: #f9fafc; +} + /* --- FOOTER START --- */ .footer { @@ -174,13 +307,11 @@ img.right{ .footer a { color: #8392a5; transition: all 0.3s ease-out; - -webkit-transition: all 0.3s ease-out; } .footer a:hover { margin-left: 5px; transition: all 0.3s ease-out; - -webkit-transition: all 0.3s ease-out; } .footer ul { @@ -216,13 +347,18 @@ img.right{ width: 32px; } +.footer #hugo:hover { + margin-right: 5px; + transition: all 0.3s ease-out; +} + /* --- FOOTER END ---- */ /* ============= Device specific fixes ======= */ -/* Extra small devices (portrait phones, less than 576px) */ - -/* No media query for `xs` since this is the default in Bootstrap */ +/* Large screens such as TV */ +@media only screen and (min-width: 1824px) { +} /* Extra large devices (large desktops, 1200px and up) */ @@ -232,6 +368,24 @@ img.right{ @media (max-width: 1200px) { } +/* IPad Pro */ +@media (max-width: 1024px) { + .content-section .languageSelector { + position: fixed; + right: 0.5rem; + bottom: 1rem; + z-index: 10000000; + background-color: #f9fafc; + box-shadow: 0px 8px 56px rgba(15, 80, 100, 0.16); + } + pre { + margin: 0px; + } + code { + padding: 0px; + } +} + /* Large devices (desktops, 992px and up) */ @media (max-width: 992px) { @@ -245,12 +399,41 @@ img.right{ /* Small devices (landscape phones, 576px and up) */ @media only screen and (max-width: 576px) { - .container-fluid.about, - .container-fluid.skills, - .container-fluid.projects, - .container-fluid.recent-posts, - .container-fluid.achievements { + .skills-section .container, + .projects-section .container { + padding-left: 0.3rem; + padding-right: 0.3rem; + } + + .section-holder { padding-left: 5px; padding-right: 5px; } + + .skills-section, + .projects-section, + .recent-posts-section, + .achievements-section { + padding-left: 0; + padding-right: 0; + } + + pre { + margin: 0px; + } + code { + padding: 0px; + } +} + +/* iPhoneX, iPhone 6,7,8 */ +@media only screen and (max-width: 375px) { +} + +/* Galaxy S5, Moto G4 */ +@media only screen and (max-width: 360px) { +} + +/* iPhone 5 or before */ +@media only screen and (max-width: 320px) { } diff --git a/static/css/layouts/notes.css b/static/css/layouts/notes.css new file mode 100644 index 0000000..28f852c --- /dev/null +++ b/static/css/layouts/notes.css @@ -0,0 +1,250 @@ +.wrapper { + display: flex; + padding: 0; + margin: 0; + width: 100%; +} + +.content-section { + flex: 80%; + max-width: 80%; + order: 2; + /* background-color: lightseagreen; */ + padding: 0; + position: relative; + padding-left: 0.5rem; + padding-right: 0.5rem; +} + +.content { + padding: 0; + position: relative; + padding-top: 2rem; + min-height: 130vh; +} + +.note-card-holder{ + padding-top: 2rem; + display: grid; + grid-gap: 0.5rem; + grid-template-columns: repeat(auto-fill, minmax(30rem,1fr)); + grid-auto-rows: 20px; +} + +/* .note-collection { + display: flex; + flex-wrap: wrap; +} */ + +.note-card { + align-self: flex-start; +} + +.note-card .card{ + margin: 0.5rem; +} + +.note-title{ + padding-left: 1rem; + color: #248aaa; +} + +.note-title span{ + background: #e5e9f2; + padding-right: 5px; +} + +.note-title:before{ + content:''; + display:inline-block; + width:98%; + height:100%; + margin-bottom:-26px; + border-bottom: 1px solid #248aaa; +} + +.note-card .card-body{ + padding: 1rem; +} + +.note-card pre { + margin: 0; + border-radius: 3px; +} + +/* .small-note{ + max-width: 15rem; +} + +.medium-note{ + max-width: 25rem; +} + +.large-note{ + max-width: 40rem; +} + +.huge-note{} */ + +.note-badge{ + font-size: 10pt; +} + + +/* ============= Device specific fixes ======= */ + +/* Large screens such as TV */ +@media only screen and (min-width: 1824px) { + .content-section { + padding-left: 1rem; + padding-right: 1rem; + flex: 85%; + max-width: 85%; + } +} + + +/* Extra large devices (large desktops, 1200px and up) */ + +@media (max-width: 1400px) { + .note-card-holder { + margin-left: 0px; + } +} + +@media (max-width: 1200px) { + +} + +/* IPad Pro */ +@media (max-width: 1024px) { + .wrapper { + padding-left: 0px; + padding-right: 0px; + } + .content-section { + padding: 0; + max-width: 100%; + order: 2; + padding-bottom: 0.5rem; + transition: all ease-out 0.3s; + } + + .content-section.hide { + max-width: 60%; + transition: all ease-out 0.3s; + } + + .content { + overflow: hidden; + } + .container { + max-width: 100%; + } + .navbar-toggler { + display: block; + } + + #toc-toggler { + visibility: hidden; + } + + .navbar-collapse.lang-selector { + display: block !important; + position: absolute; + right: 0; + top: 0.5rem; + } + + .note-card-holder { + margin: 0; + margin-top: 1.5rem; + padding-left: 0.5rem; + padding-right: 0.5rem; + position: relative; + transition: all ease-out 0.3s; + } + + .content-section.hide .note-card-holder{ + grid-template-columns: repeat(auto-fill, minmax(30rem,1fr)); + transition: all ease-out 0.3s; + } +} + +/* Large devices (desktops, 992px and up) */ + +@media (max-width: 992px) { + .note-card-holder .note-card { + max-width: 100%; + min-width: 50%; + transition: all ease-out 0.3s; + } + + .content-section.hide .note-card-holder .note-card { + max-width: 100%; + min-width: 100%; + transition: all ease-out 0.3s; + } +} + +/* Medium devices (tablets, 768px and up) */ + +@media only screen and (max-width: 768px) { + +} + +/* Small devices (landscape phones, 576px and up) */ + +@media only screen and (max-width: 576px) { + .wrapper { + padding-left: 0px; + padding-right: 0px; + flex-flow: column; + overflow: hidden; + } + .content-section, .content-section.hide { + flex: 100%; + max-width: 100%; + padding-left: 0; + width: 100%; + transition: all ease-out 0.3s; + } + + .content { + width: 100%; + padding-left: 0; + padding-right: 0; + transition: all ease-out 0.3s; + } + + .content-section.hide .content { + margin-top: 0; + padding-top: 0; + transition: all ease-out 0.3s; + } + + .content-section.hide .note-card-holder { + margin-top: 0.5rem; + transition: all ease-out 0.3s; + } + + .note-card-holder .note-card, .content-section.hide .note-card-holder .note-card { + margin-left: 1%; + margin-right: 1%; + max-width: 98%; + min-width: 98%; + transition: all ease-out 0.3s; + } +} + +/* iPhoneX, iPhone 6,7,8 */ +@media only screen and (max-width: 375px) { +} + +/* Galaxy S5, Moto G4 */ +@media only screen and (max-width: 360px) { +} + +/* iPhone 5 or before */ +@media only screen and (max-width: 320px) { +} diff --git a/static/css/layouts/single.css b/static/css/layouts/single.css new file mode 100644 index 0000000..e5b535a --- /dev/null +++ b/static/css/layouts/single.css @@ -0,0 +1,441 @@ +body { + background-color: #e5e9f2; + position: relative; +} +.read-area { + background-color: #f9fafc; +} + +.wrapper { + display: flex; + padding: 0; + margin: 0; + width: 100%; + justify-content: space-between; + position: relative; +} + +.content-section { + flex: 60%; + max-width: 60%; + order: 2; + /* background-color: lightseagreen; */ + padding: 0; + position: relative; + padding-left: 1rem; + padding-right: 1rem; +} +.content { + background: #e5e9f2; +} +.toc-section { + flex: 20%; + order: 3; + max-width: 20%; + /* background-color: lightpink; */ + transition: all ease-out 0.5s; +} + +.toc-holder { + position: -webkit-sticky; + position: sticky; + top: 4.5rem; + overflow-x: hidden; + overflow-y: auto; + background-color: #f9fafc; + margin-right: 0.5rem; + /* box-shadow: 0px 8px 56px rgba(15, 80, 100, 0.16); */ + transition: all ease-out 0.3s; +} + +.toc { + position: relative; + padding-top: 0px; + transition: all ease-out 0.3s; +} + +.toc nav { + padding-top: 0px; + margin-top: 0px; + display: flex; + flex-direction: column; + align-items: flex-start; + transition: all ease-out 0.3s; +} + +.toc ul { + list-style: none; + padding-left: 0.5rem; + margin-bottom: 0rem; + width: 100%; +} + +.toc .nav-link { + padding: 0; + padding-left: 0.5rem; + transition: all ease-out 0.3s; + color: #1c2d41; +} + +.toc .nav-link:hover, +.toc .nav-link:focus, +.toc .nav-link.active { + padding-left: 1rem; + padding-right: 0.5rem; + background-color: #248aaa; + color: #f9f9f9; + transition: all ease-out 0.3s; +} + +.hero-area { + margin-top: 3rem; + width: 100%; + height: 400px; + background-position: center; + background-repeat: no-repeat; + background-size: cover; +} + +.page-content { + width: 100%; + position: relative; + top: -4.5rem; + padding: 15px; +} + +.author-profile { + position: relative; + align-content: center; + text-align: center; +} + +.author-name { + margin-top: 0px; +} + +.author-profile img { + height: 120px; + width: 120px; + -o-object-fit: cover; + object-fit: cover; + background-color: #f9fafc; + padding: 5px; +} +.author-profile p { + color: #8392a5; +} + +.title { + text-align: center; +} + +.post-content { + padding: 15px; +} + +.post-content h1, +h2 { + margin-top: 1.4rem; +} + +.post-content h3, +h4, +h5, +h6 { + margin-top: 1.3rem; +} + +.post-content blockquote { + border-left: 4px solid #248aaa; + background-color: #248baa15; + padding: 0.3rem; + padding-left: 1rem; +} + +.post-content blockquote > p { + color: #3c4858; + margin-top: 0.5rem; + margin-bottom: 0.5rem; +} + +.next-prev-navigator { + padding-left: 10px; + padding-right: 10px; +} + +.next-prev-navigator a { + color: #2098d1; + transition: all 0.3s ease-out; +} + +.next-prev-navigator a:hover { + color: #3c4858; + transition: all 0.3 ease-out; +} + +.next-prev-navigator .next-article { + text-align: right; +} + +.next-prev-navigator .next-article a { + transition: all 0.3s ease-out; +} + +.next-prev-navigator .previous-article a { + transition: all 0.3s ease-out; +} + +.next-prev-navigator .btn-outline-info { + color: #f9fafc !important; + border-color: #e5e9f2 !important; + background-color: #248aaa !important; + transition: all 0.3s ease-out; +} + +.next-prev-navigator .next-prev-text { + white-space: break-spaces; +} + +.next-prev-navigator .btn-outline-info:hover { + color: #3c4858 !important; + background-color: #e5e9f2 !important; + transition: all 0.3s ease-out; +} + +.disquss { + padding: 10px; +} + +.btn-improve-page { + text-align: right; +} + +.languageSelector { + display: none; +} + +#scroll-to-top { + position: fixed; + bottom: 0rem; + right: 1rem; + color: #248aaa; + font-size: 24pt; + z-index: 900000; + visibility: hidden; +} + +#scroll-to-top i { + box-shadow: 0px 8px 56px rgba(15, 80, 100, 0.16); + background-color: #f9f9f9; + border-radius: 50%; +} + +#scroll-to-top:hover { + color: #2098d1; +} + +#scroll-to-top.show { + visibility: visible; +} + +/* ============= Device specific fixes ======= */ + +/* Large screens such as TV */ +@media only screen and (min-width: 1824px) { + .content-section { + flex: 65%; + max-width: 65%; + } + .content-section .container { + max-width: 100%; + } +} + +/* Extra large devices (large desktops, 1200px and up) */ + +@media (max-width: 1400px) { +} + +@media (max-width: 1200px) { +} + +/* IPad Pro */ +@media (max-width: 1024px) { + .wrapper { + padding-left: 0px; + padding-right: 0px; + } + + .content-section { + padding: 0; + flex: 60%; + max-width: 100%; + order: 2; + overflow: hidden; + } + .content { + overflow: hidden; + } + .container { + max-width: 100%; + } + + .toc-section { + order: 3; + flex: 0%; + max-width: 0%; + transition: all ease-out 0.3s; + } + .toc-section.hide { + flex: 40%; + max-width: 40%; + margin-left: 0.5rem; + transition: all ease-out 0.3s; + } + + .toc-holder { + top: 3rem; + max-height: calc(100vh - 3rem); + } + + .navbar-toggler { + display: block; + } + + .navbar-collapse.lang-selector { + display: none; + } + + .languageSelector { + display: block; + } + + .hero-area { + height: 300px; + margin-top: 1rem; + } + + .page-content { + padding: 0px; + } + + .btn-improve-page { + margin-right: 1rem; + } + + #disqus_thread, + .dsq-brlink { + padding: 5px; + } +} + +/* Large devices (desktops, 992px and up) */ + +@media (max-width: 992px) { +} + +/* Medium devices (tablets, 768px and up) */ + +@media only screen and (max-width: 768px) { + #scroll-to-top { + right: 8rem; + } +} + +/* Small devices (landscape phones, 576px and up) */ + +@media only screen and (max-width: 576px) { + .wrapper { + padding: 0px; + display: flex; + flex-direction: column; + } + + .content-section { + padding: 0; + flex: 100%; + max-width: 100%; + order: 3; + } + + .toc-section { + order: 2; + width: 100%; + height: -webkit-fit-content; + height: -moz-fit-content; + height: fit-content; + max-height: 0; + max-width: 100%; + transition: all ease-out 0.5s; + } + + .toc-section.hide { + margin-top: 2.5rem; + position: relative; + /* height: fit-content; */ + flex: 100%; + height: -webkit-fit-content; + height: -moz-fit-content; + height: fit-content; + max-height: 200vh; + max-width: 100%; + margin-left: 0; + padding-right: 0; + box-shadow: 0px 8px 56px rgba(15, 80, 100, 0.16); + transition: all ease-out 0.5s; + } + + .toc-holder { + max-height: 0; + margin-right: 0; + overflow: hidden; + transition: all ease-out 0.5s; + } + .toc-section.hide .toc-holder { + max-height: 200vh; + transition: all ease-out 0.5s; + } + + .navbar-toggler { + display: block; + } + + .hero-area { + height: 200px; + margin-top: 1rem; + } + + .page-content { + padding: 0px; + } + + .next-prev-navigator .previous-article { + text-align: center; + margin: 5px; + } + .next-prev-navigator .next-article { + text-align: center; + margin: 5px; + } + .previous-article a, + .next-article a { + width: 100%; + } + + #disqus_thread, + .dsq-brlink { + padding: 5px; + } +} + +/* iPhoneX, iPhone 6,7,8 */ +@media only screen and (max-width: 375px) { +} + +/* Galaxy S5, Moto G4 */ +@media only screen and (max-width: 360px) { +} + +/* iPhone 5 or before */ +@media only screen and (max-width: 320px) { +} diff --git a/static/assets/css/navbar.css b/static/css/navigators/navbar.css similarity index 55% rename from static/assets/css/navbar.css rename to static/css/navigators/navbar.css index 7894d22..d3003b8 100644 --- a/static/assets/css/navbar.css +++ b/static/css/navigators/navbar.css @@ -6,7 +6,6 @@ height: 50px; z-index: 99999; transition: all 0.4s ease-out; - -webkit-transition: all 0.4s ease-out; margin: 0; padding-top: 0.1rem; text-align: center; @@ -31,7 +30,6 @@ .initial-navbar li a:hover { color: #f9fafc; transition: all 0.3s ease-out; - -webkit-transition: all 0.3s ease-out; } .navbar-collapse { @@ -52,7 +50,6 @@ background-color: #f9fafc; color: #1c2d41; transition: all 0.3s ease-out; - -webkit-transition: all 0.3s ease-out; } .final-navbar .navbar-brand { @@ -64,7 +61,6 @@ color: #1c2d41; font-weight: 500; transition: all 0.3s ease-out; - -webkit-transition: all 0.3s ease-out; border-bottom: 2px solid#F9FAFC; } @@ -72,7 +68,6 @@ .final-navbar li a:hover { color: #2098d1; transition: all 0.3s ease-out; - -webkit-transition: all 0.3s ease-out; border-bottom: 2px solid #2098d1; background: rgb(2, 0, 36); background: linear-gradient( @@ -87,7 +82,6 @@ color: #1c2d41; font-weight: 500; transition: all 0.3s ease-out; - -webkit-transition: all 0.3s ease-out; } .navbar-collapse.show .navbar-nav .active, @@ -122,11 +116,44 @@ margin-left: -10px; } +.top-navbar .dropdown-menu { + box-shadow: 0px 8px 56px rgba(15, 80, 100, 0.16); + border: 1px solid #fff; + max-height: 0vh; + overflow: hidden; + display: block; + visibility: hidden; + transition: all 0.3s ease-out; +} + +.top-navbar .dropdown-menu.show { + max-height: 100vh; + visibility: visible; + transition: all 0.3s ease-in; +} + +.top-navbar .dropdown-menu a { + color: #1c2d41; + border-bottom: none; +} + +.top-navbar .dropdown-menu a:hover { + color: #2098d1; + transition: all 0.3s ease-out; + border-bottom: none; + background: rgb(2, 0, 36); + background: linear-gradient( + 90deg, + rgba(2, 0, 36, 1) 0%, + rgba(34, 136, 168, 0.2) 0% + ); +} + /* ============= Device specific fixes ======= */ -/* Extra small devices (portrait phones, less than 576px) */ - -/* No media query for `xs` since this is the default in Bootstrap */ +/* Large screens such as TV */ +@media only screen and (min-width: 1824px) { +} /* Extra large devices (large desktops, 1200px and up) */ @@ -136,31 +163,31 @@ @media (max-width: 1200px) { } -/* Large devices (desktops, 992px and up) */ +/* IPad Pro */ +@media (max-width: 1024px) { + .top-navbar { + height: -webkit-fit-content; + height: -moz-fit-content; + height: fit-content; + padding-bottom: 0px; + padding-top: 0px; + } -@media (max-width: 992px) { -} - -/* Medium devices (tablets, 768px and up) */ - -@media only screen and (max-width: 768px) { .top-navbar .container { max-width: 100%; - padding: 0; } .initial-navbar .navbar-nav .active, .initial-navbar li a:hover { color: #2098d1; transition: all 0.3s ease-out; - -webkit-transition: all 0.3s ease-out; } .final-navbar .navbar-nav .active, .final-navbar li a:hover { color: #2098d1; transition: none; - -webkit-transition: none; + border-bottom: none; background: transparent; } @@ -169,10 +196,76 @@ border-bottom: none; } - .final-navbar .navbar-collapse.show { - box-shadow: 5px 10px 10px rgba(192, 204, 218, 0.3); + .dropdown-divider { + border-top: 1px solid #c0ccda; + } + #top-navbar-divider { + background: rgba(0, 0, 0, 0.6); + height: auto; + width: auto; + margin-right: 15px; + } + .top-navbar .dropdown-menu { + text-align: center; + margin-bottom: 0.5rem; + margin-right: 1rem; transition: all 0.3s ease-out; - -webkit-transition: all 0.3s ease-out; + } +} + +/* Large devices (desktops, 992px and up) */ + +@media (max-width: 992px) { + .initial-navbar .navbar-nav .active, + .initial-navbar li a:hover { + color: #2098d1; + transition: all 0.3s ease-out; + } + + .final-navbar .navbar-nav .active, + .final-navbar li a:hover { + color: #2098d1; + transition: none; + + border-bottom: none; + background: transparent; + } + + .final-navbar li a { + border-bottom: none; + } + + .dropdown-divider { + border-top: 1px solid #c0ccda; + } + #top-navbar-divider { + background: rgba(0, 0, 0, 0.6); + height: auto; + width: auto; + margin-right: 15px; + } +} + +/* Medium devices (tablets, 768px and up) */ + +@media only screen and (max-width: 768px) { + .initial-navbar .navbar-nav .active, + .initial-navbar li a:hover { + color: #2098d1; + transition: all 0.3s ease-out; + } + + .final-navbar .navbar-nav .active, + .final-navbar li a:hover { + color: #2098d1; + transition: none; + + border-bottom: none; + background: transparent; + } + + .final-navbar li a { + border-bottom: none; } .dropdown-divider { @@ -189,4 +282,20 @@ /* Small devices (landscape phones, 576px and up) */ @media only screen and (max-width: 576px) { + .top-navbar .dropdown-menu { + margin-left: -1rem; + margin-right: 0rem; + } +} + +/* iPhoneX, iPhone 6,7,8 */ +@media only screen and (max-width: 375px) { +} + +/* Galaxy S5, Moto G4 */ +@media only screen and (max-width: 360px) { +} + +/* iPhone 5 or before */ +@media only screen and (max-width: 320px) { } diff --git a/static/css/navigators/sidebar.css b/static/css/navigators/sidebar.css new file mode 100644 index 0000000..9faf7e7 --- /dev/null +++ b/static/css/navigators/sidebar.css @@ -0,0 +1,312 @@ +.sidebar-section { + order: 1; + flex: 20%; + max-width: 20%; + /* background-color: lightsalmon; */ + transition: all ease-out 0.5s; +} + +.sidebar-holder { + top: 2.5rem; + position: -webkit-sticky; + position: sticky; + background-color: #f9fafc; + height: 100vh; + overflow: auto; + box-shadow: 0px 8px 56px rgba(15, 80, 100, 0.16); + transition: all ease-out 0.3s; +} + +.sidebar { + background: #f9fafc; + height: 100vh; + transition: all ease-out 0.3s; +} + +.sidebar-tree { + padding-left: 1rem; + position: relative; + width: -webkit-max-content; + width: -moz-max-content; + width: max-content; +} + +#search-box { + margin-left: 5%; + margin-right: 5%; + width: -webkit-fill-available; + height: 35px; + padding-left: 15px; + margin-top: 30px; + margin-bottom: 10px; + border-radius: 5px; + background-color: #e5e9f2; + transition: all 0.3s ease-out; + border: 1px solid #c0ccda; +} + +#search-box:focus { + border: 1pt solid #248aaa; + outline: none; +} + +#list-heading { + padding-left: 0px !important; +} + +.tree, +.tree ul { + margin: 0; + padding: 0; + list-style: none; +} + +.tree li { + margin: 0; + padding: 0 1em; + line-height: 2em; + color: #3c4858; + position: relative; +} + +.tree li a { + text-decoration: none; + color: #131313; + transition: all 0.3s ease-out; +} + +.tree li a.active { + display: inline; + color: #2098d1; +} + +.tree li a:hover { + margin-left: 3px; + color: #2098d1; + transition: all 0.3s ease-out; +} + +.tree i { + color: #3c4858; + font-size: 12px; + margin-right: 5px; +} + +.tree .shift-right { + margin-left: 5px; +} + +.tree .active, +.tree .active > ul { + display: block; +} + +.subtree { + padding-left: 0.7rem; +} + +.subtree:before { + content: ""; + display: block; + width: 0; + position: absolute; + top: 2.5rem; + left: 1.5rem; + bottom: 0.9rem; + border-left: 1px solid; +} + +.subtree ul, +ul > ul { + position: relative; + padding-left: 0.5rem; + display: none; +} + +.subtree ul:before { + content: ""; + display: block; + width: 0; + position: absolute; + top: -10px; + left: 0.3rem; + bottom: 0.9rem; + border-left: 1px solid; +} + +.subtree li:before { + content: ""; + display: block; + width: 20px; + height: 0; + border-top: 1px solid; + margin-top: -1px; + position: absolute; + top: 18px; + left: -3px; +} + +.subtree li:last-child:before { + background: #f9fafc; + height: auto; + top: 1.1rem; + bottom: 0; +} + +a.focused { + color: #2098d1 !important; +} + +/* ============= Device specific fixes ======= */ + +/* Large screens such as TV */ +@media only screen and (min-width: 1824px) { + .sidebar-section { + flex: 15%; + max-width: 15%; + } + .sidebar-holder { + max-width: 100%; + } +} +/* Extra large devices (large desktops, 1200px and up) */ + +@media (max-width: 1400px) { + .sidebar-holder { + max-width: 20rem; + } +} + +@media (max-width: 1200px) { + .sidebar-tree { + margin-left: 1rem; + } +} + +/* IPad Pro */ +@media (max-width: 1024px) { + .sidebar-section { + flex: 0%; + max-width: 0%; + min-height: 100vh; + transition: all ease-out 0.3s; + } + .sidebar-holder { + position: -webkit-sticky; + position: sticky; + top: 2.5rem; + width: 100%; + max-height: calc(100vh - 2.5rem); + } + + .sidebar-section.hide { + flex: 30%; + max-width: 30%; + margin-right: 0.5rem; + transition: all ease-out 0.3s; + } +} + +/* Large devices (desktops, 992px and up) */ + +@media (max-width: 992px) { +} + +/* Medium devices (tablets, 768px and up) */ + +@media only screen and (max-width: 768px) { + .sidebar-section { + flex: 0%; + max-width: 0%; + min-height: 100vh; + transition: all ease-out 0.3s; + } + .sidebar-holder { + position: -webkit-sticky; + position: sticky; + top: 2.5rem; + width: 100%; + } + + .sidebar-section.hide { + flex: 40%; + max-width: 40%; + margin-right: 0.5rem; + transition: all ease-out 0.3s; + } +} + +/* Small devices (landscape phones, 576px and up) */ + +@media only screen and (max-width: 576px) { + .sidebar-section { + width: 100%; + min-height: 0; + max-height: 0; + max-width: 100%; + transition: all ease-out 0.5s; + } + + .sidebar-section.hide { + margin-top: 2rem; + position: relative; + height: -webkit-fit-content; + height: -moz-fit-content; + height: fit-content; + flex: none; + max-height: 300vh; + max-width: 100%; + transition: all ease-out 0.5s; + } + + .sidebar-holder { + max-height: 0; + height: -webkit-fit-content; + height: -moz-fit-content; + height: fit-content; + overflow: hidden; + max-width: 100%; + transition: all ease-out 0.5s; + } + + .sidebar-section.hide .sidebar-holder { + max-height: 200vh; + transition: all ease-out 0.5s; + } + + .sidebar { + position: relative; + height: -webkit-fit-content; + height: -moz-fit-content; + height: fit-content; + max-height: -webkit-fit-content; + max-height: -moz-fit-content; + max-height: fit-content; + width: 100vw; + min-height: 0; + overflow: hidden; + transition: all ease-out 0.5s; + } + + .sidebar-tree { + margin-left: 0rem; + max-height: 0; + transition: all 0.5s ease-out; + } + .sidebar-section.hide .sidebar-tree { + max-height: 200vh; + transition: all 0.5s ease-out; + } +} + +/* iPhoneX, iPhone 6,7,8 */ +@media only screen and (max-width: 375px) { +} + +/* Galaxy S5, Moto G4 */ +@media only screen and (max-width: 360px) { +} + +/* iPhone 5 or before */ +@media only screen and (max-width: 320px) { +} diff --git a/static/css/plyr.css b/static/css/plyr.css new file mode 100644 index 0000000..956414d --- /dev/null +++ b/static/css/plyr.css @@ -0,0 +1 @@ +@keyframes plyr-progress{to{background-position:25px 0;background-position:var(--plyr-progress-loading-size,25px) 0}}@keyframes plyr-popup{0%{opacity:.5;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes plyr-fade-in{from{opacity:0}to{opacity:1}}.plyr{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;align-items:center;direction:ltr;display:flex;flex-direction:column;font-family:inherit;font-family:var(--plyr-font-family,inherit);font-variant-numeric:tabular-nums;font-weight:400;font-weight:var(--plyr-font-weight-regular,400);line-height:1.7;line-height:var(--plyr-line-height,1.7);max-width:100%;min-width:200px;position:relative;text-shadow:none;transition:box-shadow .3s ease;z-index:0}.plyr audio,.plyr iframe,.plyr video{display:block;height:100%;width:100%}.plyr button{font:inherit;line-height:inherit;width:auto}.plyr:focus{outline:0}.plyr--full-ui{box-sizing:border-box}.plyr--full-ui *,.plyr--full-ui ::after,.plyr--full-ui ::before{box-sizing:inherit}.plyr--full-ui a,.plyr--full-ui button,.plyr--full-ui input,.plyr--full-ui label{touch-action:manipulation}.plyr__badge{background:#4a5464;background:var(--plyr-badge-background,#4a5464);border-radius:2px;border-radius:var(--plyr-badge-border-radius,2px);color:#fff;color:var(--plyr-badge-text-color,#fff);font-size:9px;font-size:var(--plyr-font-size-badge,9px);line-height:1;padding:3px 4px}.plyr--full-ui ::-webkit-media-text-track-container{display:none}.plyr__captions{animation:plyr-fade-in .3s ease;bottom:0;display:none;font-size:13px;font-size:var(--plyr-font-size-small,13px);left:0;padding:10px;padding:var(--plyr-control-spacing,10px);position:absolute;text-align:center;transition:transform .4s ease-in-out;width:100%}.plyr__captions span:empty{display:none}@media(min-width:480px){.plyr__captions{font-size:15px;font-size:var(--plyr-font-size-base,15px);padding:calc(10px * 2);padding:calc(var(--plyr-control-spacing,10px) * 2)}}@media(min-width:768px){.plyr__captions{font-size:18px;font-size:var(--plyr-font-size-large,18px)}}.plyr--captions-active .plyr__captions{display:block}.plyr:not(.plyr--hide-controls) .plyr__controls:not(:empty)~.plyr__captions{transform:translateY(calc(10px * -4));transform:translateY(calc(var(--plyr-control-spacing,10px) * -4))}.plyr__caption{background:rgba(0,0,0,.8);background:var(--plyr-captions-background,rgba(0,0,0,.8));border-radius:2px;-webkit-box-decoration-break:clone;box-decoration-break:clone;color:#fff;color:var(--plyr-captions-text-color,#fff);line-height:185%;padding:.2em .5em;white-space:pre-wrap}.plyr__caption div{display:inline}.plyr__control{background:0 0;border:0;border-radius:3px;border-radius:var(--plyr-control-radius,3px);color:inherit;cursor:pointer;flex-shrink:0;overflow:visible;padding:calc(10px * .7);padding:calc(var(--plyr-control-spacing,10px) * .7);position:relative;transition:all .3s ease}.plyr__control svg{display:block;fill:currentColor;height:18px;height:var(--plyr-control-icon-size,18px);pointer-events:none;width:18px;width:var(--plyr-control-icon-size,18px)}.plyr__control:focus{outline:0}.plyr__control.plyr__tab-focus{outline-color:#00b3ff;outline-color:var(--plyr-tab-focus-color,var(--plyr-color-main,var(--plyr-color-main,#00b3ff)));outline-offset:2px;outline-style:dotted;outline-width:3px}a.plyr__control{text-decoration:none}a.plyr__control::after,a.plyr__control::before{display:none}.plyr__control.plyr__control--pressed .icon--not-pressed,.plyr__control.plyr__control--pressed .label--not-pressed,.plyr__control:not(.plyr__control--pressed) .icon--pressed,.plyr__control:not(.plyr__control--pressed) .label--pressed{display:none}.plyr--full-ui ::-webkit-media-controls{display:none}.plyr__controls{align-items:center;display:flex;justify-content:flex-end;text-align:center}.plyr__controls .plyr__progress__container{flex:1;min-width:0}.plyr__controls .plyr__controls__item{margin-left:calc(10px/4);margin-left:calc(var(--plyr-control-spacing,10px)/4)}.plyr__controls .plyr__controls__item:first-child{margin-left:0;margin-right:auto}.plyr__controls .plyr__controls__item.plyr__progress__container{padding-left:calc(10px/4);padding-left:calc(var(--plyr-control-spacing,10px)/4)}.plyr__controls .plyr__controls__item.plyr__time{padding:0 calc(10px/2);padding:0 calc(var(--plyr-control-spacing,10px)/2)}.plyr__controls .plyr__controls__item.plyr__progress__container:first-child,.plyr__controls .plyr__controls__item.plyr__time+.plyr__time,.plyr__controls .plyr__controls__item.plyr__time:first-child{padding-left:0}.plyr__controls:empty{display:none}.plyr [data-plyr=airplay],.plyr [data-plyr=captions],.plyr [data-plyr=fullscreen],.plyr [data-plyr=pip]{display:none}.plyr--airplay-supported [data-plyr=airplay],.plyr--captions-enabled [data-plyr=captions],.plyr--fullscreen-enabled [data-plyr=fullscreen],.plyr--pip-supported [data-plyr=pip]{display:inline-block}.plyr__menu{display:flex;position:relative}.plyr__menu .plyr__control svg{transition:transform .3s ease}.plyr__menu .plyr__control[aria-expanded=true] svg{transform:rotate(90deg)}.plyr__menu .plyr__control[aria-expanded=true] .plyr__tooltip{display:none}.plyr__menu__container{animation:plyr-popup .2s ease;background:rgba(255,255,255,.9);background:var(--plyr-menu-background,rgba(255,255,255,.9));border-radius:4px;bottom:100%;box-shadow:0 1px 2px rgba(0,0,0,.15);box-shadow:var(--plyr-menu-shadow,0 1px 2px rgba(0,0,0,.15));color:#4a5464;color:var(--plyr-menu-color,#4a5464);font-size:15px;font-size:var(--plyr-font-size-base,15px);margin-bottom:10px;position:absolute;right:-3px;text-align:left;white-space:nowrap;z-index:3}.plyr__menu__container>div{overflow:hidden;transition:height .35s cubic-bezier(.4,0,.2,1),width .35s cubic-bezier(.4,0,.2,1)}.plyr__menu__container::after{border:4px solid transparent;border:var(--plyr-menu-arrow-size,4px) solid transparent;border-top-color:rgba(255,255,255,.9);border-top-color:var(--plyr-menu-background,rgba(255,255,255,.9));content:'';height:0;position:absolute;right:calc(((18px/2) + calc(10px * .7)) - (4px/2));right:calc(((var(--plyr-control-icon-size,18px)/2) + calc(var(--plyr-control-spacing,10px) * .7)) - (var(--plyr-menu-arrow-size,4px)/2));top:100%;width:0}.plyr__menu__container [role=menu]{padding:calc(10px * .7);padding:calc(var(--plyr-control-spacing,10px) * .7)}.plyr__menu__container [role=menuitem],.plyr__menu__container [role=menuitemradio]{margin-top:2px}.plyr__menu__container [role=menuitem]:first-child,.plyr__menu__container [role=menuitemradio]:first-child{margin-top:0}.plyr__menu__container .plyr__control{align-items:center;color:#4a5464;color:var(--plyr-menu-color,#4a5464);display:flex;font-size:13px;font-size:var(--plyr-font-size-menu,var(--plyr-font-size-small,13px));padding-bottom:calc(calc(10px * .7)/1.5);padding-bottom:calc(calc(var(--plyr-control-spacing,10px) * .7)/1.5);padding-left:calc(calc(10px * .7) * 1.5);padding-left:calc(calc(var(--plyr-control-spacing,10px) * .7) * 1.5);padding-right:calc(calc(10px * .7) * 1.5);padding-right:calc(calc(var(--plyr-control-spacing,10px) * .7) * 1.5);padding-top:calc(calc(10px * .7)/1.5);padding-top:calc(calc(var(--plyr-control-spacing,10px) * .7)/1.5);-webkit-user-select:none;-ms-user-select:none;user-select:none;width:100%}.plyr__menu__container .plyr__control>span{align-items:inherit;display:flex;width:100%}.plyr__menu__container .plyr__control::after{border:4px solid transparent;border:var(--plyr-menu-item-arrow-size,4px) solid transparent;content:'';position:absolute;top:50%;transform:translateY(-50%)}.plyr__menu__container .plyr__control--forward{padding-right:calc(calc(10px * .7) * 4);padding-right:calc(calc(var(--plyr-control-spacing,10px) * .7) * 4)}.plyr__menu__container .plyr__control--forward::after{border-left-color:#728197;border-left-color:var(--plyr-menu-arrow-color,#728197);right:calc((calc(10px * .7) * 1.5) - 4px);right:calc((calc(var(--plyr-control-spacing,10px) * .7) * 1.5) - var(--plyr-menu-item-arrow-size,4px))}.plyr__menu__container .plyr__control--forward.plyr__tab-focus::after,.plyr__menu__container .plyr__control--forward:hover::after{border-left-color:currentColor}.plyr__menu__container .plyr__control--back{font-weight:400;font-weight:var(--plyr-font-weight-regular,400);margin:calc(10px * .7);margin:calc(var(--plyr-control-spacing,10px) * .7);margin-bottom:calc(calc(10px * .7)/2);margin-bottom:calc(calc(var(--plyr-control-spacing,10px) * .7)/2);padding-left:calc(calc(10px * .7) * 4);padding-left:calc(calc(var(--plyr-control-spacing,10px) * .7) * 4);position:relative;width:calc(100% - (calc(10px * .7) * 2));width:calc(100% - (calc(var(--plyr-control-spacing,10px) * .7) * 2))}.plyr__menu__container .plyr__control--back::after{border-right-color:#728197;border-right-color:var(--plyr-menu-arrow-color,#728197);left:calc((calc(10px * .7) * 1.5) - 4px);left:calc((calc(var(--plyr-control-spacing,10px) * .7) * 1.5) - var(--plyr-menu-item-arrow-size,4px))}.plyr__menu__container .plyr__control--back::before{background:#dcdfe5;background:var(--plyr-menu-back-border-color,#dcdfe5);box-shadow:0 1px 0 #fff;box-shadow:0 1px 0 var(--plyr-menu-back-border-shadow-color,#fff);content:'';height:1px;left:0;margin-top:calc(calc(10px * .7)/2);margin-top:calc(calc(var(--plyr-control-spacing,10px) * .7)/2);overflow:hidden;position:absolute;right:0;top:100%}.plyr__menu__container .plyr__control--back.plyr__tab-focus::after,.plyr__menu__container .plyr__control--back:hover::after{border-right-color:currentColor}.plyr__menu__container .plyr__control[role=menuitemradio]{padding-left:calc(10px * .7);padding-left:calc(var(--plyr-control-spacing,10px) * .7)}.plyr__menu__container .plyr__control[role=menuitemradio]::after,.plyr__menu__container .plyr__control[role=menuitemradio]::before{border-radius:100%}.plyr__menu__container .plyr__control[role=menuitemradio]::before{background:rgba(0,0,0,.1);content:'';display:block;flex-shrink:0;height:16px;margin-right:10px;margin-right:var(--plyr-control-spacing,10px);transition:all .3s ease;width:16px}.plyr__menu__container .plyr__control[role=menuitemradio]::after{background:#fff;border:0;height:6px;left:12px;opacity:0;top:50%;transform:translateY(-50%) scale(0);transition:transform .3s ease,opacity .3s ease;width:6px}.plyr__menu__container .plyr__control[role=menuitemradio][aria-checked=true]::before{background:#00b3ff;background:var(--plyr-control-toggle-checked-background,var(--plyr-color-main,var(--plyr-color-main,#00b3ff)))}.plyr__menu__container .plyr__control[role=menuitemradio][aria-checked=true]::after{opacity:1;transform:translateY(-50%) scale(1)}.plyr__menu__container .plyr__control[role=menuitemradio].plyr__tab-focus::before,.plyr__menu__container .plyr__control[role=menuitemradio]:hover::before{background:rgba(35,40,47,.1)}.plyr__menu__container .plyr__menu__value{align-items:center;display:flex;margin-left:auto;margin-right:calc((calc(10px * .7) - 2) * -1);margin-right:calc((calc(var(--plyr-control-spacing,10px) * .7) - 2) * -1);overflow:hidden;padding-left:calc(calc(10px * .7) * 3.5);padding-left:calc(calc(var(--plyr-control-spacing,10px) * .7) * 3.5);pointer-events:none}.plyr--full-ui input[type=range]{-webkit-appearance:none;background:0 0;border:0;border-radius:calc(13px * 2);border-radius:calc(var(--plyr-range-thumb-height,13px) * 2);color:#00b3ff;color:var(--plyr-range-fill-background,var(--plyr-color-main,var(--plyr-color-main,#00b3ff)));display:block;height:calc((3px * 2) + 13px);height:calc((var(--plyr-range-thumb-active-shadow-width,3px) * 2) + var(--plyr-range-thumb-height,13px));margin:0;min-width:0;padding:0;transition:box-shadow .3s ease;width:100%}.plyr--full-ui input[type=range]::-webkit-slider-runnable-track{background:0 0;border:0;border-radius:calc(5px/2);border-radius:calc(var(--plyr-range-track-height,5px)/2);height:5px;height:var(--plyr-range-track-height,5px);-webkit-transition:box-shadow .3s ease;transition:box-shadow .3s ease;-webkit-user-select:none;user-select:none;background-image:linear-gradient(to right,currentColor 0,transparent 0);background-image:linear-gradient(to right,currentColor var(--value,0),transparent var(--value,0))}.plyr--full-ui input[type=range]::-webkit-slider-thumb{background:#fff;background:var(--plyr-range-thumb-background,#fff);border:0;border-radius:100%;box-shadow:0 1px 1px rgba(35,40,47,.15),0 0 0 1px rgba(35,40,47,.2);box-shadow:var(--plyr-range-thumb-shadow,0 1px 1px rgba(35,40,47,.15),0 0 0 1px rgba(35,40,47,.2));height:13px;height:var(--plyr-range-thumb-height,13px);position:relative;-webkit-transition:all .2s ease;transition:all .2s ease;width:13px;width:var(--plyr-range-thumb-height,13px);-webkit-appearance:none;margin-top:calc(((13px - 5px)/2) * -1);margin-top:calc(((var(--plyr-range-thumb-height,13px) - var(--plyr-range-track-height,5px))/2) * -1)}.plyr--full-ui input[type=range]::-moz-range-track{background:0 0;border:0;border-radius:calc(5px/2);border-radius:calc(var(--plyr-range-track-height,5px)/2);height:5px;height:var(--plyr-range-track-height,5px);-moz-transition:box-shadow .3s ease;transition:box-shadow .3s ease;user-select:none}.plyr--full-ui input[type=range]::-moz-range-thumb{background:#fff;background:var(--plyr-range-thumb-background,#fff);border:0;border-radius:100%;box-shadow:0 1px 1px rgba(35,40,47,.15),0 0 0 1px rgba(35,40,47,.2);box-shadow:var(--plyr-range-thumb-shadow,0 1px 1px rgba(35,40,47,.15),0 0 0 1px rgba(35,40,47,.2));height:13px;height:var(--plyr-range-thumb-height,13px);position:relative;-moz-transition:all .2s ease;transition:all .2s ease;width:13px;width:var(--plyr-range-thumb-height,13px)}.plyr--full-ui input[type=range]::-moz-range-progress{background:currentColor;border-radius:calc(5px/2);border-radius:calc(var(--plyr-range-track-height,5px)/2);height:5px;height:var(--plyr-range-track-height,5px)}.plyr--full-ui input[type=range]::-ms-track{background:0 0;border:0;border-radius:calc(5px/2);border-radius:calc(var(--plyr-range-track-height,5px)/2);height:5px;height:var(--plyr-range-track-height,5px);-ms-transition:box-shadow .3s ease;transition:box-shadow .3s ease;-ms-user-select:none;user-select:none;color:transparent}.plyr--full-ui input[type=range]::-ms-fill-upper{background:0 0;border:0;border-radius:calc(5px/2);border-radius:calc(var(--plyr-range-track-height,5px)/2);height:5px;height:var(--plyr-range-track-height,5px);-ms-transition:box-shadow .3s ease;transition:box-shadow .3s ease;-ms-user-select:none;user-select:none}.plyr--full-ui input[type=range]::-ms-fill-lower{background:0 0;border:0;border-radius:calc(5px/2);border-radius:calc(var(--plyr-range-track-height,5px)/2);height:5px;height:var(--plyr-range-track-height,5px);-ms-transition:box-shadow .3s ease;transition:box-shadow .3s ease;-ms-user-select:none;user-select:none;background:currentColor}.plyr--full-ui input[type=range]::-ms-thumb{background:#fff;background:var(--plyr-range-thumb-background,#fff);border:0;border-radius:100%;box-shadow:0 1px 1px rgba(35,40,47,.15),0 0 0 1px rgba(35,40,47,.2);box-shadow:var(--plyr-range-thumb-shadow,0 1px 1px rgba(35,40,47,.15),0 0 0 1px rgba(35,40,47,.2));height:13px;height:var(--plyr-range-thumb-height,13px);position:relative;-ms-transition:all .2s ease;transition:all .2s ease;width:13px;width:var(--plyr-range-thumb-height,13px);margin-top:0}.plyr--full-ui input[type=range]::-ms-tooltip{display:none}.plyr--full-ui input[type=range]:focus{outline:0}.plyr--full-ui input[type=range]::-moz-focus-outer{border:0}.plyr--full-ui input[type=range].plyr__tab-focus::-webkit-slider-runnable-track{outline-color:#00b3ff;outline-color:var(--plyr-tab-focus-color,var(--plyr-color-main,var(--plyr-color-main,#00b3ff)));outline-offset:2px;outline-style:dotted;outline-width:3px}.plyr--full-ui input[type=range].plyr__tab-focus::-moz-range-track{outline-color:#00b3ff;outline-color:var(--plyr-tab-focus-color,var(--plyr-color-main,var(--plyr-color-main,#00b3ff)));outline-offset:2px;outline-style:dotted;outline-width:3px}.plyr--full-ui input[type=range].plyr__tab-focus::-ms-track{outline-color:#00b3ff;outline-color:var(--plyr-tab-focus-color,var(--plyr-color-main,var(--plyr-color-main,#00b3ff)));outline-offset:2px;outline-style:dotted;outline-width:3px}.plyr__poster{background-color:#000;background-color:var(--plyr-video-background,var(--plyr-video-background,#000));background-position:50% 50%;background-repeat:no-repeat;background-size:contain;height:100%;left:0;opacity:0;position:absolute;top:0;transition:opacity .2s ease;width:100%;z-index:1}.plyr--stopped.plyr__poster-enabled .plyr__poster{opacity:1}.plyr__time{font-size:13px;font-size:var(--plyr-font-size-time,var(--plyr-font-size-small,13px))}.plyr__time+.plyr__time::before{content:'\2044';margin-right:10px;margin-right:var(--plyr-control-spacing,10px)}@media(max-width:767px){.plyr__time+.plyr__time{display:none}}.plyr__tooltip{background:rgba(255,255,255,.9);background:var(--plyr-tooltip-background,rgba(255,255,255,.9));border-radius:3px;border-radius:var(--plyr-tooltip-radius,3px);bottom:100%;box-shadow:0 1px 2px rgba(0,0,0,.15);box-shadow:var(--plyr-tooltip-shadow,0 1px 2px rgba(0,0,0,.15));color:#4a5464;color:var(--plyr-tooltip-color,#4a5464);font-size:13px;font-size:var(--plyr-font-size-small,13px);font-weight:400;font-weight:var(--plyr-font-weight-regular,400);left:50%;line-height:1.3;margin-bottom:calc(calc(10px/2) * 2);margin-bottom:calc(calc(var(--plyr-control-spacing,10px)/2) * 2);opacity:0;padding:calc(10px/2) calc(calc(10px/2) * 1.5);padding:calc(var(--plyr-control-spacing,10px)/2) calc(calc(var(--plyr-control-spacing,10px)/2) * 1.5);pointer-events:none;position:absolute;transform:translate(-50%,10px) scale(.8);transform-origin:50% 100%;transition:transform .2s .1s ease,opacity .2s .1s ease;white-space:nowrap;z-index:2}.plyr__tooltip::before{border-left:4px solid transparent;border-left:var(--plyr-tooltip-arrow-size,4px) solid transparent;border-right:4px solid transparent;border-right:var(--plyr-tooltip-arrow-size,4px) solid transparent;border-top:4px solid rgba(255,255,255,.9);border-top:var(--plyr-tooltip-arrow-size,4px) solid var(--plyr-tooltip-background,rgba(255,255,255,.9));bottom:calc(4px * -1);bottom:calc(var(--plyr-tooltip-arrow-size,4px) * -1);content:'';height:0;left:50%;position:absolute;transform:translateX(-50%);width:0;z-index:2}.plyr .plyr__control.plyr__tab-focus .plyr__tooltip,.plyr .plyr__control:hover .plyr__tooltip,.plyr__tooltip--visible{opacity:1;transform:translate(-50%,0) scale(1)}.plyr .plyr__control:hover .plyr__tooltip{z-index:3}.plyr__controls>.plyr__control:first-child .plyr__tooltip,.plyr__controls>.plyr__control:first-child+.plyr__control .plyr__tooltip{left:0;transform:translate(0,10px) scale(.8);transform-origin:0 100%}.plyr__controls>.plyr__control:first-child .plyr__tooltip::before,.plyr__controls>.plyr__control:first-child+.plyr__control .plyr__tooltip::before{left:calc((18px/2) + calc(10px * .7));left:calc((var(--plyr-control-icon-size,18px)/2) + calc(var(--plyr-control-spacing,10px) * .7))}.plyr__controls>.plyr__control:last-child .plyr__tooltip{left:auto;right:0;transform:translate(0,10px) scale(.8);transform-origin:100% 100%}.plyr__controls>.plyr__control:last-child .plyr__tooltip::before{left:auto;right:calc((18px/2) + calc(10px * .7));right:calc((var(--plyr-control-icon-size,18px)/2) + calc(var(--plyr-control-spacing,10px) * .7));transform:translateX(50%)}.plyr__controls>.plyr__control:first-child .plyr__tooltip--visible,.plyr__controls>.plyr__control:first-child+.plyr__control .plyr__tooltip--visible,.plyr__controls>.plyr__control:first-child+.plyr__control.plyr__tab-focus .plyr__tooltip,.plyr__controls>.plyr__control:first-child+.plyr__control:hover .plyr__tooltip,.plyr__controls>.plyr__control:first-child.plyr__tab-focus .plyr__tooltip,.plyr__controls>.plyr__control:first-child:hover .plyr__tooltip,.plyr__controls>.plyr__control:last-child .plyr__tooltip--visible,.plyr__controls>.plyr__control:last-child.plyr__tab-focus .plyr__tooltip,.plyr__controls>.plyr__control:last-child:hover .plyr__tooltip{transform:translate(0,0) scale(1)}.plyr__progress{left:calc(13px * .5);left:calc(var(--plyr-range-thumb-height,13px) * .5);margin-right:13px;margin-right:var(--plyr-range-thumb-height,13px);position:relative}.plyr__progress input[type=range],.plyr__progress__buffer{margin-left:calc(13px * -.5);margin-left:calc(var(--plyr-range-thumb-height,13px) * -.5);margin-right:calc(13px * -.5);margin-right:calc(var(--plyr-range-thumb-height,13px) * -.5);width:calc(100% + 13px);width:calc(100% + var(--plyr-range-thumb-height,13px))}.plyr__progress input[type=range]{position:relative;z-index:2}.plyr__progress .plyr__tooltip{font-size:13px;font-size:var(--plyr-font-size-time,var(--plyr-font-size-small,13px));left:0}.plyr__progress__buffer{-webkit-appearance:none;background:0 0;border:0;border-radius:100px;height:5px;height:var(--plyr-range-track-height,5px);left:0;margin-top:calc((5px/2) * -1);margin-top:calc((var(--plyr-range-track-height,5px)/2) * -1);padding:0;position:absolute;top:50%}.plyr__progress__buffer::-webkit-progress-bar{background:0 0}.plyr__progress__buffer::-webkit-progress-value{background:currentColor;border-radius:100px;min-width:5px;min-width:var(--plyr-range-track-height,5px);-webkit-transition:width .2s ease;transition:width .2s ease}.plyr__progress__buffer::-moz-progress-bar{background:currentColor;border-radius:100px;min-width:5px;min-width:var(--plyr-range-track-height,5px);-moz-transition:width .2s ease;transition:width .2s ease}.plyr__progress__buffer::-ms-fill{border-radius:100px;-ms-transition:width .2s ease;transition:width .2s ease}.plyr--loading .plyr__progress__buffer{animation:plyr-progress 1s linear infinite;background-image:linear-gradient(-45deg,rgba(35,40,47,.6) 25%,transparent 25%,transparent 50%,rgba(35,40,47,.6) 50%,rgba(35,40,47,.6) 75%,transparent 75%,transparent);background-image:linear-gradient(-45deg,var(--plyr-progress-loading-background,rgba(35,40,47,.6)) 25%,transparent 25%,transparent 50%,var(--plyr-progress-loading-background,rgba(35,40,47,.6)) 50%,var(--plyr-progress-loading-background,rgba(35,40,47,.6)) 75%,transparent 75%,transparent);background-repeat:repeat-x;background-size:25px 25px;background-size:var(--plyr-progress-loading-size,25px) var(--plyr-progress-loading-size,25px);color:transparent}.plyr--video.plyr--loading .plyr__progress__buffer{background-color:rgba(255,255,255,.25);background-color:var(--plyr-video-progress-buffered-background,rgba(255,255,255,.25))}.plyr--audio.plyr--loading .plyr__progress__buffer{background-color:rgba(193,200,209,.6);background-color:var(--plyr-audio-progress-buffered-background,rgba(193,200,209,.6))}.plyr__volume{align-items:center;display:flex;max-width:110px;min-width:80px;position:relative;width:20%}.plyr__volume input[type=range]{margin-left:calc(10px/2);margin-left:calc(var(--plyr-control-spacing,10px)/2);margin-right:calc(10px/2);margin-right:calc(var(--plyr-control-spacing,10px)/2);position:relative;z-index:2}.plyr--is-ios .plyr__volume{min-width:0;width:auto}.plyr--audio{display:block}.plyr--audio .plyr__controls{background:#fff;background:var(--plyr-audio-controls-background,#fff);border-radius:inherit;color:#4a5464;color:var(--plyr-audio-control-color,#4a5464);padding:10px;padding:var(--plyr-control-spacing,10px)}.plyr--audio .plyr__control.plyr__tab-focus,.plyr--audio .plyr__control:hover,.plyr--audio .plyr__control[aria-expanded=true]{background:#00b3ff;background:var(--plyr-audio-control-background-hover,var(--plyr-color-main,var(--plyr-color-main,#00b3ff)));color:#fff;color:var(--plyr-audio-control-color-hover,#fff)}.plyr--full-ui.plyr--audio input[type=range]::-webkit-slider-runnable-track{background-color:rgba(193,200,209,.6);background-color:var(--plyr-audio-range-track-background,var(--plyr-audio-progress-buffered-background,rgba(193,200,209,.6)))}.plyr--full-ui.plyr--audio input[type=range]::-moz-range-track{background-color:rgba(193,200,209,.6);background-color:var(--plyr-audio-range-track-background,var(--plyr-audio-progress-buffered-background,rgba(193,200,209,.6)))}.plyr--full-ui.plyr--audio input[type=range]::-ms-track{background-color:rgba(193,200,209,.6);background-color:var(--plyr-audio-range-track-background,var(--plyr-audio-progress-buffered-background,rgba(193,200,209,.6)))}.plyr--full-ui.plyr--audio input[type=range]:active::-webkit-slider-thumb{box-shadow:0 1px 1px rgba(35,40,47,.15),0 0 0 1px rgba(35,40,47,.2),0 0 0 3px rgba(35,40,47,.1);box-shadow:var(--plyr-range-thumb-shadow,0 1px 1px rgba(35,40,47,.15),0 0 0 1px rgba(35,40,47,.2)),0 0 0 var(--plyr-range-thumb-active-shadow-width,3px) var(--plyr-audio-range-thumb-active-shadow-color,rgba(35,40,47,.1))}.plyr--full-ui.plyr--audio input[type=range]:active::-moz-range-thumb{box-shadow:0 1px 1px rgba(35,40,47,.15),0 0 0 1px rgba(35,40,47,.2),0 0 0 3px rgba(35,40,47,.1);box-shadow:var(--plyr-range-thumb-shadow,0 1px 1px rgba(35,40,47,.15),0 0 0 1px rgba(35,40,47,.2)),0 0 0 var(--plyr-range-thumb-active-shadow-width,3px) var(--plyr-audio-range-thumb-active-shadow-color,rgba(35,40,47,.1))}.plyr--full-ui.plyr--audio input[type=range]:active::-ms-thumb{box-shadow:0 1px 1px rgba(35,40,47,.15),0 0 0 1px rgba(35,40,47,.2),0 0 0 3px rgba(35,40,47,.1);box-shadow:var(--plyr-range-thumb-shadow,0 1px 1px rgba(35,40,47,.15),0 0 0 1px rgba(35,40,47,.2)),0 0 0 var(--plyr-range-thumb-active-shadow-width,3px) var(--plyr-audio-range-thumb-active-shadow-color,rgba(35,40,47,.1))}.plyr--audio .plyr__progress__buffer{color:rgba(193,200,209,.6);color:var(--plyr-audio-progress-buffered-background,rgba(193,200,209,.6))}.plyr--video{background:#000;background:var(--plyr-video-background,var(--plyr-video-background,#000));overflow:hidden}.plyr--video.plyr--menu-open{overflow:visible}.plyr__video-wrapper{background:#000;background:var(--plyr-video-background,var(--plyr-video-background,#000));height:100%;margin:auto;overflow:hidden;position:relative;width:100%}.plyr__video-embed,.plyr__video-wrapper--fixed-ratio{height:0;padding-bottom:56.25%}.plyr__video-embed iframe,.plyr__video-wrapper--fixed-ratio video{border:0;left:0;position:absolute;top:0}.plyr--full-ui .plyr__video-embed>.plyr__video-embed__container{padding-bottom:240%;position:relative;transform:translateY(-38.28125%)}.plyr--video .plyr__controls{background:linear-gradient(rgba(0,0,0,0),rgba(0,0,0,.75));background:var(--plyr-video-controls-background,linear-gradient(rgba(0,0,0,0),rgba(0,0,0,.75)));border-bottom-left-radius:inherit;border-bottom-right-radius:inherit;bottom:0;color:#fff;color:var(--plyr-video-control-color,#fff);left:0;padding:calc(10px/2);padding:calc(var(--plyr-control-spacing,10px)/2);padding-top:calc(10px * 2);padding-top:calc(var(--plyr-control-spacing,10px) * 2);position:absolute;right:0;transition:opacity .4s ease-in-out,transform .4s ease-in-out;z-index:3}@media(min-width:480px){.plyr--video .plyr__controls{padding:10px;padding:var(--plyr-control-spacing,10px);padding-top:calc(10px * 3.5);padding-top:calc(var(--plyr-control-spacing,10px) * 3.5)}}.plyr--video.plyr--hide-controls .plyr__controls{opacity:0;pointer-events:none;transform:translateY(100%)}.plyr--video .plyr__control.plyr__tab-focus,.plyr--video .plyr__control:hover,.plyr--video .plyr__control[aria-expanded=true]{background:#00b3ff;background:var(--plyr-video-control-background-hover,var(--plyr-color-main,var(--plyr-color-main,#00b3ff)));color:#fff;color:var(--plyr-video-control-color-hover,#fff)}.plyr__control--overlaid{background:#00b3ff;background:var(--plyr-video-control-background-hover,var(--plyr-color-main,var(--plyr-color-main,#00b3ff)));border:0;border-radius:100%;color:#fff;color:var(--plyr-video-control-color,#fff);display:none;left:50%;opacity:.9;padding:calc(10px * 1.5);padding:calc(var(--plyr-control-spacing,10px) * 1.5);position:absolute;top:50%;transform:translate(-50%,-50%);transition:.3s;z-index:2}.plyr__control--overlaid svg{left:2px;position:relative}.plyr__control--overlaid:focus,.plyr__control--overlaid:hover{opacity:1}.plyr--playing .plyr__control--overlaid{opacity:0;visibility:hidden}.plyr--full-ui.plyr--video .plyr__control--overlaid{display:block}.plyr--full-ui.plyr--video input[type=range]::-webkit-slider-runnable-track{background-color:rgba(255,255,255,.25);background-color:var(--plyr-video-range-track-background,var(--plyr-video-progress-buffered-background,rgba(255,255,255,.25)))}.plyr--full-ui.plyr--video input[type=range]::-moz-range-track{background-color:rgba(255,255,255,.25);background-color:var(--plyr-video-range-track-background,var(--plyr-video-progress-buffered-background,rgba(255,255,255,.25)))}.plyr--full-ui.plyr--video input[type=range]::-ms-track{background-color:rgba(255,255,255,.25);background-color:var(--plyr-video-range-track-background,var(--plyr-video-progress-buffered-background,rgba(255,255,255,.25)))}.plyr--full-ui.plyr--video input[type=range]:active::-webkit-slider-thumb{box-shadow:0 1px 1px rgba(35,40,47,.15),0 0 0 1px rgba(35,40,47,.2),0 0 0 3px rgba(255,255,255,.5);box-shadow:var(--plyr-range-thumb-shadow,0 1px 1px rgba(35,40,47,.15),0 0 0 1px rgba(35,40,47,.2)),0 0 0 var(--plyr-range-thumb-active-shadow-width,3px) var(--plyr-audio-range-thumb-active-shadow-color,rgba(255,255,255,.5))}.plyr--full-ui.plyr--video input[type=range]:active::-moz-range-thumb{box-shadow:0 1px 1px rgba(35,40,47,.15),0 0 0 1px rgba(35,40,47,.2),0 0 0 3px rgba(255,255,255,.5);box-shadow:var(--plyr-range-thumb-shadow,0 1px 1px rgba(35,40,47,.15),0 0 0 1px rgba(35,40,47,.2)),0 0 0 var(--plyr-range-thumb-active-shadow-width,3px) var(--plyr-audio-range-thumb-active-shadow-color,rgba(255,255,255,.5))}.plyr--full-ui.plyr--video input[type=range]:active::-ms-thumb{box-shadow:0 1px 1px rgba(35,40,47,.15),0 0 0 1px rgba(35,40,47,.2),0 0 0 3px rgba(255,255,255,.5);box-shadow:var(--plyr-range-thumb-shadow,0 1px 1px rgba(35,40,47,.15),0 0 0 1px rgba(35,40,47,.2)),0 0 0 var(--plyr-range-thumb-active-shadow-width,3px) var(--plyr-audio-range-thumb-active-shadow-color,rgba(255,255,255,.5))}.plyr--video .plyr__progress__buffer{color:rgba(255,255,255,.25);color:var(--plyr-video-progress-buffered-background,rgba(255,255,255,.25))}.plyr:-webkit-full-screen{background:#000;border-radius:0!important;height:100%;margin:0;width:100%}.plyr:-ms-fullscreen{background:#000;border-radius:0!important;height:100%;margin:0;width:100%}.plyr:fullscreen{background:#000;border-radius:0!important;height:100%;margin:0;width:100%}.plyr:-webkit-full-screen video{height:100%}.plyr:-ms-fullscreen video{height:100%}.plyr:fullscreen video{height:100%}.plyr:-webkit-full-screen .plyr__video-wrapper{height:100%;position:static}.plyr:-ms-fullscreen .plyr__video-wrapper{height:100%;position:static}.plyr:fullscreen .plyr__video-wrapper{height:100%;position:static}.plyr:-webkit-full-screen.plyr--vimeo .plyr__video-wrapper{height:0;position:relative}.plyr:-ms-fullscreen.plyr--vimeo .plyr__video-wrapper{height:0;position:relative}.plyr:fullscreen.plyr--vimeo .plyr__video-wrapper{height:0;position:relative}.plyr:-webkit-full-screen .plyr__control .icon--exit-fullscreen{display:block}.plyr:-ms-fullscreen .plyr__control .icon--exit-fullscreen{display:block}.plyr:fullscreen .plyr__control .icon--exit-fullscreen{display:block}.plyr:-webkit-full-screen .plyr__control .icon--exit-fullscreen+svg{display:none}.plyr:-ms-fullscreen .plyr__control .icon--exit-fullscreen+svg{display:none}.plyr:fullscreen .plyr__control .icon--exit-fullscreen+svg{display:none}.plyr:-webkit-full-screen.plyr--hide-controls{cursor:none}.plyr:-ms-fullscreen.plyr--hide-controls{cursor:none}.plyr:fullscreen.plyr--hide-controls{cursor:none}@media(min-width:1024px){.plyr:-webkit-full-screen .plyr__captions{font-size:21px;font-size:var(--plyr-font-size-xlarge,21px)}.plyr:-ms-fullscreen .plyr__captions{font-size:21px;font-size:var(--plyr-font-size-xlarge,21px)}.plyr:fullscreen .plyr__captions{font-size:21px;font-size:var(--plyr-font-size-xlarge,21px)}}.plyr:-webkit-full-screen{background:#000;border-radius:0!important;height:100%;margin:0;width:100%}.plyr:-webkit-full-screen video{height:100%}.plyr:-webkit-full-screen .plyr__video-wrapper{height:100%;position:static}.plyr:-webkit-full-screen.plyr--vimeo .plyr__video-wrapper{height:0;position:relative}.plyr:-webkit-full-screen .plyr__control .icon--exit-fullscreen{display:block}.plyr:-webkit-full-screen .plyr__control .icon--exit-fullscreen+svg{display:none}.plyr:-webkit-full-screen.plyr--hide-controls{cursor:none}@media(min-width:1024px){.plyr:-webkit-full-screen .plyr__captions{font-size:21px;font-size:var(--plyr-font-size-xlarge,21px)}}.plyr:-moz-full-screen{background:#000;border-radius:0!important;height:100%;margin:0;width:100%}.plyr:-moz-full-screen video{height:100%}.plyr:-moz-full-screen .plyr__video-wrapper{height:100%;position:static}.plyr:-moz-full-screen.plyr--vimeo .plyr__video-wrapper{height:0;position:relative}.plyr:-moz-full-screen .plyr__control .icon--exit-fullscreen{display:block}.plyr:-moz-full-screen .plyr__control .icon--exit-fullscreen+svg{display:none}.plyr:-moz-full-screen.plyr--hide-controls{cursor:none}@media(min-width:1024px){.plyr:-moz-full-screen .plyr__captions{font-size:21px;font-size:var(--plyr-font-size-xlarge,21px)}}.plyr:-ms-fullscreen{background:#000;border-radius:0!important;height:100%;margin:0;width:100%}.plyr:-ms-fullscreen video{height:100%}.plyr:-ms-fullscreen .plyr__video-wrapper{height:100%;position:static}.plyr:-ms-fullscreen.plyr--vimeo .plyr__video-wrapper{height:0;position:relative}.plyr:-ms-fullscreen .plyr__control .icon--exit-fullscreen{display:block}.plyr:-ms-fullscreen .plyr__control .icon--exit-fullscreen+svg{display:none}.plyr:-ms-fullscreen.plyr--hide-controls{cursor:none}@media(min-width:1024px){.plyr:-ms-fullscreen .plyr__captions{font-size:21px;font-size:var(--plyr-font-size-xlarge,21px)}}.plyr--fullscreen-fallback{background:#000;border-radius:0!important;height:100%;margin:0;width:100%;bottom:0;display:block;left:0;position:fixed;right:0;top:0;z-index:10000000}.plyr--fullscreen-fallback video{height:100%}.plyr--fullscreen-fallback .plyr__video-wrapper{height:100%;position:static}.plyr--fullscreen-fallback.plyr--vimeo .plyr__video-wrapper{height:0;position:relative}.plyr--fullscreen-fallback .plyr__control .icon--exit-fullscreen{display:block}.plyr--fullscreen-fallback .plyr__control .icon--exit-fullscreen+svg{display:none}.plyr--fullscreen-fallback.plyr--hide-controls{cursor:none}@media(min-width:1024px){.plyr--fullscreen-fallback .plyr__captions{font-size:21px;font-size:var(--plyr-font-size-xlarge,21px)}}.plyr__ads{border-radius:inherit;bottom:0;cursor:pointer;left:0;overflow:hidden;position:absolute;right:0;top:0;z-index:-1}.plyr__ads>div,.plyr__ads>div iframe{height:100%;position:absolute;width:100%}.plyr__ads::after{background:#23282f;border-radius:2px;bottom:10px;bottom:var(--plyr-control-spacing,10px);color:#fff;content:attr(data-badge-text);font-size:11px;padding:2px 6px;pointer-events:none;position:absolute;right:10px;right:var(--plyr-control-spacing,10px);z-index:3}.plyr__ads::after:empty{display:none}.plyr__cues{background:currentColor;display:block;height:5px;height:var(--plyr-range-track-height,5px);left:0;margin:-var(--plyr-range-track-height,5px)/2 0 0;opacity:.8;position:absolute;top:50%;width:3px;z-index:3}.plyr__preview-thumb{background-color:rgba(255,255,255,.9);background-color:var(--plyr-tooltip-background,rgba(255,255,255,.9));border-radius:3px;bottom:100%;box-shadow:0 1px 2px rgba(0,0,0,.15);box-shadow:var(--plyr-tooltip-shadow,0 1px 2px rgba(0,0,0,.15));margin-bottom:calc(calc(10px/2) * 2);margin-bottom:calc(calc(var(--plyr-control-spacing,10px)/2) * 2);opacity:0;padding:3px;padding:var(--plyr-tooltip-radius,3px);pointer-events:none;position:absolute;transform:translate(0,10px) scale(.8);transform-origin:50% 100%;transition:transform .2s .1s ease,opacity .2s .1s ease;z-index:2}.plyr__preview-thumb--is-shown{opacity:1;transform:translate(0,0) scale(1)}.plyr__preview-thumb::before{border-left:4px solid transparent;border-left:var(--plyr-tooltip-arrow-size,4px) solid transparent;border-right:4px solid transparent;border-right:var(--plyr-tooltip-arrow-size,4px) solid transparent;border-top:4px solid rgba(255,255,255,.9);border-top:var(--plyr-tooltip-arrow-size,4px) solid var(--plyr-tooltip-background,rgba(255,255,255,.9));bottom:calc(4px * -1);bottom:calc(var(--plyr-tooltip-arrow-size,4px) * -1);content:'';height:0;left:50%;position:absolute;transform:translateX(-50%);width:0;z-index:2}.plyr__preview-thumb__image-container{background:#c1c8d1;border-radius:calc(3px - 1px);border-radius:calc(var(--plyr-tooltip-radius,3px) - 1px);overflow:hidden;position:relative;z-index:0}.plyr__preview-thumb__image-container img{height:100%;left:0;max-height:none;max-width:none;position:absolute;top:0;width:100%}.plyr__preview-thumb__time-container{bottom:6px;left:0;position:absolute;right:0;white-space:nowrap;z-index:3}.plyr__preview-thumb__time-container span{background-color:rgba(0,0,0,.55);border-radius:calc(3px - 1px);border-radius:calc(var(--plyr-tooltip-radius,3px) - 1px);color:#fff;font-size:13px;font-size:var(--plyr-font-size-time,var(--plyr-font-size-small,13px));padding:3px 6px}.plyr__preview-scrubbing{bottom:0;filter:blur(1px);height:100%;left:0;margin:auto;opacity:0;overflow:hidden;pointer-events:none;position:absolute;right:0;top:0;transition:opacity .3s ease;width:100%;z-index:1}.plyr__preview-scrubbing--is-shown{opacity:1}.plyr__preview-scrubbing img{height:100%;left:0;max-height:none;max-width:none;object-fit:contain;position:absolute;top:0;width:100%}.plyr--no-transition{transition:none!important}.plyr__sr-only{clip:rect(1px,1px,1px,1px);overflow:hidden;border:0!important;height:1px!important;padding:0!important;position:absolute!important;width:1px!important}.plyr [hidden]{display:none!important} \ No newline at end of file diff --git a/static/assets/css/about.css b/static/css/sections/about.css similarity index 52% rename from static/assets/css/about.css rename to static/css/sections/about.css index a125768..4f7b1e5 100644 --- a/static/assets/css/about.css +++ b/static/css/sections/about.css @@ -63,7 +63,6 @@ border-top-right-radius: 80px; border-bottom-right-radius: 80px; border-left: 0; - -webkit-transform-origin: center left; transform-origin: center left; } @@ -76,9 +75,9 @@ border-top-left-radius: 80px; border-bottom-left-radius: 80px; border-right: 0; - -webkit-transform-origin: center right; transform-origin: center right; - animation: circular-loading-1 1.8s linear forwards; + -webkit-animation: circular-loading-1 1.8s linear forwards; + animation: circular-loading-1 1.8s linear forwards; } .circular-progress .circular-progress-value { @@ -100,7 +99,7 @@ } .circular-progress.yellow .circular-progress-bar { - border-color: #ffc212; + border-color: #eebb4d; } .circular-progress.pink .circular-progress-bar { @@ -111,222 +110,353 @@ border-color: #2dca73; } +.circular-progress.sky .circular-progress-bar { + border-color: #00c9e3; +} + +.circular-progress.orange .circular-progress-bar { + border-color: #ff7c7c; +} + .circular-progress-percentage-50 { - animation: circular-loading-50 0s linear forwards 1.8s; + -webkit-animation: circular-loading-50 0s linear forwards 1.8s; + animation: circular-loading-50 0s linear forwards 1.8s; } .circular-progress-percentage-55 { - animation: circular-loading-55 0.18s linear forwards 1.8s; + -webkit-animation: circular-loading-55 0.18s linear forwards 1.8s; + animation: circular-loading-55 0.18s linear forwards 1.8s; } .circular-progress-percentage-60 { - animation: circular-loading-60 0.36s linear forwards 1.8s; + -webkit-animation: circular-loading-60 0.36s linear forwards 1.8s; + animation: circular-loading-60 0.36s linear forwards 1.8s; } .circular-progress-percentage-65 { - animation: circular-loading-65 0.54s linear forwards 1.8s; + -webkit-animation: circular-loading-65 0.54s linear forwards 1.8s; + animation: circular-loading-65 0.54s linear forwards 1.8s; } .circular-progress-percentage-70 { - animation: circular-loading-70 0.72s linear forwards 1.8s; + -webkit-animation: circular-loading-70 0.72s linear forwards 1.8s; + animation: circular-loading-70 0.72s linear forwards 1.8s; } .circular-progress-percentage-75 { - animation: circular-loading-75 0.9s linear forwards 1.8s; + -webkit-animation: circular-loading-75 0.9s linear forwards 1.8s; + animation: circular-loading-75 0.9s linear forwards 1.8s; } .circular-progress-percentage-80 { - animation: circular-loading-80 1.08s linear forwards 1.8s; + -webkit-animation: circular-loading-80 1.08s linear forwards 1.8s; + animation: circular-loading-80 1.08s linear forwards 1.8s; } .circular-progress-percentage-85 { - animation: circular-loading-85 1.26s linear forwards 1.8s; + -webkit-animation: circular-loading-85 1.26s linear forwards 1.8s; + animation: circular-loading-85 1.26s linear forwards 1.8s; } .circular-progress-percentage-90 { - animation: circular-loading-90 1.44s linear forwards 1.8s; + -webkit-animation: circular-loading-90 1.44s linear forwards 1.8s; + animation: circular-loading-90 1.44s linear forwards 1.8s; } .circular-progress-percentage-95 { - animation: circular-loading-95 1.62s linear forwards 1.8s; + -webkit-animation: circular-loading-95 1.62s linear forwards 1.8s; + animation: circular-loading-95 1.62s linear forwards 1.8s; } .circular-progress-percentage-100 { - animation: circular-loading-100 1.8s linear forwards 1.8s; + -webkit-animation: circular-loading-100 1.8s linear forwards 1.8s; + animation: circular-loading-100 1.8s linear forwards 1.8s; +} + +@-webkit-keyframes circular-loading-50 { + 0% { + transform: rotate(0deg); + } + 100% { + transform: rotate(0deg); + } } @keyframes circular-loading-50 { 0% { - -webkit-transform: rotate(0deg); transform: rotate(0deg); } 100% { - -webkit-transform: rotate(0deg); transform: rotate(0deg); } } +@-webkit-keyframes circular-loading-55 { + 0% { + transform: rotate(0deg); + } + 100% { + transform: rotate(18deg); + } +} + @keyframes circular-loading-55 { 0% { - -webkit-transform: rotate(0deg); transform: rotate(0deg); } 100% { - -webkit-transform: rotate(18deg); transform: rotate(18deg); } } +@-webkit-keyframes circular-loading-60 { + 0% { + transform: rotate(0deg); + } + 100% { + transform: rotate(36deg); + } +} + @keyframes circular-loading-60 { 0% { - -webkit-transform: rotate(0deg); transform: rotate(0deg); } 100% { - -webkit-transform: rotate(36deg); transform: rotate(36deg); } } +@-webkit-keyframes circular-loading-65 { + 0% { + transform: rotate(0deg); + } + 100% { + transform: rotate(54deg); + } +} + @keyframes circular-loading-65 { 0% { - -webkit-transform: rotate(0deg); transform: rotate(0deg); } 100% { - -webkit-transform: rotate(54deg); transform: rotate(54deg); } } +@-webkit-keyframes circular-loading-70 { + 0% { + transform: rotate(0deg); + } + 100% { + transform: rotate(72deg); + } +} + @keyframes circular-loading-70 { 0% { - -webkit-transform: rotate(0deg); transform: rotate(0deg); } 100% { - -webkit-transform: rotate(72deg); transform: rotate(72deg); } } +@-webkit-keyframes circular-loading-75 { + 0% { + transform: rotate(0deg); + } + 100% { + transform: rotate(90deg); + } +} + @keyframes circular-loading-75 { 0% { - -webkit-transform: rotate(0deg); transform: rotate(0deg); } 100% { - -webkit-transform: rotate(90deg); transform: rotate(90deg); } } +@-webkit-keyframes circular-loading-80 { + 0% { + transform: rotate(0deg); + } + 100% { + transform: rotate(108deg); + } +} + @keyframes circular-loading-80 { 0% { - -webkit-transform: rotate(0deg); transform: rotate(0deg); } 100% { - -webkit-transform: rotate(108deg); transform: rotate(108deg); } } +@-webkit-keyframes circular-loading-85 { + 0% { + transform: rotate(0deg); + } + 100% { + transform: rotate(126deg); + } +} + @keyframes circular-loading-85 { 0% { - -webkit-transform: rotate(0deg); transform: rotate(0deg); } 100% { - -webkit-transform: rotate(126deg); transform: rotate(126deg); } } +@-webkit-keyframes circular-loading-90 { + 0% { + transform: rotate(0deg); + } + 100% { + transform: rotate(144deg); + } +} + @keyframes circular-loading-90 { 0% { - -webkit-transform: rotate(0deg); transform: rotate(0deg); } 100% { - -webkit-transform: rotate(144deg); transform: rotate(144deg); } } +@-webkit-keyframes circular-loading-95 { + 0% { + transform: rotate(0deg); + } + 100% { + transform: rotate(162deg); + } +} + @keyframes circular-loading-95 { 0% { - -webkit-transform: rotate(0deg); transform: rotate(0deg); } 100% { - -webkit-transform: rotate(162deg); transform: rotate(162deg); } } +@-webkit-keyframes circular-loading-100 { + 0% { + transform: rotate(0deg); + } + 100% { + transform: rotate(180deg); + } +} + @keyframes circular-loading-100 { 0% { - -webkit-transform: rotate(0deg); transform: rotate(0deg); } 100% { - -webkit-transform: rotate(180deg); + transform: rotate(180deg); + } +} + +@-webkit-keyframes circular-loading-1 { + 0% { + transform: rotate(0deg); + } + 100% { transform: rotate(180deg); } } @keyframes circular-loading-1 { 0% { - -webkit-transform: rotate(0deg); transform: rotate(0deg); } 100% { - -webkit-transform: rotate(180deg); transform: rotate(180deg); } } +@-webkit-keyframes circular-loading-2 { + 0% { + transform: rotate(0deg); + } + 100% { + transform: rotate(144deg); + } +} + @keyframes circular-loading-2 { 0% { - -webkit-transform: rotate(0deg); transform: rotate(0deg); } 100% { - -webkit-transform: rotate(144deg); transform: rotate(144deg); } } +@-webkit-keyframes circular-loading-3 { + 0% { + transform: rotate(0deg); + } + 100% { + transform: rotate(90deg); + } +} + @keyframes circular-loading-3 { 0% { - -webkit-transform: rotate(0deg); transform: rotate(0deg); } 100% { - -webkit-transform: rotate(90deg); transform: rotate(90deg); } } +@-webkit-keyframes circular-loading-4 { + 0% { + transform: rotate(0deg); + } + 100% { + transform: rotate(36deg); + } +} + @keyframes circular-loading-4 { 0% { - -webkit-transform: rotate(0deg); transform: rotate(0deg); } 100% { - -webkit-transform: rotate(36deg); transform: rotate(36deg); } } +@-webkit-keyframes circular-loading-5 { + 0% { + transform: rotate(0deg); + } + 100% { + transform: rotate(126deg); + } +} + @keyframes circular-loading-5 { 0% { - -webkit-transform: rotate(0deg); transform: rotate(0deg); } 100% { - -webkit-transform: rotate(126deg); transform: rotate(126deg); } } @@ -339,9 +469,9 @@ /* ============= Device specific fixes ======= */ -/* Extra small devices (portrait phones, less than 576px) */ - -/* No media query for `xs` since this is the default in Bootstrap */ +/* Large screens such as TV */ +@media only screen and (min-width: 1824px) { +} /* Extra large devices (large desktops, 1200px and up) */ @@ -351,6 +481,10 @@ @media (max-width: 1200px) { } +/* IPad Pro */ +@media (max-width: 1024px) { +} + /* Large devices (desktops, 992px and up) */ @media (max-width: 992px) { @@ -359,9 +493,24 @@ /* Medium devices (tablets, 768px and up) */ @media only screen and (max-width: 768px) { + .about-section.container { + max-width: 100%; + } } /* Small devices (landscape phones, 576px and up) */ @media only screen and (max-width: 576px) { } + +/* iPhoneX, iPhone 6,7,8 */ +@media only screen and (max-width: 375px) { +} + +/* Galaxy S5, Moto G4 */ +@media only screen and (max-width: 360px) { +} + +/* iPhone 5 or before */ +@media only screen and (max-width: 320px) { +} diff --git a/static/css/sections/accomplishments.css b/static/css/sections/accomplishments.css new file mode 100644 index 0000000..56eb614 --- /dev/null +++ b/static/css/sections/accomplishments.css @@ -0,0 +1,97 @@ +.accomplishments-section .card { + background: #fff; + border-top: 2px solid #248aaa; +} +.accomplishments-section .card .card-header { + background: none; + border: none; +} + +.accomplishments-section .card .card-header .sub-title { + color: #8392a5; + margin-top: 0.4rem; +} + +.accomplishments-section .card .sub-title :nth-child(2) { + float: none !important; +} + +.accomplishments-section .card .card-body { + padding: 0; + padding-left: 1rem; + padding-right: 1rem; +} + +.accomplishments-section .card .card-footer { + background: #fff; + border: none; + padding: 0; + padding-left: 0.7rem; + padding-bottom: 0.3rem; +} + +/* ============= Device specific fixes ======= */ + +/* Large screens such as TV */ +@media only screen and (min-width: 1824px) { +} + +/* Extra large devices (large desktops, 1200px and up) */ + +@media (max-width: 1400px) { +} + +@media (max-width: 1200px) { +} + +/* IPad Pro */ +@media (max-width: 1024px) { + .accomplishments-section { + padding-left: 0; + padding-right: 0; + width: 100%; + } + .accomplishments-section .container { + max-width: 100%; + } + .accomplishments-section { + padding: 0; + } + .accomplishments-section { + padding-left: 0.2rem; + padding-right: 0.2rem; + } +} + +/* Large devices (desktops, 992px and up) */ + +@media (max-width: 992px) { +} + +/* Medium devices (tablets, 768px and up) */ + +@media only screen and (max-width: 768px) { + +} + +/* Small devices (landscape phones, 576px and up) */ + +@media only screen and (max-width: 576px) { + .accomplishments-section { + flex: 100%; + max-width: 100%; + margin-top: 2rem; + } +} + +/* iPhoneX, iPhone 6,7,8 */ +@media only screen and (max-width: 375px) { +} + +/* Galaxy S5, Moto G4 */ +@media only screen and (max-width: 360px) { +} + +/* iPhone 5 or before */ +@media only screen and (max-width: 320px) { +} diff --git a/static/assets/css/achievements.css b/static/css/sections/achievements.css similarity index 66% rename from static/assets/css/achievements.css rename to static/css/sections/achievements.css index a13a4da..d403400 100644 --- a/static/assets/css/achievements.css +++ b/static/css/sections/achievements.css @@ -1,4 +1,4 @@ -.achievements .container { +.achievements-section .container { padding-top: 0.5rem; } @@ -16,7 +16,6 @@ position: relative; overflow: hidden; transition: all 0.3s ease-out; - -webkit-transition: all 0.3s ease-out; } #gallery .achievement-entry:hover { @@ -24,7 +23,6 @@ z-index: 1; transform: scale(1.1); transition: all 0.3s ease-out; - -webkit-transition: all 0.3s ease-out; z-index: 20000; } @@ -33,9 +31,7 @@ z-index: 1; opacity: 1 !important; transition: none !important; - -webkit-transition: none !important; transform: none !important; - -webkit-transform: none !important; } #gallery .img-type-1 { @@ -58,7 +54,6 @@ opacity: 1; font-size: 1rem; transition: all 0.3s ease-out; - --webkit-transition: all 0.3s ease-out; } #gallery .img-type-1 i { @@ -72,7 +67,6 @@ .achievement-details.img-type-2 i { margin-top: 0px !important; transition: none !important; - -webkit-transition: none !important; float: right; } @@ -92,7 +86,6 @@ opacity: 1; bottom: 0px; transition: bottom 0.3s ease-out; - -webkit-transition: bottom 0.3s ease-out; } #gallery .caption { @@ -103,7 +96,6 @@ padding: 15px; position: absolute; transition: all 0.3s ease-out; - -webkit-transition: all 0.3s ease-out; } #gallery .caption h4 { @@ -123,3 +115,58 @@ #gallery .achievement-details { height: 75vh !important; } + +/* ============= Device specific fixes ======= */ + +/* Large screens such as TV */ +@media only screen and (min-width: 1824px) { +} + +/* Extra large devices (large desktops, 1200px and up) */ + +@media (max-width: 1400px) { +} + +@media (max-width: 1200px) { +} + +/* IPad Pro */ +@media (max-width: 1024px) { +} + +/* Large devices (desktops, 992px and up) */ + +@media (max-width: 992px) { +} + +/* Medium devices (tablets, 768px and up) */ + +@media only screen and (max-width: 768px) { + .achievements-section .container { + max-width: 100%; + } + .achievements-section .col-md-6 { + flex: 50%; + width: 50%; + } +} + +/* Small devices (landscape phones, 576px and up) */ + +@media only screen and (max-width: 576px) { + #gallery .achievement-entry:hover { + transform: scale(1.05); + } +} + +/* iPhoneX, iPhone 6,7,8 */ +@media only screen and (max-width: 375px) { +} + +/* Galaxy S5, Moto G4 */ +@media only screen and (max-width: 360px) { +} + +/* iPhone 5 or before */ +@media only screen and (max-width: 320px) { +} diff --git a/static/css/sections/education.css b/static/css/sections/education.css new file mode 100644 index 0000000..f7d518b --- /dev/null +++ b/static/css/sections/education.css @@ -0,0 +1,188 @@ +.education-section .education-info-table { + width: 100%; + border: none; +} + +.education-section .education-info-table tr:hover { + background: none; +} + +.education-section .education-info-table tr, +.education-section .education-info-table th, +.education-section .education-info-table td { + border: none; + padding: 0; +} + +.education-section .timeframe { + color: #8392a5; + text-align: right; +} + +.education-section .icon { + width: 2rem; + padding-left: 0; + padding-right: 0; + position: relative; +} + +.education-section .icon .hline { + position: absolute; + left: 1rem; + top: 0; + background-color: #248aaa; + height: 100%; + width: 2px; +} + +.education-section .education-info-table tr:first-child .hline { + height: 60%; + top: auto; +} + +.education-section .education-info-table tr:last-child .hline { + height: 50%; +} + +.education-section .icon-holder { + background-color: #248aaa; + border-radius: 50%; + height: 2rem; + width: 2rem; + padding: 0.2rem; + text-align: center; + color: #e5e9f2; + position: relative; +} + +.education-section .line { + width: 5%; + padding-left: 0; + padding-right: 0; +} + +.education-section .line div { + height: 2px; + /* width: 100%; */ + margin-right: -1px; + background-color: #248aaa; +} + +.education-section .degree-info { + padding: 1rem; + margin-top: 0.5rem; + margin-bottom: 0.5rem; + border-left: 2px solid #248aaa; + border-top: 1px solid #c0ccda; + border-bottom: 1px solid #c0ccda; + border-right: 1px solid #c0ccda; + border-radius: 5px; +} + +.education-section .degree-info h5 { + margin-bottom: 0.3rem; +} + +.education-section .taken-courses table { + margin-left: 1rem; + width: 100%; + transition: all 0.3s ease-out; + background: none; + border: none; +} + +.education-section .taken-courses tr { + height: auto !important; +} + +.education-section .taken-courses tr, +.education-section .taken-courses td, +.education-section .taken-courses th { + background: none; + border: none; + color: #212529; +} + +.education-section .taken-courses .hidden-course { + display: none; + transition: all 1s ease-out; +} + +.education-section .taken-courses ul { + margin-bottom: 0; +} + +/*============ Education Alter Template =============*/ +.education-alt .degree-info { + border-right: 2px solid #248aaa; +} + +/* ============= Device specific fixes ======= */ + +/* Large screens such as TV */ + +@media only screen and (min-width: 1824px) { +} + +/* Extra large devices (large desktops, 1200px and up) */ + +@media (max-width: 1400px) { +} + +@media (max-width: 1200px) { +} + +/* IPad Pro */ + +@media (max-width: 1024px) { + .education-section .container { + padding-left: 0; + } +} + +/* Large devices (desktops, 992px and up) */ + +@media (max-width: 992px) { +} + +/* Medium devices (tablets, 768px and up) */ + +@media only screen and (max-width: 768px) { +} + +/* Small devices (landscape phones, 576px and up) */ + +@media only screen and (max-width: 576px) { + .education-section { + padding-left: 0.5rem; + padding-right: 0.5rem; + } + .education-section .container { + padding-right: 0; + } + + .education-section .icon { + display: none; + } + .education-section .line { + display: none; + } + .education-section .timeframe { + text-align: left; + } +} + +/* iPhoneX, iPhone 6,7,8 */ + +@media only screen and (max-width: 375px) { +} + +/* Galaxy S5, Moto G4 */ + +@media only screen and (max-width: 360px) { +} + +/* iPhone 5 or before */ + +@media only screen and (max-width: 320px) { +} diff --git a/static/assets/css/experiences.css b/static/css/sections/experiences.css similarity index 64% rename from static/assets/css/experiences.css rename to static/css/sections/experiences.css index 2035c52..43b2e32 100644 --- a/static/assets/css/experiences.css +++ b/static/css/sections/experiences.css @@ -1,20 +1,24 @@ -.experiences { +.experiences-section { padding-bottom: 1rem; } -.experiences .timeline { +.experiences-section .timeline { margin-top: 1.5rem !important; } -.experiences ul { +.experiences-section ul { padding-left: 1rem; } -.experiences ul > li { +.experiences-section ul > li { margin-left: 0; color: #3c4858; } +.experiences-section .designation { + font-weight: 600; +} + .circle { padding: 13px 20px; border-radius: 50%; @@ -87,9 +91,9 @@ /* ============= Device specific fixes ======= */ -/* Extra small devices (portrait phones, less than 576px) */ - -/* No media query for `xs` since this is the default in Bootstrap */ +/* Large screens such as TV */ +@media only screen and (min-width: 1824px) { +} /* Extra large devices (large desktops, 1200px and up) */ @@ -99,6 +103,10 @@ @media (max-width: 1200px) { } +/* IPad Pro */ +@media (max-width: 1024px) { +} + /* Large devices (desktops, 992px and up) */ @media (max-width: 992px) { @@ -107,9 +115,51 @@ /* Medium devices (tablets, 768px and up) */ @media only screen and (max-width: 768px) { + .experiences-section .container { + max-width: 100%; + } } /* Small devices (landscape phones, 576px and up) */ @media only screen and (max-width: 576px) { } + +/* iPhoneX, iPhone 6,7,8 */ +@media only screen and (max-width: 375px) { + .top-left { + left: -52%; + top: -50%; + } + + .top-right { + left: 52%; + top: -50%; + } +} + +/* Galaxy S5, Moto G4 */ +@media only screen and (max-width: 360px) { + .top-left { + left: -56%; + top: -50%; + } + + .top-right { + left: 56%; + top: -50%; + } +} + +/* iPhone 5 or before */ +@media only screen and (max-width: 320px) { + .top-left { + left: -64%; + top: -50%; + } + + .top-right { + left: 64%; + top: -50%; + } +} diff --git a/static/assets/css/home.css b/static/css/sections/home.css similarity index 59% rename from static/assets/css/home.css rename to static/css/sections/home.css index 78c0373..893ee3d 100644 --- a/static/assets/css/home.css +++ b/static/css/sections/home.css @@ -12,13 +12,25 @@ padding: 0; margin: 0; background-attachment: fixed; + background-position: center; transform: scale(1.1); - -webkit-transform: scale(1.1); filter: blur(3px); - -webkit-filter: blur(3px); background-size: cover; } +/* + Resolves https://github.com/hossainemruz/toha/issues/70 + + fixed attached images use the whole size. On mobile this can get really + tall which blows your image out. Setting the attachment back to scroll allows + your cover image to stretch within its own container +*/ +@supports (-webkit-touch-callout: none) { + .background { + background-attachment: scroll; + } +} + .content { position: relative; top: -65%; @@ -54,7 +66,24 @@ } .bounce { - animation: bounce 2s infinite; + -webkit-animation: bounce 2s infinite; + animation: bounce 2s infinite; +} + +@-webkit-keyframes bounce { + 0%, + 20%, + 50%, + 80%, + 100% { + transform: translateY(0); + } + 40% { + transform: translateY(-30px); + } + 60% { + transform: translateY(-15px); + } } @keyframes bounce { @@ -75,9 +104,9 @@ /* ============= Device specific fixes ======= */ -/* Extra small devices (portrait phones, less than 576px) */ - -/* No media query for `xs` since this is the default in Bootstrap */ +/* Large screens such as TV */ +@media only screen and (min-width: 1824px) { +} /* Extra large devices (large desktops, 1200px and up) */ @@ -87,6 +116,10 @@ @media (max-width: 1200px) { } +/* IPad Pro */ +@media (max-width: 1024px) { +} + /* Large devices (desktops, 992px and up) */ @media (max-width: 992px) { @@ -116,3 +149,15 @@ font-size: 24pt; } } + +/* iPhoneX, iPhone 6,7,8 */ +@media only screen and (max-width: 375px) { +} + +/* Galaxy S5, Moto G4 */ +@media only screen and (max-width: 360px) { +} + +/* iPhone 5 or before */ +@media only screen and (max-width: 320px) { +} diff --git a/static/css/sections/projects.css b/static/css/sections/projects.css new file mode 100644 index 0000000..1855b27 --- /dev/null +++ b/static/css/sections/projects.css @@ -0,0 +1,134 @@ +.projects-section .card .card-header { + background-color: #f9fafc; + padding: 0.7rem; + padding-bottom: 0rem; + text-decoration: none; +} + +.projects-section .card .card-img-xs { + margin-right: 0.5rem; +} + +.card .card-header .sub-title span:nth-child(1) { + float: left; +} +.card .card-header .sub-title span:nth-child(2) { + float: right; +} + +.projects-section .card .card-body { + padding: 0.7rem; +} + +.projects-section .card .card-header .sub-title { + color: #8392a5; + margin-top: 0.4rem; +} + +.filtr-projects { + padding: 1rem !important; +} + +.project-card-footer { + display: flex; +} + +.project-tags-holder { + width: 70%; +} + +.project-btn-holder { + width: 30%; + display: flex; + justify-content: flex-end; + flex-direction: column; +} + +.project-btn-holder span { + justify-content: flex-end; + display: flex; +} + +/* ============= Device specific fixes ======= */ + +/* Large screens such as TV */ +@media only screen and (min-width: 1824px) { +} + +/* Extra large devices (large desktops, 1200px and up) */ + +@media (max-width: 1400px) { +} + +@media (max-width: 1200px) { +} + +/* IPad Pro */ +@media (max-width: 1024px) { + .projects-section { + padding-left: 0; + padding-right: 0; + width: 100%; + } + .projects-section .container { + max-width: 100%; + } + .projects-section .filtr-projects { + padding: 0; + } + .projects-section .filtr-item { + padding-left: 0.2rem; + padding-right: 0.2rem; + } +} + +/* Large devices (desktops, 992px and up) */ + +@media (max-width: 992px) { +} + +/* Medium devices (tablets, 768px and up) */ + +@media only screen and (max-width: 768px) { + .projects-section { + padding-left: 0; + padding-right: 0; + width: 100%; + } + .projects-section .container { + max-width: 100%; + } + .projects-section .filtr-projects { + padding: 0; + } + .projects-section .filtr-item { + padding-left: 0.2rem; + padding-right: 0.2rem; + flex: 50%; + max-width: calc(100% / 2 - 0.2rem); + } +} + +/* Small devices (landscape phones, 576px and up) */ + +@media only screen and (max-width: 576px) { + .projects-section .btn { + margin-top: 0.3125rem; + } + .projects-section .filtr-item { + flex: 100%; + max-width: 100%; + } +} + +/* iPhoneX, iPhone 6,7,8 */ +@media only screen and (max-width: 375px) { +} + +/* Galaxy S5, Moto G4 */ +@media only screen and (max-width: 360px) { +} + +/* iPhone 5 or before */ +@media only screen and (max-width: 320px) { +} diff --git a/static/css/sections/recent-posts.css b/static/css/sections/recent-posts.css new file mode 100644 index 0000000..bd6faed --- /dev/null +++ b/static/css/sections/recent-posts.css @@ -0,0 +1,82 @@ +.recent-posts-section .container { + padding-top: 1rem; +} + +.recent-posts-section .card .card-footer span { + font-size: 10pt; + color: #6c757d !important; + padding-top: 5px; +} + +.recent-posts-section .card .card-footer { + background: #fff; + margin-top: auto; +} + +.recent-posts-section .post-card-link { + text-decoration: none; +} + +.post-summary { + overflow: hidden; + text-overflow: ellipsis; + display: -webkit-box; + /* line-height: 24px; fallback */ + max-height: 144px; /* fallback */ + -webkit-line-clamp: 5; /* number of lines to show */ + -webkit-box-orient: vertical; +} + +/* ============= Device specific fixes ======= */ + +/* Large screens such as TV */ +@media only screen and (min-width: 1824px) { +} + +/* Extra large devices (large desktops, 1200px and up) */ + +@media (max-width: 1400px) { +} + +@media (max-width: 1200px) { +} + +/* IPad Pro */ +@media (max-width: 1024px) { +} + +/* Large devices (desktops, 992px and up) */ + +@media (max-width: 992px) { +} + +/* Medium devices (tablets, 768px and up) */ + +@media only screen and (max-width: 768px) { + .recent-posts-section .container { + max-width: 100%; + } + .recent-posts-section .post-card { + width: 50%; + } +} + +/* Small devices (landscape phones, 576px and up) */ + +@media only screen and (max-width: 576px) { + .recent-posts-section .post-card { + width: 100%; + } +} + +/* iPhoneX, iPhone 6,7,8 */ +@media only screen and (max-width: 375px) { +} + +/* Galaxy S5, Moto G4 */ +@media only screen and (max-width: 360px) { +} + +/* iPhone 5 or before */ +@media only screen and (max-width: 320px) { +} diff --git a/static/assets/css/skills.css b/static/css/sections/skills.css similarity index 50% rename from static/assets/css/skills.css rename to static/css/sections/skills.css index cf4e8c3..374d3c6 100644 --- a/static/assets/css/skills.css +++ b/static/css/sections/skills.css @@ -1,30 +1,36 @@ -.skills .card .card-head { +.skills-section .card .card-head { background-color: #f9fafc; + height: -webkit-fit-content; + height: -moz-fit-content; height: fit-content; padding: 0.7rem; padding-bottom: 0rem; border-bottom: 0.0625rem solid rgba(0, 0, 0, 0.125); } -.skills .card .card-img-xs { +.skills-section .skill-card-link { + text-decoration: none; +} + +.skills-section .card .card-img-xs { margin-right: 0.5rem; } -.skills .card { +.skills-section .card { margin-top: 0.5rem; margin-bottom: 0.5rem; } -.skills .card .card-body { +.skills-section .card .card-body { padding-top: 0.2rem; padding-left: 0.7rem; } /* ============= Device specific fixes ======= */ -/* Extra small devices (portrait phones, less than 576px) */ - -/* No media query for `xs` since this is the default in Bootstrap */ +/* Large screens such as TV */ +@media only screen and (min-width: 1824px) { +} /* Extra large devices (large desktops, 1200px and up) */ @@ -34,6 +40,10 @@ @media (max-width: 1200px) { } +/* IPad Pro */ +@media (max-width: 1024px) { +} + /* Large devices (desktops, 992px and up) */ @media (max-width: 992px) { @@ -42,9 +52,28 @@ /* Medium devices (tablets, 768px and up) */ @media only screen and (max-width: 768px) { + .skills-section { + padding-left: 0; + padding-right: 0; + } + .skills-section .container { + max-width: 100%; + } } /* Small devices (landscape phones, 576px and up) */ @media only screen and (max-width: 576px) { } + +/* iPhoneX, iPhone 6,7,8 */ +@media only screen and (max-width: 375px) { +} + +/* Galaxy S5, Moto G4 */ +@media only screen and (max-width: 360px) { +} + +/* iPhone 5 or before */ +@media only screen and (max-width: 320px) { +} diff --git a/static/css/style.css b/static/css/style.css new file mode 100644 index 0000000..3776d67 --- /dev/null +++ b/static/css/style.css @@ -0,0 +1,46 @@ +/* This is empty CSS file intended to be overwritten by user's custom CSS file */ + +/* ============= Device specific fixes ======= */ + +/* Large screens such as TV */ +@media only screen and (min-width: 1824px) { +} + +/* Extra large devices (large desktops, 1200px and up) */ + +@media (max-width: 1400px) { +} + +@media (max-width: 1200px) { +} + +/* IPad Pro */ +@media (max-width: 1024px) { +} + +/* Large devices (desktops, 992px and up) */ + +@media (max-width: 992px) { +} + +/* Medium devices (tablets, 768px and up) */ + +@media only screen and (max-width: 768px) { +} + +/* Small devices (landscape phones, 576px and up) */ + +@media only screen and (max-width: 576px) { +} + +/* iPhoneX, iPhone 6,7,8 */ +@media only screen and (max-width: 375px) { +} + +/* Galaxy S5, Moto G4 */ +@media only screen and (max-width: 360px) { +} + +/* iPhone 5 or before */ +@media only screen and (max-width: 320px) { +} diff --git a/static/flags/4x3/ad.svg b/static/flags/4x3/ad.svg new file mode 100644 index 0000000..71e58d7 --- /dev/null +++ b/static/flags/4x3/ad.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/flags/4x3/ae.svg b/static/flags/4x3/ae.svg new file mode 100644 index 0000000..1230c7e --- /dev/null +++ b/static/flags/4x3/ae.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/flags/4x3/af.svg b/static/flags/4x3/af.svg new file mode 100644 index 0000000..d8d23eb --- /dev/null +++ b/static/flags/4x3/af.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/flags/4x3/ag.svg b/static/flags/4x3/ag.svg new file mode 100644 index 0000000..ec74d34 --- /dev/null +++ b/static/flags/4x3/ag.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/flags/4x3/ai.svg b/static/flags/4x3/ai.svg new file mode 100644 index 0000000..b09a5a8 --- /dev/null +++ b/static/flags/4x3/ai.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/flags/4x3/al.svg b/static/flags/4x3/al.svg new file mode 100644 index 0000000..498b12f --- /dev/null +++ b/static/flags/4x3/al.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/flags/4x3/am.svg b/static/flags/4x3/am.svg new file mode 100644 index 0000000..a0474b6 --- /dev/null +++ b/static/flags/4x3/am.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/flags/4x3/ao.svg b/static/flags/4x3/ao.svg new file mode 100644 index 0000000..019e8e3 --- /dev/null +++ b/static/flags/4x3/ao.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/flags/4x3/aq.svg b/static/flags/4x3/aq.svg new file mode 100644 index 0000000..97506b1 --- /dev/null +++ b/static/flags/4x3/aq.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/flags/4x3/ar.svg b/static/flags/4x3/ar.svg new file mode 100644 index 0000000..3e0a356 --- /dev/null +++ b/static/flags/4x3/ar.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/flags/4x3/as.svg b/static/flags/4x3/as.svg new file mode 100644 index 0000000..831ed4e --- /dev/null +++ b/static/flags/4x3/as.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/flags/4x3/at.svg b/static/flags/4x3/at.svg new file mode 100644 index 0000000..95e470e --- /dev/null +++ b/static/flags/4x3/at.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/flags/4x3/au.svg b/static/flags/4x3/au.svg new file mode 100644 index 0000000..cac2444 --- /dev/null +++ b/static/flags/4x3/au.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/flags/4x3/aw.svg b/static/flags/4x3/aw.svg new file mode 100644 index 0000000..bb31c64 --- /dev/null +++ b/static/flags/4x3/aw.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/flags/4x3/ax.svg b/static/flags/4x3/ax.svg new file mode 100644 index 0000000..33578bb --- /dev/null +++ b/static/flags/4x3/ax.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/flags/4x3/az.svg b/static/flags/4x3/az.svg new file mode 100644 index 0000000..4419668 --- /dev/null +++ b/static/flags/4x3/az.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/flags/4x3/ba.svg b/static/flags/4x3/ba.svg new file mode 100644 index 0000000..b1d8f1c --- /dev/null +++ b/static/flags/4x3/ba.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/flags/4x3/bb.svg b/static/flags/4x3/bb.svg new file mode 100644 index 0000000..73f5329 --- /dev/null +++ b/static/flags/4x3/bb.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/static/flags/4x3/bd.svg b/static/flags/4x3/bd.svg new file mode 100644 index 0000000..883e946 --- /dev/null +++ b/static/flags/4x3/bd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/flags/4x3/be.svg b/static/flags/4x3/be.svg new file mode 100644 index 0000000..5241c4b --- /dev/null +++ b/static/flags/4x3/be.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/flags/4x3/bf.svg b/static/flags/4x3/bf.svg new file mode 100644 index 0000000..74a4cb3 --- /dev/null +++ b/static/flags/4x3/bf.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/flags/4x3/bg.svg b/static/flags/4x3/bg.svg new file mode 100644 index 0000000..db1a21b --- /dev/null +++ b/static/flags/4x3/bg.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/flags/4x3/bh.svg b/static/flags/4x3/bh.svg new file mode 100644 index 0000000..d6c0c4e --- /dev/null +++ b/static/flags/4x3/bh.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/flags/4x3/bi.svg b/static/flags/4x3/bi.svg new file mode 100644 index 0000000..470001f --- /dev/null +++ b/static/flags/4x3/bi.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/flags/4x3/bj.svg b/static/flags/4x3/bj.svg new file mode 100644 index 0000000..758681b --- /dev/null +++ b/static/flags/4x3/bj.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/flags/4x3/bl.svg b/static/flags/4x3/bl.svg new file mode 100644 index 0000000..fe30afa --- /dev/null +++ b/static/flags/4x3/bl.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/flags/4x3/bm.svg b/static/flags/4x3/bm.svg new file mode 100644 index 0000000..915d649 --- /dev/null +++ b/static/flags/4x3/bm.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/flags/4x3/bn.svg b/static/flags/4x3/bn.svg new file mode 100644 index 0000000..9ab9b57 --- /dev/null +++ b/static/flags/4x3/bn.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/flags/4x3/bo.svg b/static/flags/4x3/bo.svg new file mode 100644 index 0000000..36e0280 --- /dev/null +++ b/static/flags/4x3/bo.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/flags/4x3/bq.svg b/static/flags/4x3/bq.svg new file mode 100644 index 0000000..1a5e357 --- /dev/null +++ b/static/flags/4x3/bq.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/flags/4x3/br.svg b/static/flags/4x3/br.svg new file mode 100644 index 0000000..9dce3f9 --- /dev/null +++ b/static/flags/4x3/br.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/flags/4x3/bs.svg b/static/flags/4x3/bs.svg new file mode 100644 index 0000000..1f00b9d --- /dev/null +++ b/static/flags/4x3/bs.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/flags/4x3/bt.svg b/static/flags/4x3/bt.svg new file mode 100644 index 0000000..4df0d72 --- /dev/null +++ b/static/flags/4x3/bt.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/flags/4x3/bv.svg b/static/flags/4x3/bv.svg new file mode 100644 index 0000000..e7de9f7 --- /dev/null +++ b/static/flags/4x3/bv.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/flags/4x3/bw.svg b/static/flags/4x3/bw.svg new file mode 100644 index 0000000..b30d112 --- /dev/null +++ b/static/flags/4x3/bw.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/flags/4x3/by.svg b/static/flags/4x3/by.svg new file mode 100644 index 0000000..8bd1952 --- /dev/null +++ b/static/flags/4x3/by.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/flags/4x3/bz.svg b/static/flags/4x3/bz.svg new file mode 100644 index 0000000..43a639b --- /dev/null +++ b/static/flags/4x3/bz.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/flags/4x3/ca.svg b/static/flags/4x3/ca.svg new file mode 100644 index 0000000..2fda919 --- /dev/null +++ b/static/flags/4x3/ca.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/flags/4x3/cc.svg b/static/flags/4x3/cc.svg new file mode 100644 index 0000000..b764564 --- /dev/null +++ b/static/flags/4x3/cc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/flags/4x3/cd.svg b/static/flags/4x3/cd.svg new file mode 100644 index 0000000..049b621 --- /dev/null +++ b/static/flags/4x3/cd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/flags/4x3/cf.svg b/static/flags/4x3/cf.svg new file mode 100644 index 0000000..ebee6a0 --- /dev/null +++ b/static/flags/4x3/cf.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/flags/4x3/cg.svg b/static/flags/4x3/cg.svg new file mode 100644 index 0000000..e54ba14 --- /dev/null +++ b/static/flags/4x3/cg.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/flags/4x3/ch.svg b/static/flags/4x3/ch.svg new file mode 100644 index 0000000..d0cfe06 --- /dev/null +++ b/static/flags/4x3/ch.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/flags/4x3/ci.svg b/static/flags/4x3/ci.svg new file mode 100644 index 0000000..50a224f --- /dev/null +++ b/static/flags/4x3/ci.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/flags/4x3/ck.svg b/static/flags/4x3/ck.svg new file mode 100644 index 0000000..dda7597 --- /dev/null +++ b/static/flags/4x3/ck.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/flags/4x3/cl.svg b/static/flags/4x3/cl.svg new file mode 100644 index 0000000..2f0a423 --- /dev/null +++ b/static/flags/4x3/cl.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/flags/4x3/cm.svg b/static/flags/4x3/cm.svg new file mode 100644 index 0000000..5586dc5 --- /dev/null +++ b/static/flags/4x3/cm.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/flags/4x3/cn.svg b/static/flags/4x3/cn.svg new file mode 100644 index 0000000..08a04ff --- /dev/null +++ b/static/flags/4x3/cn.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/flags/4x3/co.svg b/static/flags/4x3/co.svg new file mode 100644 index 0000000..c1c98c5 --- /dev/null +++ b/static/flags/4x3/co.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/flags/4x3/cr.svg b/static/flags/4x3/cr.svg new file mode 100644 index 0000000..f44669f --- /dev/null +++ b/static/flags/4x3/cr.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/flags/4x3/cu.svg b/static/flags/4x3/cu.svg new file mode 100644 index 0000000..21d1e3c --- /dev/null +++ b/static/flags/4x3/cu.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/flags/4x3/cv.svg b/static/flags/4x3/cv.svg new file mode 100644 index 0000000..3069d4e --- /dev/null +++ b/static/flags/4x3/cv.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/flags/4x3/cw.svg b/static/flags/4x3/cw.svg new file mode 100644 index 0000000..8cb776f --- /dev/null +++ b/static/flags/4x3/cw.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/flags/4x3/cx.svg b/static/flags/4x3/cx.svg new file mode 100644 index 0000000..0f91e7c --- /dev/null +++ b/static/flags/4x3/cx.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/flags/4x3/cy.svg b/static/flags/4x3/cy.svg new file mode 100644 index 0000000..6f80b59 --- /dev/null +++ b/static/flags/4x3/cy.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/flags/4x3/cz.svg b/static/flags/4x3/cz.svg new file mode 100644 index 0000000..6059720 --- /dev/null +++ b/static/flags/4x3/cz.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/flags/4x3/de.svg b/static/flags/4x3/de.svg new file mode 100644 index 0000000..d3e28cb --- /dev/null +++ b/static/flags/4x3/de.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/flags/4x3/dj.svg b/static/flags/4x3/dj.svg new file mode 100644 index 0000000..c12698d --- /dev/null +++ b/static/flags/4x3/dj.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/flags/4x3/dk.svg b/static/flags/4x3/dk.svg new file mode 100644 index 0000000..cab8828 --- /dev/null +++ b/static/flags/4x3/dk.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/flags/4x3/dm.svg b/static/flags/4x3/dm.svg new file mode 100644 index 0000000..27727fc --- /dev/null +++ b/static/flags/4x3/dm.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/flags/4x3/do.svg b/static/flags/4x3/do.svg new file mode 100644 index 0000000..ad09519 --- /dev/null +++ b/static/flags/4x3/do.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/flags/4x3/dz.svg b/static/flags/4x3/dz.svg new file mode 100644 index 0000000..cb2d298 --- /dev/null +++ b/static/flags/4x3/dz.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/flags/4x3/ec.svg b/static/flags/4x3/ec.svg new file mode 100644 index 0000000..43d146f --- /dev/null +++ b/static/flags/4x3/ec.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/flags/4x3/ee.svg b/static/flags/4x3/ee.svg new file mode 100644 index 0000000..baa82d5 --- /dev/null +++ b/static/flags/4x3/ee.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/flags/4x3/eg.svg b/static/flags/4x3/eg.svg new file mode 100644 index 0000000..e816b83 --- /dev/null +++ b/static/flags/4x3/eg.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/flags/4x3/eh.svg b/static/flags/4x3/eh.svg new file mode 100644 index 0000000..b652cda --- /dev/null +++ b/static/flags/4x3/eh.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/flags/4x3/er.svg b/static/flags/4x3/er.svg new file mode 100644 index 0000000..fc2797f --- /dev/null +++ b/static/flags/4x3/er.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/flags/4x3/es-ct.svg b/static/flags/4x3/es-ct.svg new file mode 100644 index 0000000..2f5d54c --- /dev/null +++ b/static/flags/4x3/es-ct.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/flags/4x3/es-ga.svg b/static/flags/4x3/es-ga.svg new file mode 100644 index 0000000..83668ef --- /dev/null +++ b/static/flags/4x3/es-ga.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/flags/4x3/es.svg b/static/flags/4x3/es.svg new file mode 100644 index 0000000..20a435f --- /dev/null +++ b/static/flags/4x3/es.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/flags/4x3/et.svg b/static/flags/4x3/et.svg new file mode 100644 index 0000000..a49f897 --- /dev/null +++ b/static/flags/4x3/et.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/flags/4x3/eu.svg b/static/flags/4x3/eu.svg new file mode 100644 index 0000000..afe41d3 --- /dev/null +++ b/static/flags/4x3/eu.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/flags/4x3/fi.svg b/static/flags/4x3/fi.svg new file mode 100644 index 0000000..982f517 --- /dev/null +++ b/static/flags/4x3/fi.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/flags/4x3/fj.svg b/static/flags/4x3/fj.svg new file mode 100644 index 0000000..f531e53 --- /dev/null +++ b/static/flags/4x3/fj.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/flags/4x3/fk.svg b/static/flags/4x3/fk.svg new file mode 100644 index 0000000..e483ebc --- /dev/null +++ b/static/flags/4x3/fk.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/flags/4x3/fm.svg b/static/flags/4x3/fm.svg new file mode 100644 index 0000000..92254db --- /dev/null +++ b/static/flags/4x3/fm.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/flags/4x3/fo.svg b/static/flags/4x3/fo.svg new file mode 100644 index 0000000..b9df1ad --- /dev/null +++ b/static/flags/4x3/fo.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/flags/4x3/fr.svg b/static/flags/4x3/fr.svg new file mode 100644 index 0000000..609e20c --- /dev/null +++ b/static/flags/4x3/fr.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/flags/4x3/ga.svg b/static/flags/4x3/ga.svg new file mode 100644 index 0000000..891733c --- /dev/null +++ b/static/flags/4x3/ga.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/flags/4x3/gb-eng.svg b/static/flags/4x3/gb-eng.svg new file mode 100644 index 0000000..8cedf24 --- /dev/null +++ b/static/flags/4x3/gb-eng.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/flags/4x3/gb-nir.svg b/static/flags/4x3/gb-nir.svg new file mode 100644 index 0000000..a6ad72d --- /dev/null +++ b/static/flags/4x3/gb-nir.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/flags/4x3/gb-sct.svg b/static/flags/4x3/gb-sct.svg new file mode 100644 index 0000000..dd240fe --- /dev/null +++ b/static/flags/4x3/gb-sct.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/flags/4x3/gb-wls.svg b/static/flags/4x3/gb-wls.svg new file mode 100644 index 0000000..de2eaef --- /dev/null +++ b/static/flags/4x3/gb-wls.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/flags/4x3/gb.svg b/static/flags/4x3/gb.svg new file mode 100644 index 0000000..5f8ffbd --- /dev/null +++ b/static/flags/4x3/gb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/flags/4x3/gd.svg b/static/flags/4x3/gd.svg new file mode 100644 index 0000000..4781ba7 --- /dev/null +++ b/static/flags/4x3/gd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/flags/4x3/ge.svg b/static/flags/4x3/ge.svg new file mode 100644 index 0000000..c1f8b0e --- /dev/null +++ b/static/flags/4x3/ge.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/flags/4x3/gf.svg b/static/flags/4x3/gf.svg new file mode 100644 index 0000000..0c044a9 --- /dev/null +++ b/static/flags/4x3/gf.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/flags/4x3/gg.svg b/static/flags/4x3/gg.svg new file mode 100644 index 0000000..1c297ea --- /dev/null +++ b/static/flags/4x3/gg.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/flags/4x3/gh.svg b/static/flags/4x3/gh.svg new file mode 100644 index 0000000..2b1a400 --- /dev/null +++ b/static/flags/4x3/gh.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/flags/4x3/gi.svg b/static/flags/4x3/gi.svg new file mode 100644 index 0000000..7a8fc38 --- /dev/null +++ b/static/flags/4x3/gi.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/flags/4x3/gl.svg b/static/flags/4x3/gl.svg new file mode 100644 index 0000000..2e3a99f --- /dev/null +++ b/static/flags/4x3/gl.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/flags/4x3/gm.svg b/static/flags/4x3/gm.svg new file mode 100644 index 0000000..c0bb895 --- /dev/null +++ b/static/flags/4x3/gm.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/flags/4x3/gn.svg b/static/flags/4x3/gn.svg new file mode 100644 index 0000000..5811a85 --- /dev/null +++ b/static/flags/4x3/gn.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/flags/4x3/gp.svg b/static/flags/4x3/gp.svg new file mode 100644 index 0000000..2ba1ea7 --- /dev/null +++ b/static/flags/4x3/gp.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/flags/4x3/gq.svg b/static/flags/4x3/gq.svg new file mode 100644 index 0000000..43c50c4 --- /dev/null +++ b/static/flags/4x3/gq.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/flags/4x3/gr.svg b/static/flags/4x3/gr.svg new file mode 100644 index 0000000..d471851 --- /dev/null +++ b/static/flags/4x3/gr.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/flags/4x3/gs.svg b/static/flags/4x3/gs.svg new file mode 100644 index 0000000..6a0de8d --- /dev/null +++ b/static/flags/4x3/gs.svg @@ -0,0 +1 @@ +LEOTERRRRREOOAAAMPPPITTMG \ No newline at end of file diff --git a/static/flags/4x3/gt.svg b/static/flags/4x3/gt.svg new file mode 100644 index 0000000..60d60ab --- /dev/null +++ b/static/flags/4x3/gt.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/flags/4x3/gu.svg b/static/flags/4x3/gu.svg new file mode 100644 index 0000000..e9fac5d --- /dev/null +++ b/static/flags/4x3/gu.svg @@ -0,0 +1 @@ +GUAMGUAM \ No newline at end of file diff --git a/static/flags/4x3/gw.svg b/static/flags/4x3/gw.svg new file mode 100644 index 0000000..49fa04e --- /dev/null +++ b/static/flags/4x3/gw.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/flags/4x3/gy.svg b/static/flags/4x3/gy.svg new file mode 100644 index 0000000..b65661f --- /dev/null +++ b/static/flags/4x3/gy.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/flags/4x3/hk.svg b/static/flags/4x3/hk.svg new file mode 100644 index 0000000..8119809 --- /dev/null +++ b/static/flags/4x3/hk.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/flags/4x3/hm.svg b/static/flags/4x3/hm.svg new file mode 100644 index 0000000..75482d7 --- /dev/null +++ b/static/flags/4x3/hm.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/flags/4x3/hn.svg b/static/flags/4x3/hn.svg new file mode 100644 index 0000000..687d185 --- /dev/null +++ b/static/flags/4x3/hn.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/flags/4x3/hr.svg b/static/flags/4x3/hr.svg new file mode 100644 index 0000000..95364e6 --- /dev/null +++ b/static/flags/4x3/hr.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/flags/4x3/ht.svg b/static/flags/4x3/ht.svg new file mode 100644 index 0000000..6d11209 --- /dev/null +++ b/static/flags/4x3/ht.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/flags/4x3/hu.svg b/static/flags/4x3/hu.svg new file mode 100644 index 0000000..726e408 --- /dev/null +++ b/static/flags/4x3/hu.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/flags/4x3/id.svg b/static/flags/4x3/id.svg new file mode 100644 index 0000000..90d94e4 --- /dev/null +++ b/static/flags/4x3/id.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/flags/4x3/ie.svg b/static/flags/4x3/ie.svg new file mode 100644 index 0000000..b1861d3 --- /dev/null +++ b/static/flags/4x3/ie.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/flags/4x3/il.svg b/static/flags/4x3/il.svg new file mode 100644 index 0000000..8a42a22 --- /dev/null +++ b/static/flags/4x3/il.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/flags/4x3/im.svg b/static/flags/4x3/im.svg new file mode 100644 index 0000000..207fe62 --- /dev/null +++ b/static/flags/4x3/im.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/flags/4x3/in.svg b/static/flags/4x3/in.svg new file mode 100644 index 0000000..ac335e6 --- /dev/null +++ b/static/flags/4x3/in.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/flags/4x3/io.svg b/static/flags/4x3/io.svg new file mode 100644 index 0000000..69418f9 --- /dev/null +++ b/static/flags/4x3/io.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/flags/4x3/iq.svg b/static/flags/4x3/iq.svg new file mode 100644 index 0000000..df07a0e --- /dev/null +++ b/static/flags/4x3/iq.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/flags/4x3/ir.svg b/static/flags/4x3/ir.svg new file mode 100644 index 0000000..7fe2cbc --- /dev/null +++ b/static/flags/4x3/ir.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/flags/4x3/is.svg b/static/flags/4x3/is.svg new file mode 100644 index 0000000..d43a2a0 --- /dev/null +++ b/static/flags/4x3/is.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/flags/4x3/it.svg b/static/flags/4x3/it.svg new file mode 100644 index 0000000..0aebb1d --- /dev/null +++ b/static/flags/4x3/it.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/flags/4x3/je.svg b/static/flags/4x3/je.svg new file mode 100644 index 0000000..342208f --- /dev/null +++ b/static/flags/4x3/je.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/flags/4x3/jm.svg b/static/flags/4x3/jm.svg new file mode 100644 index 0000000..99ce372 --- /dev/null +++ b/static/flags/4x3/jm.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/flags/4x3/jo.svg b/static/flags/4x3/jo.svg new file mode 100644 index 0000000..e84d57a --- /dev/null +++ b/static/flags/4x3/jo.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/flags/4x3/jp.svg b/static/flags/4x3/jp.svg new file mode 100644 index 0000000..9ebfd87 --- /dev/null +++ b/static/flags/4x3/jp.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/flags/4x3/ke.svg b/static/flags/4x3/ke.svg new file mode 100644 index 0000000..366e451 --- /dev/null +++ b/static/flags/4x3/ke.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/flags/4x3/kg.svg b/static/flags/4x3/kg.svg new file mode 100644 index 0000000..8c27b16 --- /dev/null +++ b/static/flags/4x3/kg.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/flags/4x3/kh.svg b/static/flags/4x3/kh.svg new file mode 100644 index 0000000..8040b63 --- /dev/null +++ b/static/flags/4x3/kh.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/flags/4x3/ki.svg b/static/flags/4x3/ki.svg new file mode 100644 index 0000000..1583c75 --- /dev/null +++ b/static/flags/4x3/ki.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/flags/4x3/km.svg b/static/flags/4x3/km.svg new file mode 100644 index 0000000..42df61d --- /dev/null +++ b/static/flags/4x3/km.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/flags/4x3/kn.svg b/static/flags/4x3/kn.svg new file mode 100644 index 0000000..d1e9ebd --- /dev/null +++ b/static/flags/4x3/kn.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/flags/4x3/kp.svg b/static/flags/4x3/kp.svg new file mode 100644 index 0000000..ffc3ec5 --- /dev/null +++ b/static/flags/4x3/kp.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/flags/4x3/kr.svg b/static/flags/4x3/kr.svg new file mode 100644 index 0000000..3f7cfd6 --- /dev/null +++ b/static/flags/4x3/kr.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/flags/4x3/kw.svg b/static/flags/4x3/kw.svg new file mode 100644 index 0000000..e89bd87 --- /dev/null +++ b/static/flags/4x3/kw.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/flags/4x3/ky.svg b/static/flags/4x3/ky.svg new file mode 100644 index 0000000..130e8d5 --- /dev/null +++ b/static/flags/4x3/ky.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/flags/4x3/kz.svg b/static/flags/4x3/kz.svg new file mode 100644 index 0000000..51ede02 --- /dev/null +++ b/static/flags/4x3/kz.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/flags/4x3/la.svg b/static/flags/4x3/la.svg new file mode 100644 index 0000000..dbaffb1 --- /dev/null +++ b/static/flags/4x3/la.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/flags/4x3/lb.svg b/static/flags/4x3/lb.svg new file mode 100644 index 0000000..c18cb7c --- /dev/null +++ b/static/flags/4x3/lb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/flags/4x3/lc.svg b/static/flags/4x3/lc.svg new file mode 100644 index 0000000..fc2096b --- /dev/null +++ b/static/flags/4x3/lc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/flags/4x3/li.svg b/static/flags/4x3/li.svg new file mode 100644 index 0000000..1cddeab --- /dev/null +++ b/static/flags/4x3/li.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/flags/4x3/lk.svg b/static/flags/4x3/lk.svg new file mode 100644 index 0000000..ea610f1 --- /dev/null +++ b/static/flags/4x3/lk.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/flags/4x3/lr.svg b/static/flags/4x3/lr.svg new file mode 100644 index 0000000..6ce3bbe --- /dev/null +++ b/static/flags/4x3/lr.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/flags/4x3/ls.svg b/static/flags/4x3/ls.svg new file mode 100644 index 0000000..40ced0e --- /dev/null +++ b/static/flags/4x3/ls.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/flags/4x3/lt.svg b/static/flags/4x3/lt.svg new file mode 100644 index 0000000..237c6bd --- /dev/null +++ b/static/flags/4x3/lt.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/flags/4x3/lu.svg b/static/flags/4x3/lu.svg new file mode 100644 index 0000000..18d6c37 --- /dev/null +++ b/static/flags/4x3/lu.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/flags/4x3/lv.svg b/static/flags/4x3/lv.svg new file mode 100644 index 0000000..e2b4e28 --- /dev/null +++ b/static/flags/4x3/lv.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/flags/4x3/ly.svg b/static/flags/4x3/ly.svg new file mode 100644 index 0000000..fcc2dc9 --- /dev/null +++ b/static/flags/4x3/ly.svg @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/static/flags/4x3/ma.svg b/static/flags/4x3/ma.svg new file mode 100644 index 0000000..2843bbe --- /dev/null +++ b/static/flags/4x3/ma.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/flags/4x3/mc.svg b/static/flags/4x3/mc.svg new file mode 100644 index 0000000..4451147 --- /dev/null +++ b/static/flags/4x3/mc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/flags/4x3/md.svg b/static/flags/4x3/md.svg new file mode 100644 index 0000000..735abb9 --- /dev/null +++ b/static/flags/4x3/md.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/flags/4x3/me.svg b/static/flags/4x3/me.svg new file mode 100644 index 0000000..6a9a21e --- /dev/null +++ b/static/flags/4x3/me.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/flags/4x3/mf.svg b/static/flags/4x3/mf.svg new file mode 100644 index 0000000..e9c8d12 --- /dev/null +++ b/static/flags/4x3/mf.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/flags/4x3/mg.svg b/static/flags/4x3/mg.svg new file mode 100644 index 0000000..1e6adae --- /dev/null +++ b/static/flags/4x3/mg.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/flags/4x3/mh.svg b/static/flags/4x3/mh.svg new file mode 100644 index 0000000..76e700a --- /dev/null +++ b/static/flags/4x3/mh.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/flags/4x3/mk.svg b/static/flags/4x3/mk.svg new file mode 100644 index 0000000..b63cc7b --- /dev/null +++ b/static/flags/4x3/mk.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/flags/4x3/ml.svg b/static/flags/4x3/ml.svg new file mode 100644 index 0000000..8c50ff1 --- /dev/null +++ b/static/flags/4x3/ml.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/flags/4x3/mm.svg b/static/flags/4x3/mm.svg new file mode 100644 index 0000000..75f2c8b --- /dev/null +++ b/static/flags/4x3/mm.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/flags/4x3/mn.svg b/static/flags/4x3/mn.svg new file mode 100644 index 0000000..c42a1bc --- /dev/null +++ b/static/flags/4x3/mn.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/flags/4x3/mo.svg b/static/flags/4x3/mo.svg new file mode 100644 index 0000000..f0aa02f --- /dev/null +++ b/static/flags/4x3/mo.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/flags/4x3/mp.svg b/static/flags/4x3/mp.svg new file mode 100644 index 0000000..a3f976d --- /dev/null +++ b/static/flags/4x3/mp.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/flags/4x3/mq.svg b/static/flags/4x3/mq.svg new file mode 100644 index 0000000..55bc801 --- /dev/null +++ b/static/flags/4x3/mq.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/flags/4x3/mr.svg b/static/flags/4x3/mr.svg new file mode 100644 index 0000000..6a944b2 --- /dev/null +++ b/static/flags/4x3/mr.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/flags/4x3/ms.svg b/static/flags/4x3/ms.svg new file mode 100644 index 0000000..33ef777 --- /dev/null +++ b/static/flags/4x3/ms.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/flags/4x3/mt.svg b/static/flags/4x3/mt.svg new file mode 100644 index 0000000..d99b0a3 --- /dev/null +++ b/static/flags/4x3/mt.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/flags/4x3/mu.svg b/static/flags/4x3/mu.svg new file mode 100644 index 0000000..bdffa93 --- /dev/null +++ b/static/flags/4x3/mu.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/flags/4x3/mv.svg b/static/flags/4x3/mv.svg new file mode 100644 index 0000000..2361a1c --- /dev/null +++ b/static/flags/4x3/mv.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/flags/4x3/mw.svg b/static/flags/4x3/mw.svg new file mode 100644 index 0000000..84aa867 --- /dev/null +++ b/static/flags/4x3/mw.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/flags/4x3/mx.svg b/static/flags/4x3/mx.svg new file mode 100644 index 0000000..6f83097 --- /dev/null +++ b/static/flags/4x3/mx.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/flags/4x3/my.svg b/static/flags/4x3/my.svg new file mode 100644 index 0000000..8e77221 --- /dev/null +++ b/static/flags/4x3/my.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/flags/4x3/mz.svg b/static/flags/4x3/mz.svg new file mode 100644 index 0000000..9e51ab8 --- /dev/null +++ b/static/flags/4x3/mz.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/flags/4x3/na.svg b/static/flags/4x3/na.svg new file mode 100644 index 0000000..90c74ca --- /dev/null +++ b/static/flags/4x3/na.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/flags/4x3/nc.svg b/static/flags/4x3/nc.svg new file mode 100644 index 0000000..cc24bdd --- /dev/null +++ b/static/flags/4x3/nc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/flags/4x3/ne.svg b/static/flags/4x3/ne.svg new file mode 100644 index 0000000..85b7796 --- /dev/null +++ b/static/flags/4x3/ne.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/flags/4x3/nf.svg b/static/flags/4x3/nf.svg new file mode 100644 index 0000000..b997479 --- /dev/null +++ b/static/flags/4x3/nf.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/flags/4x3/ng.svg b/static/flags/4x3/ng.svg new file mode 100644 index 0000000..7cc147e --- /dev/null +++ b/static/flags/4x3/ng.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/flags/4x3/ni.svg b/static/flags/4x3/ni.svg new file mode 100644 index 0000000..685cf3f --- /dev/null +++ b/static/flags/4x3/ni.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/flags/4x3/nl.svg b/static/flags/4x3/nl.svg new file mode 100644 index 0000000..27349e3 --- /dev/null +++ b/static/flags/4x3/nl.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/flags/4x3/no.svg b/static/flags/4x3/no.svg new file mode 100644 index 0000000..1fe6569 --- /dev/null +++ b/static/flags/4x3/no.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/flags/4x3/np.svg b/static/flags/4x3/np.svg new file mode 100644 index 0000000..3777b8e --- /dev/null +++ b/static/flags/4x3/np.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/flags/4x3/nr.svg b/static/flags/4x3/nr.svg new file mode 100644 index 0000000..77ec51e --- /dev/null +++ b/static/flags/4x3/nr.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/flags/4x3/nu.svg b/static/flags/4x3/nu.svg new file mode 100644 index 0000000..ac90c8b --- /dev/null +++ b/static/flags/4x3/nu.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/flags/4x3/nz.svg b/static/flags/4x3/nz.svg new file mode 100644 index 0000000..58b9a64 --- /dev/null +++ b/static/flags/4x3/nz.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/flags/4x3/om.svg b/static/flags/4x3/om.svg new file mode 100644 index 0000000..4ad0dae --- /dev/null +++ b/static/flags/4x3/om.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/flags/4x3/pa.svg b/static/flags/4x3/pa.svg new file mode 100644 index 0000000..38b6999 --- /dev/null +++ b/static/flags/4x3/pa.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/flags/4x3/pe.svg b/static/flags/4x3/pe.svg new file mode 100644 index 0000000..0b1fe7d --- /dev/null +++ b/static/flags/4x3/pe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/flags/4x3/pf.svg b/static/flags/4x3/pf.svg new file mode 100644 index 0000000..c0caa96 --- /dev/null +++ b/static/flags/4x3/pf.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/flags/4x3/pg.svg b/static/flags/4x3/pg.svg new file mode 100644 index 0000000..8174a5a --- /dev/null +++ b/static/flags/4x3/pg.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/flags/4x3/ph.svg b/static/flags/4x3/ph.svg new file mode 100644 index 0000000..d7d2bd8 --- /dev/null +++ b/static/flags/4x3/ph.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/flags/4x3/pk.svg b/static/flags/4x3/pk.svg new file mode 100644 index 0000000..e6d8bed --- /dev/null +++ b/static/flags/4x3/pk.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/flags/4x3/pl.svg b/static/flags/4x3/pl.svg new file mode 100644 index 0000000..91fcffc --- /dev/null +++ b/static/flags/4x3/pl.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/flags/4x3/pm.svg b/static/flags/4x3/pm.svg new file mode 100644 index 0000000..e01c0ce --- /dev/null +++ b/static/flags/4x3/pm.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/flags/4x3/pn.svg b/static/flags/4x3/pn.svg new file mode 100644 index 0000000..0a50189 --- /dev/null +++ b/static/flags/4x3/pn.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/flags/4x3/pr.svg b/static/flags/4x3/pr.svg new file mode 100644 index 0000000..73a96c9 --- /dev/null +++ b/static/flags/4x3/pr.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/flags/4x3/ps.svg b/static/flags/4x3/ps.svg new file mode 100644 index 0000000..579c34f --- /dev/null +++ b/static/flags/4x3/ps.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/flags/4x3/pt.svg b/static/flags/4x3/pt.svg new file mode 100644 index 0000000..956dc91 --- /dev/null +++ b/static/flags/4x3/pt.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/flags/4x3/pw.svg b/static/flags/4x3/pw.svg new file mode 100644 index 0000000..dbed954 --- /dev/null +++ b/static/flags/4x3/pw.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/flags/4x3/py.svg b/static/flags/4x3/py.svg new file mode 100644 index 0000000..e66fd5d --- /dev/null +++ b/static/flags/4x3/py.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/flags/4x3/qa.svg b/static/flags/4x3/qa.svg new file mode 100644 index 0000000..5640a6e --- /dev/null +++ b/static/flags/4x3/qa.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/flags/4x3/re.svg b/static/flags/4x3/re.svg new file mode 100644 index 0000000..7fc2569 --- /dev/null +++ b/static/flags/4x3/re.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/flags/4x3/ro.svg b/static/flags/4x3/ro.svg new file mode 100644 index 0000000..dfbd3ed --- /dev/null +++ b/static/flags/4x3/ro.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/flags/4x3/rs.svg b/static/flags/4x3/rs.svg new file mode 100644 index 0000000..500bba3 --- /dev/null +++ b/static/flags/4x3/rs.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/flags/4x3/ru.svg b/static/flags/4x3/ru.svg new file mode 100644 index 0000000..31a3e8c --- /dev/null +++ b/static/flags/4x3/ru.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/flags/4x3/rw.svg b/static/flags/4x3/rw.svg new file mode 100644 index 0000000..0423740 --- /dev/null +++ b/static/flags/4x3/rw.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/flags/4x3/sa.svg b/static/flags/4x3/sa.svg new file mode 100644 index 0000000..ee258b7 --- /dev/null +++ b/static/flags/4x3/sa.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/flags/4x3/sb.svg b/static/flags/4x3/sb.svg new file mode 100644 index 0000000..0440d6c --- /dev/null +++ b/static/flags/4x3/sb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/flags/4x3/sc.svg b/static/flags/4x3/sc.svg new file mode 100644 index 0000000..3005db9 --- /dev/null +++ b/static/flags/4x3/sc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/flags/4x3/sd.svg b/static/flags/4x3/sd.svg new file mode 100644 index 0000000..e96f174 --- /dev/null +++ b/static/flags/4x3/sd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/flags/4x3/se.svg b/static/flags/4x3/se.svg new file mode 100644 index 0000000..2ec7c6a --- /dev/null +++ b/static/flags/4x3/se.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/flags/4x3/sg.svg b/static/flags/4x3/sg.svg new file mode 100644 index 0000000..6935201 --- /dev/null +++ b/static/flags/4x3/sg.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/flags/4x3/sh.svg b/static/flags/4x3/sh.svg new file mode 100644 index 0000000..b78bfb3 --- /dev/null +++ b/static/flags/4x3/sh.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/flags/4x3/si.svg b/static/flags/4x3/si.svg new file mode 100644 index 0000000..83e6d8c --- /dev/null +++ b/static/flags/4x3/si.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/flags/4x3/sj.svg b/static/flags/4x3/sj.svg new file mode 100644 index 0000000..b89d0d9 --- /dev/null +++ b/static/flags/4x3/sj.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/flags/4x3/sk.svg b/static/flags/4x3/sk.svg new file mode 100644 index 0000000..f97cf06 --- /dev/null +++ b/static/flags/4x3/sk.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/flags/4x3/sl.svg b/static/flags/4x3/sl.svg new file mode 100644 index 0000000..59c4fc7 --- /dev/null +++ b/static/flags/4x3/sl.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/flags/4x3/sm.svg b/static/flags/4x3/sm.svg new file mode 100644 index 0000000..65892ce --- /dev/null +++ b/static/flags/4x3/sm.svg @@ -0,0 +1 @@ +LIBERTAS \ No newline at end of file diff --git a/static/flags/4x3/sn.svg b/static/flags/4x3/sn.svg new file mode 100644 index 0000000..fb927e2 --- /dev/null +++ b/static/flags/4x3/sn.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/flags/4x3/so.svg b/static/flags/4x3/so.svg new file mode 100644 index 0000000..e0af84b --- /dev/null +++ b/static/flags/4x3/so.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/flags/4x3/sr.svg b/static/flags/4x3/sr.svg new file mode 100644 index 0000000..e0cb782 --- /dev/null +++ b/static/flags/4x3/sr.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/flags/4x3/ss.svg b/static/flags/4x3/ss.svg new file mode 100644 index 0000000..d4a7c90 --- /dev/null +++ b/static/flags/4x3/ss.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/flags/4x3/st.svg b/static/flags/4x3/st.svg new file mode 100644 index 0000000..7694875 --- /dev/null +++ b/static/flags/4x3/st.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/flags/4x3/sv.svg b/static/flags/4x3/sv.svg new file mode 100644 index 0000000..4532ddf --- /dev/null +++ b/static/flags/4x3/sv.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/flags/4x3/sx.svg b/static/flags/4x3/sx.svg new file mode 100644 index 0000000..1bc122f --- /dev/null +++ b/static/flags/4x3/sx.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/flags/4x3/sy.svg b/static/flags/4x3/sy.svg new file mode 100644 index 0000000..1da9c6b --- /dev/null +++ b/static/flags/4x3/sy.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/flags/4x3/sz.svg b/static/flags/4x3/sz.svg new file mode 100644 index 0000000..545b4e7 --- /dev/null +++ b/static/flags/4x3/sz.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/flags/4x3/tc.svg b/static/flags/4x3/tc.svg new file mode 100644 index 0000000..31143ff --- /dev/null +++ b/static/flags/4x3/tc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/flags/4x3/td.svg b/static/flags/4x3/td.svg new file mode 100644 index 0000000..9a7729d --- /dev/null +++ b/static/flags/4x3/td.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/flags/4x3/tf.svg b/static/flags/4x3/tf.svg new file mode 100644 index 0000000..0ced394 --- /dev/null +++ b/static/flags/4x3/tf.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/flags/4x3/tg.svg b/static/flags/4x3/tg.svg new file mode 100644 index 0000000..67b33a0 --- /dev/null +++ b/static/flags/4x3/tg.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/flags/4x3/th.svg b/static/flags/4x3/th.svg new file mode 100644 index 0000000..4ff3601 --- /dev/null +++ b/static/flags/4x3/th.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/flags/4x3/tj.svg b/static/flags/4x3/tj.svg new file mode 100644 index 0000000..5fc8c90 --- /dev/null +++ b/static/flags/4x3/tj.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/flags/4x3/tk.svg b/static/flags/4x3/tk.svg new file mode 100644 index 0000000..4fd6550 --- /dev/null +++ b/static/flags/4x3/tk.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/flags/4x3/tl.svg b/static/flags/4x3/tl.svg new file mode 100644 index 0000000..0904eb6 --- /dev/null +++ b/static/flags/4x3/tl.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/flags/4x3/tm.svg b/static/flags/4x3/tm.svg new file mode 100644 index 0000000..c59a8e8 --- /dev/null +++ b/static/flags/4x3/tm.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/flags/4x3/tn.svg b/static/flags/4x3/tn.svg new file mode 100644 index 0000000..9e70a69 --- /dev/null +++ b/static/flags/4x3/tn.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/flags/4x3/to.svg b/static/flags/4x3/to.svg new file mode 100644 index 0000000..eca5fbf --- /dev/null +++ b/static/flags/4x3/to.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/flags/4x3/tr.svg b/static/flags/4x3/tr.svg new file mode 100644 index 0000000..b2ae33f --- /dev/null +++ b/static/flags/4x3/tr.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/flags/4x3/tt.svg b/static/flags/4x3/tt.svg new file mode 100644 index 0000000..ccdeefa --- /dev/null +++ b/static/flags/4x3/tt.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/flags/4x3/tv.svg b/static/flags/4x3/tv.svg new file mode 100644 index 0000000..21ed766 --- /dev/null +++ b/static/flags/4x3/tv.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/flags/4x3/tw.svg b/static/flags/4x3/tw.svg new file mode 100644 index 0000000..c7564c9 --- /dev/null +++ b/static/flags/4x3/tw.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/flags/4x3/tz.svg b/static/flags/4x3/tz.svg new file mode 100644 index 0000000..115b2e8 --- /dev/null +++ b/static/flags/4x3/tz.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/flags/4x3/ua.svg b/static/flags/4x3/ua.svg new file mode 100644 index 0000000..d947420 --- /dev/null +++ b/static/flags/4x3/ua.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/flags/4x3/ug.svg b/static/flags/4x3/ug.svg new file mode 100644 index 0000000..c4b377c --- /dev/null +++ b/static/flags/4x3/ug.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/flags/4x3/um.svg b/static/flags/4x3/um.svg new file mode 100644 index 0000000..f64895a --- /dev/null +++ b/static/flags/4x3/um.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/flags/4x3/un.svg b/static/flags/4x3/un.svg new file mode 100644 index 0000000..db72b3c --- /dev/null +++ b/static/flags/4x3/un.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/flags/4x3/us.svg b/static/flags/4x3/us.svg new file mode 100644 index 0000000..a9b6fc8 --- /dev/null +++ b/static/flags/4x3/us.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/flags/4x3/uy.svg b/static/flags/4x3/uy.svg new file mode 100644 index 0000000..97c8fcb --- /dev/null +++ b/static/flags/4x3/uy.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/flags/4x3/uz.svg b/static/flags/4x3/uz.svg new file mode 100644 index 0000000..edbe116 --- /dev/null +++ b/static/flags/4x3/uz.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/flags/4x3/va.svg b/static/flags/4x3/va.svg new file mode 100644 index 0000000..d532ce6 --- /dev/null +++ b/static/flags/4x3/va.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/flags/4x3/vc.svg b/static/flags/4x3/vc.svg new file mode 100644 index 0000000..f74111b --- /dev/null +++ b/static/flags/4x3/vc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/flags/4x3/ve.svg b/static/flags/4x3/ve.svg new file mode 100644 index 0000000..ccee7b2 --- /dev/null +++ b/static/flags/4x3/ve.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/flags/4x3/vg.svg b/static/flags/4x3/vg.svg new file mode 100644 index 0000000..3cb4fcf --- /dev/null +++ b/static/flags/4x3/vg.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/flags/4x3/vi.svg b/static/flags/4x3/vi.svg new file mode 100644 index 0000000..3971594 --- /dev/null +++ b/static/flags/4x3/vi.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/flags/4x3/vn.svg b/static/flags/4x3/vn.svg new file mode 100644 index 0000000..d7efc2f --- /dev/null +++ b/static/flags/4x3/vn.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/flags/4x3/vu.svg b/static/flags/4x3/vu.svg new file mode 100644 index 0000000..37d6ed0 --- /dev/null +++ b/static/flags/4x3/vu.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/flags/4x3/wf.svg b/static/flags/4x3/wf.svg new file mode 100644 index 0000000..905426a --- /dev/null +++ b/static/flags/4x3/wf.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/flags/4x3/ws.svg b/static/flags/4x3/ws.svg new file mode 100644 index 0000000..d21a372 --- /dev/null +++ b/static/flags/4x3/ws.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/flags/4x3/xk.svg b/static/flags/4x3/xk.svg new file mode 100644 index 0000000..0693c3d --- /dev/null +++ b/static/flags/4x3/xk.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/flags/4x3/ye.svg b/static/flags/4x3/ye.svg new file mode 100644 index 0000000..5b7bbbc --- /dev/null +++ b/static/flags/4x3/ye.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/flags/4x3/yt.svg b/static/flags/4x3/yt.svg new file mode 100644 index 0000000..f2e5653 --- /dev/null +++ b/static/flags/4x3/yt.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/flags/4x3/za.svg b/static/flags/4x3/za.svg new file mode 100644 index 0000000..7bc85cf --- /dev/null +++ b/static/flags/4x3/za.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/flags/4x3/zm.svg b/static/flags/4x3/zm.svg new file mode 100644 index 0000000..73c731e --- /dev/null +++ b/static/flags/4x3/zm.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/flags/4x3/zw.svg b/static/flags/4x3/zw.svg new file mode 100644 index 0000000..eec8a6b --- /dev/null +++ b/static/flags/4x3/zw.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/assets/js/bootstrap.min.js b/static/js/bootstrap.min.js similarity index 99% rename from static/assets/js/bootstrap.min.js rename to static/js/bootstrap.min.js index 00c895f..2238870 100644 --- a/static/assets/js/bootstrap.min.js +++ b/static/js/bootstrap.min.js @@ -4,4 +4,3 @@ * 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.bootstrap={},t.jQuery,t.Popper)}(this,function(t,e,h){"use strict";function i(t,e){for(var n=0;nthis._items.length-1||t<0))if(this._isSliding)P(this._element).one(Q.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:!(Ie={AUTO:"auto",TOP:"top",RIGHT:"right",BOTTOM:"bottom",LEFT:"left"}),selector:!(Se={animation:"boolean",template:"string",title:"(string|element|function)",trigger:"string",delay:"(number|object)",html:"boolean",selector:"(string|boolean)",placement:"(string|function)",offset:"(number|string)",container:"(string|element|boolean)",fallbackPlacement:"(string|array)",boundary:"(string|element)"}),placement:"top",offset:0,container:!1,fallbackPlacement:"flip",boundary:"scrollParent"},we="out",Ne={HIDE:"hide"+Ee,HIDDEN:"hidden"+Ee,SHOW:(De="show")+Ee,SHOWN:"shown"+Ee,INSERTED:"inserted"+Ee,CLICK:"click"+Ee,FOCUSIN:"focusin"+Ee,FOCUSOUT:"focusout"+Ee,MOUSEENTER:"mouseenter"+Ee,MOUSELEAVE:"mouseleave"+Ee},Oe="fade",ke="show",Pe=".tooltip-inner",je=".arrow",He="hover",Le="focus",Re="click",xe="manual",We=function(){function i(t,e){if("undefined"==typeof h)throw new TypeError("Bootstrap 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=pe(t.currentTarget).data(e);n||(n=new this.constructor(t.currentTarget,this._getDelegateConfig()),pe(t.currentTarget).data(e,n)),n._activeTrigger.click=!n._activeTrigger.click,n._isWithActiveTrigger()?n._enter(null,n):n._leave(null,n)}else{if(pe(this.getTipElement()).hasClass(ke))return void this._leave(null,this);this._enter(null,this)}},t.dispose=function(){clearTimeout(this._timeout),pe.removeData(this.element,this.constructor.DATA_KEY),pe(this.element).off(this.constructor.EVENT_KEY),pe(this.element).closest(".modal").off("hide.bs.modal"),this.tip&&pe(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"===pe(this.element).css("display"))throw new Error("Please use show on visible elements");var t=pe.Event(this.constructor.Event.SHOW);if(this.isWithContent()&&this._isEnabled){pe(this.element).trigger(t);var n=pe.contains(this.element.ownerDocument.documentElement,this.element);if(t.isDefaultPrevented()||!n)return;var i=this.getTipElement(),r=Fn.getUID(this.constructor.NAME);i.setAttribute("id",r),this.element.setAttribute("aria-describedby",r),this.setContent(),this.config.animation&&pe(i).addClass(Oe);var o="function"==typeof this.config.placement?this.config.placement.call(this,i,this.element):this.config.placement,s=this._getAttachment(o);this.addAttachmentClass(s);var a=!1===this.config.container?document.body:pe(document).find(this.config.container);pe(i).data(this.constructor.DATA_KEY,this),pe.contains(this.element.ownerDocument.documentElement,this.tip)||pe(i).appendTo(a),pe(this.element).trigger(this.constructor.Event.INSERTED),this._popper=new h(this.element,i,{placement:s,modifiers:{offset:{offset:this.config.offset},flip:{behavior:this.config.fallbackPlacement},arrow:{element:je},preventOverflow:{boundariesElement:this.config.boundary}},onCreate:function(t){t.originalPlacement!==t.placement&&e._handlePopperPlacementChange(t)},onUpdate:function(t){e._handlePopperPlacementChange(t)}}),pe(i).addClass(ke),"ontouchstart"in document.documentElement&&pe(document.body).children().on("mouseover",null,pe.noop);var l=function(){e.config.animation&&e._fixTransition();var t=e._hoverState;e._hoverState=null,pe(e.element).trigger(e.constructor.Event.SHOWN),t===we&&e._leave(null,e)};if(pe(this.tip).hasClass(Oe)){var c=Fn.getTransitionDurationFromElement(this.tip);pe(this.tip).one(Fn.TRANSITION_END,l).emulateTransitionEnd(c)}else l()}},t.hide=function(t){var e=this,n=this.getTipElement(),i=pe.Event(this.constructor.Event.HIDE),r=function(){e._hoverState!==De&&n.parentNode&&n.parentNode.removeChild(n),e._cleanTipClass(),e.element.removeAttribute("aria-describedby"),pe(e.element).trigger(e.constructor.Event.HIDDEN),null!==e._popper&&e._popper.destroy(),t&&t()};if(pe(this.element).trigger(i),!i.isDefaultPrevented()){if(pe(n).removeClass(ke),"ontouchstart"in document.documentElement&&pe(document.body).children().off("mouseover",null,pe.noop),this._activeTrigger[Re]=!1,this._activeTrigger[Le]=!1,this._activeTrigger[He]=!1,pe(this.tip).hasClass(Oe)){var o=Fn.getTransitionDurationFromElement(n);pe(n).one(Fn.TRANSITION_END,r).emulateTransitionEnd(o)}else r();this._hoverState=""}},t.update=function(){null!==this._popper&&this._popper.scheduleUpdate()},t.isWithContent=function(){return Boolean(this.getTitle())},t.addAttachmentClass=function(t){pe(this.getTipElement()).addClass(Te+"-"+t)},t.getTipElement=function(){return this.tip=this.tip||pe(this.config.template)[0],this.tip},t.setContent=function(){var t=this.getTipElement();this.setElementContent(pe(t.querySelectorAll(Pe)),this.getTitle()),pe(t).removeClass(Oe+" "+ke)},t.setElementContent=function(t,e){var n=this.config.html;"object"==typeof e&&(e.nodeType||e.jquery)?n?pe(e).parent().is(t)||t.empty().append(e):t.text(pe(e).text()):t[n?"html":"text"](e)},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},t._getAttachment=function(t){return Ie[t.toUpperCase()]},t._setListeners=function(){var i=this;this.config.trigger.split(" ").forEach(function(t){if("click"===t)pe(i.element).on(i.constructor.Event.CLICK,i.config.selector,function(t){return i.toggle(t)});else if(t!==xe){var e=t===He?i.constructor.Event.MOUSEENTER:i.constructor.Event.FOCUSIN,n=t===He?i.constructor.Event.MOUSELEAVE:i.constructor.Event.FOCUSOUT;pe(i.element).on(e,i.config.selector,function(t){return i._enter(t)}).on(n,i.config.selector,function(t){return i._leave(t)})}pe(i.element).closest(".modal").on("hide.bs.modal",function(){return i.hide()})}),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||pe(t.currentTarget).data(n))||(e=new this.constructor(t.currentTarget,this._getDelegateConfig()),pe(t.currentTarget).data(n,e)),t&&(e._activeTrigger["focusin"===t.type?Le:He]=!0),pe(e.getTipElement()).hasClass(ke)||e._hoverState===De?e._hoverState=De:(clearTimeout(e._timeout),e._hoverState=De,e.config.delay&&e.config.delay.show?e._timeout=setTimeout(function(){e._hoverState===De&&e.show()},e.config.delay.show):e.show())},t._leave=function(t,e){var n=this.constructor.DATA_KEY;(e=e||pe(t.currentTarget).data(n))||(e=new this.constructor(t.currentTarget,this._getDelegateConfig()),pe(t.currentTarget).data(n,e)),t&&(e._activeTrigger["focusout"===t.type?Le:He]=!1),e._isWithActiveTrigger()||(clearTimeout(e._timeout),e._hoverState=we,e.config.delay&&e.config.delay.hide?e._timeout=setTimeout(function(){e._hoverState===we&&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){return"number"==typeof(t=l({},this.constructor.Default,pe(this.element).data(),"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()),Fn.typeCheckConfig(ve,t,this.constructor.DefaultType),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=pe(this.getTipElement()),e=t.attr("class").match(be);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")&&(pe(t).removeClass(Oe),this.config.animation=!1,this.hide(),this.show(),this.config.animation=e)},i._jQueryInterface=function(n){return this.each(function(){var t=pe(this).data(ye),e="object"==typeof n&&n;if((t||!/dispose|hide/.test(n))&&(t||(t=new i(this,e),pe(this).data(ye,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.1.3"}},{key:"Default",get:function(){return Ae}},{key:"NAME",get:function(){return ve}},{key:"DATA_KEY",get:function(){return ye}},{key:"Event",get:function(){return Ne}},{key:"EVENT_KEY",get:function(){return Ee}},{key:"DefaultType",get:function(){return Se}}]),i}(),pe.fn[ve]=We._jQueryInterface,pe.fn[ve].Constructor=We,pe.fn[ve].noConflict=function(){return pe.fn[ve]=Ce,We._jQueryInterface},We),Jn=(qe="popover",Ke="."+(Fe="bs.popover"),Me=(Ue=e).fn[qe],Qe="bs-popover",Be=new RegExp("(^|\\s)"+Qe+"\\S+","g"),Ve=l({},zn.Default,{placement:"right",trigger:"click",content:"",template:''}),Ye=l({},zn.DefaultType,{content:"(string|element|function)"}),ze="fade",Ze=".popover-header",Ge=".popover-body",$e={HIDE:"hide"+Ke,HIDDEN:"hidden"+Ke,SHOW:(Je="show")+Ke,SHOWN:"shown"+Ke,INSERTED:"inserted"+Ke,CLICK:"click"+Ke,FOCUSIN:"focusin"+Ke,FOCUSOUT:"focusout"+Ke,MOUSEENTER:"mouseenter"+Ke,MOUSELEAVE:"mouseleave"+Ke},Xe=function(t){var e,n;function i(){return t.apply(this,arguments)||this}n=t,(e=i).prototype=Object.create(n.prototype),(e.prototype.constructor=e).__proto__=n;var r=i.prototype;return r.isWithContent=function(){return this.getTitle()||this._getContent()},r.addAttachmentClass=function(t){Ue(this.getTipElement()).addClass(Qe+"-"+t)},r.getTipElement=function(){return this.tip=this.tip||Ue(this.config.template)[0],this.tip},r.setContent=function(){var t=Ue(this.getTipElement());this.setElementContent(t.find(Ze),this.getTitle());var e=this._getContent();"function"==typeof e&&(e=e.call(this.element)),this.setElementContent(t.find(Ge),e),t.removeClass(ze+" "+Je)},r._getContent=function(){return this.element.getAttribute("data-content")||this.config.content},r._cleanTipClass=function(){var t=Ue(this.getTipElement()),e=t.attr("class").match(Be);null!==e&&0=this._offsets[r]&&("undefined"==typeof this._offsets[r+1]||t maxHeight) { - maxHeight = el[i].children[0].clientHeight; + for (let i = 0; i < cardElems.length; i++) { + if (cardElems.item(i).clientHeight > maxHeight) { + maxHeight = cardElems.item(i).clientHeight; } } - for (let i = 0; i < el.length; i++) { - el[i].children[0].setAttribute("style", "min-height: " + maxHeight + "px;") + for (let i = 0; i < cardElems.length; i++) { + cardElems.item(i).setAttribute("style", "min-height: " + maxHeight + "px;"); } } } } - adjustSkillCardsHeight(); + $(window).on("load", function () { + adjustSkillCardsHeight(); + }); // ================== Project cards ===================== // Add click action on project category selector buttons @@ -145,15 +123,18 @@ var projectCards; function adjustRecentPostsHeight() { if (!isMobile) { // no need to adjust height for mobile devices - let el = document.getElementById("recent-post-cards").children; - let maxHeight = 0; - for (let i = 0; i < el.length; i++) { - if (el[i].children[1].clientHeight > maxHeight) { - maxHeight = el[i].children[1].clientHeight; + let recentPostCards = document.getElementById("recent-post-cards") + if (recentPostCards != null) { + let el = recentPostCards.children; + let maxHeight = 0; + for (let i = 0; i < el.length; i++) { + if (el[i].children[1].clientHeight > maxHeight) { + maxHeight = el[i].children[1].clientHeight; + } + } + for (let i = 0; i < el.length; i++) { + el[i].children[1].setAttribute("style", "min-height: " + maxHeight + "px;") } - } - for (let i = 0; i < el.length; i++) { - el[i].children[1].setAttribute("style", "min-height: " + maxHeight + "px;") } } } @@ -260,14 +241,14 @@ var projectCards; } function twoColumnRow(gallery, entries, i) { let entry1 = document.createElement("div"); - entry1.classList.add("col-lg-6", "col-md-6", "m-0", "p-0"); + entry1.classList.add("col-6", "m-0", "p-0"); entry1.appendChild(entries[i].cloneNode(true)); entry1.children[0].classList.add("img-type-1"); gallery.appendChild(entry1); i++; let entry2 = document.createElement("div"); - entry2.classList.add("col-lg-6", "col-md-6", "m-0", "p-0"); + entry2.classList.add("col-6", "m-0", "p-0"); entry2.appendChild(entries[i].cloneNode(true)); entry2.children[0].classList.add("img-type-1"); gallery.appendChild(entry2); @@ -276,7 +257,7 @@ var projectCards; function singleColumnRow(gallery, entries, i) { let entry1 = document.createElement("div"); - entry1.classList.add("col-lg-6", "col-md-6", "m-0", "p-0"); + entry1.classList.add("col-12", "m-0", "p-0"); entry1.appendChild(entries[i].cloneNode(true)); entry1.children[0].classList.add("img-type-1"); gallery.appendChild(entry1); @@ -348,6 +329,19 @@ var projectCards; this.parentElement.classList.toggle("col-lg-12"); this.parentElement.classList.toggle("col-md-12"); this.parentElement.classList.toggle("col-sm-12"); + if (this.children["SmallImage"].hasAttribute("active")) { + let mainLogo = this.children["LargeImage"].getAttribute("Style"); + this.children["LargeImage"].setAttribute("active",true); + this.children["SmallImage"].removeAttribute("active"); + + this.setAttribute("Style", mainLogo); + } else { + let mainLogo = this.children["SmallImage"].getAttribute("Style"); + this.children["SmallImage"].setAttribute("active",true); + this.children["LargeImage"].removeAttribute("active"); + this.setAttribute("Style", mainLogo); + } + if (this.children["caption"] != undefined) { this.children["caption"].classList.toggle("hidden"); } diff --git a/static/js/imagesloaded.pkgd.min.js b/static/js/imagesloaded.pkgd.min.js new file mode 100644 index 0000000..e443a77 --- /dev/null +++ b/static/js/imagesloaded.pkgd.min.js @@ -0,0 +1,7 @@ +/*! + * imagesLoaded PACKAGED v4.1.4 + * JavaScript is all like "You images are done yet or what?" + * MIT License + */ + +!function(e,t){"function"==typeof define&&define.amd?define("ev-emitter/ev-emitter",t):"object"==typeof module&&module.exports?module.exports=t():e.EvEmitter=t()}("undefined"!=typeof window?window:this,function(){function e(){}var t=e.prototype;return t.on=function(e,t){if(e&&t){var i=this._events=this._events||{},n=i[e]=i[e]||[];return n.indexOf(t)==-1&&n.push(t),this}},t.once=function(e,t){if(e&&t){this.on(e,t);var i=this._onceEvents=this._onceEvents||{},n=i[e]=i[e]||{};return n[t]=!0,this}},t.off=function(e,t){var i=this._events&&this._events[e];if(i&&i.length){var n=i.indexOf(t);return n!=-1&&i.splice(n,1),this}},t.emitEvent=function(e,t){var i=this._events&&this._events[e];if(i&&i.length){i=i.slice(0),t=t||[];for(var n=this._onceEvents&&this._onceEvents[e],o=0;o maxHeight) { + maxHeight = el[i].children[1].clientHeight; + } + } + for (let i = 0; i < el.length; i++) { + el[i].children[1].setAttribute("style", "min-height: " + maxHeight + "px;") + } + } + } + adjustPostCardsHeight(); + }); +})(jQuery); diff --git a/static/js/main.js b/static/js/main.js new file mode 100644 index 0000000..d1c3689 --- /dev/null +++ b/static/js/main.js @@ -0,0 +1,175 @@ +"use strict"; + +var projectCards; +var isMobile = false, isTablet = false, isLaptop = false; +(function ($) { + jQuery(document).ready(function () { + function detectDevice() { + if (window.innerWidth <= 425) { + isMobile = true; + isTablet = false; + isLaptop = false; + } else if (window.innerWidth <= 768) { + isMobile = false; + isTablet = true; + isLaptop = false; + } else { + isMobile = false; + isTablet = false; + isLaptop = true; + } + } + detectDevice(); + + // ================= Smooth Scroll =================== + function addSmoothScroll() { + // ref: https://css-tricks.com/snippets/jquery/smooth-scrolling/ + // Select all links with hashes + $('a[href*="#"]') + // Remove links that don't actually link to anything + .not('[href="#"]') + .not('[href="#0"]') + .click(function (event) { + // On-page links + if ( + location.pathname.replace(/^\//, '') == this.pathname.replace(/^\//, '') + && + location.hostname == this.hostname + ) { + // Figure out element to scroll to + var target = $(decodeURI(this.hash)); + target = target.length ? target : $('[name=' + this.hash.slice(1) + ']'); + // Does a scroll target exist? + if (target.length) { + // Only prevent default if animation is actually gonna happen + event.preventDefault(); + + let offset = 60; + if (isMobile) { + offset = 710; + } else if (isTablet) { + offset = 60; + } + $('html, body').animate({ + scrollTop: target.offset().top - offset + }, 1000, function () { + // Callback after animation + // Must change focus! + var $target = $(target); + $target.focus(); + if ($target.is(":focus")) { // Checking if the target was focused + return false; + } else { + $target.attr('tabindex', '-1'); // Adding tabindex for elements not focusable + $target.focus(); // Set focus again + }; + }); + // Add hash (#) to URL when done scrolling (default click behavior) + window.location.hash = this.hash + } + } + }); + } + addSmoothScroll(); + + // ===================== Video Player ================== + function renderVideoPlayer(){ + var videos = document.getElementsByClassName("video-player"); + for (var i =0; i< videos.length; i++ ){ + const player = new Plyr("#"+videos[i].id); + } + + } + renderVideoPlayer(); + + // re-render custom functions on window resize + window.onresize = function () { + detectDevice(); + addSmoothScroll(); + }; + }); +})(jQuery); + + +// Toggle sidebar on click. Here, class "hide" open the sidebar +function toggleSidebar() { + let sidebar = document.getElementById("sidebar-section"); + if (sidebar == null) { + return + } + if (sidebar.classList.contains("hide")) { + sidebar.classList.remove("hide") + } else { + // if toc-section is open, then close it first + let toc = document.getElementById("toc-section"); + if (toc != null && toc.classList.contains("hide")) { + toc.classList.remove("hide"); + } + // add "hide" class + sidebar.classList.add("hide") + // if it is mobile device. then scroll to top. + if (isMobile && sidebar.classList.contains("hide")) { + document.body.scrollTop = 0; + document.documentElement.scrollTop = 0; + if (document.getElementById("hero-area") != null) { + document.getElementById("hero-area").classList.toggle("hide"); + } + } + } + if (document.getElementById("content-section") != null) { + document.getElementById("content-section").classList.toggle("hide"); + } +} + +// Toggle Table of Contents on click. Here, class "hide" open the toc +function toggleTOC() { + let toc = document.getElementById("toc-section"); + if (toc == null) { + return + } + if (toc.classList.contains("hide")) { + toc.classList.remove("hide"); + } else { + // if sidebar-section is open, then close it first + let sidebar = document.getElementById("sidebar-section"); + if (sidebar != null && sidebar.classList.contains("hide")) { + sidebar.classList.remove("hide"); + } + // add "hide" class + toc.classList.add("hide") + // if it is mobile device. then scroll to top. + if (isMobile && toc.classList.contains("hide")) { + document.body.scrollTop = 0; + document.documentElement.scrollTop = 0; + } + } + if (document.getElementById("hero-area") != null) { + document.getElementById("hero-area").classList.toggle("hide"); + } +} + +// Show more rows in the taken courses table +function toggleCourseVisibility(elem) { + + // find the courses + let courses = elem.parentNode.getElementsByClassName("course"); + if (courses == null) { + return + } + + // toggle hidden-course class from the third elements + for (var i = 0; i < courses.length; i++) { + if (i > 1 && courses[i].classList !== null) { + courses[i].classList.toggle("hidden-course"); + } + } + + // toggle the current button visibility + elem.classList.toggle("hidden"); + // toggle the alternate button visibility + if (elem.id === "show-more-btn"){ + document.getElementById("show-less-btn").classList.toggle("hidden"); + }else{ + document.getElementById("show-more-btn").classList.toggle("hidden"); + } +} diff --git a/static/assets/js/navbar.js b/static/js/navbar.js similarity index 58% rename from static/assets/js/navbar.js rename to static/js/navbar.js index 4b97052..929c74b 100644 --- a/static/assets/js/navbar.js +++ b/static/js/navbar.js @@ -15,7 +15,9 @@ $('#navbar-toggler').removeClass('navbar-dark'); $('#navbar-toggler').addClass('navbar-light'); - $('#logo').attr("src","assets/images/logo.png"); + // get the main logo from hidden img tag + let mainLogo = document.getElementById("main-logo").getAttribute("src"); + $('#logo').attr("src", mainLogo); } else { $('#top-navbar').removeClass('final-navbar shadow'); $('#top-navbar').addClass('initial-navbar'); @@ -23,9 +25,20 @@ $('#navbar-toggler').removeClass('navbar-light'); $('#navbar-toggler').addClass('navbar-dark'); - $('#logo').attr("src","assets/images/logo-inverted.png"); + // get the inverted logo from hidden img tag + let invertedLogo = document.getElementById("inverted-logo").getAttribute("src"); + $('#logo').attr("src", invertedLogo); } }); + + // Creates a click handler to collapse the navigation when + // anchors in the mobile nav pop up are clicked + var navMain = $(".navbar-collapse"); + if (navMain) { + navMain.on("click", "a", null, function (e) { + $('.navbar-collapse').collapse('hide'); + }); + } }); })(jQuery); diff --git a/static/js/note.js b/static/js/note.js new file mode 100644 index 0000000..2c38b19 --- /dev/null +++ b/static/js/note.js @@ -0,0 +1,32 @@ +"use strict"; +(function ($) { + jQuery(document).ready(function () { + function resizeGridItem(item) { + var grid = document.getElementsByClassName("note-card-holder")[0]; + var rowHeight = parseInt(window.getComputedStyle(grid).getPropertyValue('grid-auto-rows')); + var rowGap = parseInt(window.getComputedStyle(grid).getPropertyValue('grid-row-gap')); + var rowSpan = Math.ceil((item.querySelector('.item').getBoundingClientRect().height + rowGap) / (rowHeight + rowGap)); + item.style.gridRowEnd = "span " + rowSpan; + } + + function resizeAllGridItems() { + var allItems = document.getElementsByClassName("note-card"); + for (var x = 0; x < allItems.length; x++) { + resizeGridItem(allItems[x]); + } + } + + function resizeInstance(instance) { + var item = instance.elements[0]; + resizeGridItem(item); + } + + // window.onload = resizeAllGridItems(); + window.addEventListener("resize", resizeAllGridItems); + + var allItems = document.getElementsByClassName("note-card"); + for (var x = 0; x < allItems.length; x++) { + imagesLoaded(allItems[x], resizeInstance); + } + }); +})(jQuery); diff --git a/static/js/plyr.js b/static/js/plyr.js new file mode 100644 index 0000000..be8f269 --- /dev/null +++ b/static/js/plyr.js @@ -0,0 +1 @@ +"object"==typeof navigator&&function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define("Plyr",t):(e="undefined"!=typeof globalThis?globalThis:e||self).Plyr=t()}(this,(function(){"use strict";function e(t){return(e="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(t)}function t(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function n(e,t){for(var n=0;n=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(i=0;i=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}function l(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){if("undefined"==typeof Symbol||!(Symbol.iterator in Object(e)))return;var n=[],i=!0,a=!1,r=void 0;try{for(var o,s=e[Symbol.iterator]();!(i=(o=s.next()).done)&&(n.push(o.value),!t||n.length!==t);i=!0);}catch(e){a=!0,r=e}finally{try{i||null==s.return||s.return()}finally{if(a)throw r}}return n}(e,t)||u(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function c(e){return function(e){if(Array.isArray(e))return d(e)}(e)||function(e){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(e))return Array.from(e)}(e)||u(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function u(e,t){if(e){if("string"==typeof e)return d(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?d(e,t):void 0}}function d(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,i=new Array(t);nt){var n=function(e){var t="".concat(e).match(/(?:\.(\d+))?(?:[eE]([+-]?\d+))?$/);return t?Math.max(0,(t[1]?t[1].length:0)-(t[2]?+t[2]:0)):0}(t);return parseFloat(e.toFixed(n))}return Math.round(e/t)*t}var L,O,_,j=function(){function e(t,n){(function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")})(this,e),N(t)?this.element=t:S(t)&&(this.element=document.querySelector(t)),N(this.element)&&x(this.element.rangeTouch)&&(this.config=f({},g,{},n),this.init())}return function(e,t,n){t&&h(e.prototype,t),n&&h(e,n)}(e,[{key:"init",value:function(){e.enabled&&(this.config.addCSS&&(this.element.style.userSelect="none",this.element.style.webKitUserSelect="none",this.element.style.touchAction="manipulation"),this.listeners(!0),this.element.rangeTouch=this)}},{key:"destroy",value:function(){e.enabled&&(this.config.addCSS&&(this.element.style.userSelect="",this.element.style.webKitUserSelect="",this.element.style.touchAction=""),this.listeners(!1),this.element.rangeTouch=null)}},{key:"listeners",value:function(e){var t=this,n=e?"addEventListener":"removeEventListener";["touchstart","touchmove","touchend"].forEach((function(e){t.element[n](e,(function(e){return t.set(e)}),!1)}))}},{key:"get",value:function(t){if(!e.enabled||!M(t))return null;var n,i=t.target,a=t.changedTouches[0],r=parseFloat(i.getAttribute("min"))||0,o=parseFloat(i.getAttribute("max"))||100,s=parseFloat(i.getAttribute("step"))||1,l=i.getBoundingClientRect(),c=100/l.width*(this.config.thumbWidth/2)/100;return 0>(n=100/l.width*(a.clientX-l.left))?n=0:100n?n-=(100-2*n)*c:500&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length,n=new Array(t>1?t-1:0),i=1;i0?t.cloneNode(!0):t,a=e.parentNode,r=e.nextSibling;i.appendChild(e),r?a.insertBefore(i,r):a.appendChild(i)}))}function he(e,t){Z(e)&&!re(t)&&Object.entries(t).filter((function(e){var t=l(e,2)[1];return!z(t)})).forEach((function(t){var n=l(t,2),i=n[0],a=n[1];return e.setAttribute(i,a)}))}function me(e,t,n){var i=document.createElement(e);return K(t)&&he(i,t),Q(n)&&(i.innerText=n),i}function pe(e,t,n,i){Z(t)&&t.appendChild(me(e,n,i))}function fe(e){G(e)||J(e)?Array.from(e).forEach(fe):Z(e)&&Z(e.parentNode)&&e.parentNode.removeChild(e)}function ge(e){if(Z(e))for(var t=e.childNodes.length;t>0;)e.removeChild(e.lastChild),t-=1}function ye(e,t){return Z(t)&&Z(t.parentNode)&&Z(e)?(t.parentNode.replaceChild(e,t),e):null}function be(e,t){if(!Q(e)||re(e))return{};var n={},i=ue({},t);return e.split(",").forEach((function(e){var t=e.trim(),a=t.replace(".",""),r=t.replace(/[[\]]/g,"").split("="),o=l(r,1)[0],s=r.length>1?r[1].replace(/["']/g,""):"";switch(t.charAt(0)){case".":Q(i.class)?n.class="".concat(i.class," ").concat(a):n.class=a;break;case"#":n.id=t.replace("#","");break;case"[":n[o]=s}})),ue(i,n)}function ve(e,t){if(Z(e)){var n=t;X(n)||(n=!e.hidden),e.hidden=n}}function we(e,t,n){if(G(e))return Array.from(e).map((function(e){return we(e,t,n)}));if(Z(e)){var i="toggle";return void 0!==n&&(i=n?"add":"remove"),e.classList[i](t),e.classList.contains(t)}return!1}function ke(e,t){return Z(e)&&e.classList.contains(t)}function Te(e,t){var n=Element.prototype;return(n.matches||n.webkitMatchesSelector||n.mozMatchesSelector||n.msMatchesSelector||function(){return Array.from(document.querySelectorAll(t)).includes(this)}).call(e,t)}function Ce(e){return this.elements.container.querySelectorAll(e)}function Ae(e){return this.elements.container.querySelector(e)}function Se(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];Z(e)&&(e.focus({preventScroll:!0}),t&&we(e,this.config.classNames.tabFocus))}var Pe,Ee={"audio/ogg":"vorbis","audio/wav":"1","video/webm":"vp8, vorbis","video/mp4":"avc1.42E01E, mp4a.40.2","video/ogg":"theora"},Ne={audio:"canPlayType"in document.createElement("audio"),video:"canPlayType"in document.createElement("video"),check:function(e,t,n){var i=le.isIPhone&&n&&Ne.playsinline,a=Ne[e]||"html5"!==t;return{api:a,ui:a&&Ne.rangeInput&&("video"!==e||!le.isIPhone||i)}},pip:!(le.isIPhone||!$(me("video").webkitSetPresentationMode)&&(!document.pictureInPictureEnabled||me("video").disablePictureInPicture)),airplay:$(window.WebKitPlaybackTargetAvailabilityEvent),playsinline:"playsInline"in document.createElement("video"),mime:function(e){if(re(e))return!1;var t=l(e.split("/"),1)[0],n=e;if(!this.isHTML5||t!==this.type)return!1;Object.keys(Ee).includes(n)&&(n+='; codecs="'.concat(Ee[e],'"'));try{return Boolean(n&&this.media.canPlayType(n).replace(/no/,""))}catch(e){return!1}},textTracks:"textTracks"in document.createElement("video"),rangeInput:(Pe=document.createElement("input"),Pe.type="range","range"===Pe.type),touch:"ontouchstart"in document.documentElement,transitions:!1!==oe,reducedMotion:"matchMedia"in window&&window.matchMedia("(prefers-reduced-motion)").matches},Me=function(){var e=!1;try{var t=Object.defineProperty({},"passive",{get:function(){return e=!0,null}});window.addEventListener("test",null,t),window.removeEventListener("test",null,t)}catch(e){}return e}();function xe(e,t,n){var i=this,a=arguments.length>3&&void 0!==arguments[3]&&arguments[3],r=!(arguments.length>4&&void 0!==arguments[4])||arguments[4],o=arguments.length>5&&void 0!==arguments[5]&&arguments[5];if(e&&"addEventListener"in e&&!re(t)&&$(n)){var s=t.split(" "),l=o;Me&&(l={passive:r,capture:o}),s.forEach((function(t){i&&i.eventListeners&&a&&i.eventListeners.push({element:e,type:t,callback:n,options:l}),e[a?"addEventListener":"removeEventListener"](t,n,l)}))}}function Ie(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",n=arguments.length>2?arguments[2]:void 0,i=!(arguments.length>3&&void 0!==arguments[3])||arguments[3],a=arguments.length>4&&void 0!==arguments[4]&&arguments[4];xe.call(this,e,t,n,!0,i,a)}function Le(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",n=arguments.length>2?arguments[2]:void 0,i=!(arguments.length>3&&void 0!==arguments[3])||arguments[3],a=arguments.length>4&&void 0!==arguments[4]&&arguments[4];xe.call(this,e,t,n,!1,i,a)}function Oe(e){var t=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",i=arguments.length>2?arguments[2]:void 0,a=!(arguments.length>3&&void 0!==arguments[3])||arguments[3],r=arguments.length>4&&void 0!==arguments[4]&&arguments[4],o=function o(){Le(e,n,o,a,r);for(var s=arguments.length,l=new Array(s),c=0;c1&&void 0!==arguments[1]?arguments[1]:"",n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};if(Z(e)&&!re(t)){var a=new CustomEvent(t,{bubbles:n,detail:o(o({},i),{},{plyr:this})});e.dispatchEvent(a)}}function je(){this&&this.eventListeners&&(this.eventListeners.forEach((function(e){var t=e.element,n=e.type,i=e.callback,a=e.options;t.removeEventListener(n,i,a)})),this.eventListeners=[])}function De(){var e=this;return new Promise((function(t){return e.ready?setTimeout(t,0):Ie.call(e,e.elements.container,"ready",t)})).then((function(){}))}function qe(e){ie(e)&&e.then(null,(function(){}))}function He(e){return!!(J(e)||Q(e)&&e.includes(":"))&&(J(e)?e:e.split(":")).map(Number).every(Y)}function Fe(e){if(!J(e)||!e.every(Y))return null;var t=l(e,2),n=t[0],i=t[1],a=function e(t,n){return 0===n?t:e(n,t%n)}(n,i);return[n/a,i/a]}function Re(e){var t=function(e){return He(e)?e.split(":").map(Number):null},n=t(e);if(null===n&&(n=t(this.config.ratio)),null===n&&!re(this.embed)&&J(this.embed.ratio)&&(n=this.embed.ratio),null===n&&this.isHTML5){var i=this.media;n=Fe([i.videoWidth,i.videoHeight])}return n}function Ve(e){if(!this.isVideo)return{};var t=this.elements.wrapper,n=Re.call(this,e),i=l(J(n)?n:[0,0],2),a=100/i[0]*i[1];if(t.style.paddingBottom="".concat(a,"%"),this.isVimeo&&!this.config.vimeo.premium&&this.supported.ui){var r=100/this.media.offsetWidth*parseInt(window.getComputedStyle(this.media).paddingBottom,10),o=(r-a)/(r/50);this.fullscreen.active?t.style.paddingBottom=null:this.media.style.transform="translateY(-".concat(o,"%)")}else this.isHTML5&&t.classList.toggle(this.config.classNames.videoFixedRatio,null!==n);return{padding:a,ratio:n}}var Be={getSources:function(){var e=this;return this.isHTML5?Array.from(this.media.querySelectorAll("source")).filter((function(t){var n=t.getAttribute("type");return!!re(n)||Ne.mime.call(e,n)})):[]},getQualityOptions:function(){return this.config.quality.forced?this.config.quality.options:Be.getSources.call(this).map((function(e){return Number(e.getAttribute("size"))})).filter(Boolean)},setup:function(){if(this.isHTML5){var e=this;e.options.speed=e.config.speed.options,re(this.config.ratio)||Ve.call(e),Object.defineProperty(e.media,"quality",{get:function(){var t=Be.getSources.call(e).find((function(t){return t.getAttribute("src")===e.source}));return t&&Number(t.getAttribute("size"))},set:function(t){if(e.quality!==t){if(e.config.quality.forced&&$(e.config.quality.onChange))e.config.quality.onChange(t);else{var n=Be.getSources.call(e).find((function(e){return Number(e.getAttribute("size"))===t}));if(!n)return;var i=e.media,a=i.currentTime,r=i.paused,o=i.preload,s=i.readyState,l=i.playbackRate;e.media.src=n.getAttribute("src"),("none"!==o||s)&&(e.once("loadedmetadata",(function(){e.speed=l,e.currentTime=a,r||qe(e.play())})),e.media.load())}_e.call(e,e.media,"qualitychange",!1,{quality:t})}}})}},cancelRequests:function(){this.isHTML5&&(fe(Be.getSources.call(this)),this.media.setAttribute("src",this.config.blankVideo),this.media.load(),this.debug.log("Cancelled network requests"))}};function Ue(e){return J(e)?e.filter((function(t,n){return e.indexOf(t)===n})):e}function We(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),i=1;i0&&void 0!==arguments[0]?arguments[0]:"",t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"";return e.replace(new RegExp(t.toString().replace(/([.*+?^=!:${}()|[\]/\\])/g,"\\$1"),"g"),n.toString())},Ke=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";return e.toString().replace(/\w\S*/g,(function(e){return e.charAt(0).toUpperCase()+e.substr(1).toLowerCase()}))};function Ye(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",t=e.toString();return t=ze(t,"-"," "),t=ze(t,"_"," "),t=Ke(t),ze(t," ","")}function Qe(e){var t=document.createElement("div");return t.appendChild(e),t.innerHTML}var Xe={pip:"PIP",airplay:"AirPlay",html5:"HTML5",vimeo:"Vimeo",youtube:"YouTube"},$e=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(re(e)||re(t))return"";var n=ce(t.i18n,e);if(re(n))return Object.keys(Xe).includes(e)?Xe[e]:"";var i={"{seektime}":t.seekTime,"{title}":t.title};return Object.entries(i).forEach((function(e){var t=l(e,2),i=t[0],a=t[1];n=ze(n,i,a)})),n},Je=function(){function e(n){var i=this;t(this,e),a(this,"get",(function(t){if(!e.supported||!i.enabled)return null;var n=window.localStorage.getItem(i.key);if(re(n))return null;var a=JSON.parse(n);return Q(t)&&t.length?a[t]:a})),a(this,"set",(function(t){if(e.supported&&i.enabled&&K(t)){var n=i.get();re(n)&&(n={}),ue(n,t),window.localStorage.setItem(i.key,JSON.stringify(n))}})),this.enabled=n.config.storage.enabled,this.key=n.config.storage.key}return i(e,null,[{key:"supported",get:function(){try{if(!("localStorage"in window))return!1;var e="___test";return window.localStorage.setItem(e,e),window.localStorage.removeItem(e),!0}catch(e){return!1}}}]),e}();function Ge(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"text";return new Promise((function(n,i){try{var a=new XMLHttpRequest;if(!("withCredentials"in a))return;a.addEventListener("load",(function(){if("text"===t)try{n(JSON.parse(a.responseText))}catch(e){n(a.responseText)}else n(a.response)})),a.addEventListener("error",(function(){throw new Error(a.status)})),a.open("GET",e,!0),a.responseType=t,a.send()}catch(e){i(e)}}))}function Ze(e,t){if(Q(e)){var n="cache",i=Q(t),a=function(){return null!==document.getElementById(t)},r=function(e,t){e.innerHTML=t,i&&a()||document.body.insertAdjacentElement("afterbegin",e)};if(!i||!a()){var o=Je.supported,s=document.createElement("div");if(s.setAttribute("hidden",""),i&&s.setAttribute("id",t),o){var l=window.localStorage.getItem("".concat(n,"-").concat(t));if(null!==l){var c=JSON.parse(l);r(s,c.content)}}Ge(e).then((function(e){re(e)||(o&&window.localStorage.setItem("".concat(n,"-").concat(t),JSON.stringify({content:e})),r(s,e))})).catch((function(){}))}}}var et=function(e){return Math.trunc(e/60/60%60,10)},tt=function(e){return Math.trunc(e/60%60,10)},nt=function(e){return Math.trunc(e%60,10)};function it(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(!Y(e))return it(void 0,t,n);var i=function(e){return"0".concat(e).slice(-2)},a=et(e),r=tt(e),o=nt(e);return a=t||a>0?"".concat(a,":"):"","".concat(n&&e>0?"-":"").concat(a).concat(i(r),":").concat(i(o))}var at={getIconUrl:function(){var e=new URL(this.config.iconUrl,window.location).host!==window.location.host||le.isIE&&!window.svg4everybody;return{url:this.config.iconUrl,cors:e}},findElements:function(){try{return this.elements.controls=Ae.call(this,this.config.selectors.controls.wrapper),this.elements.buttons={play:Ce.call(this,this.config.selectors.buttons.play),pause:Ae.call(this,this.config.selectors.buttons.pause),restart:Ae.call(this,this.config.selectors.buttons.restart),rewind:Ae.call(this,this.config.selectors.buttons.rewind),fastForward:Ae.call(this,this.config.selectors.buttons.fastForward),mute:Ae.call(this,this.config.selectors.buttons.mute),pip:Ae.call(this,this.config.selectors.buttons.pip),airplay:Ae.call(this,this.config.selectors.buttons.airplay),settings:Ae.call(this,this.config.selectors.buttons.settings),captions:Ae.call(this,this.config.selectors.buttons.captions),fullscreen:Ae.call(this,this.config.selectors.buttons.fullscreen)},this.elements.progress=Ae.call(this,this.config.selectors.progress),this.elements.inputs={seek:Ae.call(this,this.config.selectors.inputs.seek),volume:Ae.call(this,this.config.selectors.inputs.volume)},this.elements.display={buffer:Ae.call(this,this.config.selectors.display.buffer),currentTime:Ae.call(this,this.config.selectors.display.currentTime),duration:Ae.call(this,this.config.selectors.display.duration)},Z(this.elements.progress)&&(this.elements.display.seekTooltip=this.elements.progress.querySelector(".".concat(this.config.classNames.tooltip))),!0}catch(e){return this.debug.warn("It looks like there is a problem with your custom controls HTML",e),this.toggleNativeControls(!0),!1}},createIcon:function(e,t){var n="http://www.w3.org/2000/svg",i=at.getIconUrl.call(this),a="".concat(i.cors?"":i.url,"#").concat(this.config.iconPrefix),r=document.createElementNS(n,"svg");he(r,ue(t,{"aria-hidden":"true",focusable:"false"}));var o=document.createElementNS(n,"use"),s="".concat(a,"-").concat(e);return"href"in o&&o.setAttributeNS("http://www.w3.org/1999/xlink","href",s),o.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",s),r.appendChild(o),r},createLabel:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=$e(e,this.config),i=o(o({},t),{},{class:[t.class,this.config.classNames.hidden].filter(Boolean).join(" ")});return me("span",i,n)},createBadge:function(e){if(re(e))return null;var t=me("span",{class:this.config.classNames.menu.value});return t.appendChild(me("span",{class:this.config.classNames.menu.badge},e)),t},createButton:function(e,t){var n=this,i=ue({},t),a=function(){var e=(arguments.length>0&&void 0!==arguments[0]?arguments[0]:"").toString();return(e=Ye(e)).charAt(0).toLowerCase()+e.slice(1)}(e),r={element:"button",toggle:!1,label:null,icon:null,labelPressed:null,iconPressed:null};switch(["element","icon","label"].forEach((function(e){Object.keys(i).includes(e)&&(r[e]=i[e],delete i[e])})),"button"!==r.element||Object.keys(i).includes("type")||(i.type="button"),Object.keys(i).includes("class")?i.class.split(" ").some((function(e){return e===n.config.classNames.control}))||ue(i,{class:"".concat(i.class," ").concat(this.config.classNames.control)}):i.class=this.config.classNames.control,e){case"play":r.toggle=!0,r.label="play",r.labelPressed="pause",r.icon="play",r.iconPressed="pause";break;case"mute":r.toggle=!0,r.label="mute",r.labelPressed="unmute",r.icon="volume",r.iconPressed="muted";break;case"captions":r.toggle=!0,r.label="enableCaptions",r.labelPressed="disableCaptions",r.icon="captions-off",r.iconPressed="captions-on";break;case"fullscreen":r.toggle=!0,r.label="enterFullscreen",r.labelPressed="exitFullscreen",r.icon="enter-fullscreen",r.iconPressed="exit-fullscreen";break;case"play-large":i.class+=" ".concat(this.config.classNames.control,"--overlaid"),a="play",r.label="play",r.icon="play";break;default:re(r.label)&&(r.label=a),re(r.icon)&&(r.icon=e)}var o=me(r.element);return r.toggle?(o.appendChild(at.createIcon.call(this,r.iconPressed,{class:"icon--pressed"})),o.appendChild(at.createIcon.call(this,r.icon,{class:"icon--not-pressed"})),o.appendChild(at.createLabel.call(this,r.labelPressed,{class:"label--pressed"})),o.appendChild(at.createLabel.call(this,r.label,{class:"label--not-pressed"}))):(o.appendChild(at.createIcon.call(this,r.icon)),o.appendChild(at.createLabel.call(this,r.label))),ue(i,be(this.config.selectors.buttons[a],i)),he(o,i),"play"===a?(J(this.elements.buttons[a])||(this.elements.buttons[a]=[]),this.elements.buttons[a].push(o)):this.elements.buttons[a]=o,o},createRange:function(e,t){var n=me("input",ue(be(this.config.selectors.inputs[e]),{type:"range",min:0,max:100,step:.01,value:0,autocomplete:"off",role:"slider","aria-label":$e(e,this.config),"aria-valuemin":0,"aria-valuemax":100,"aria-valuenow":0},t));return this.elements.inputs[e]=n,at.updateRangeFill.call(this,n),j.setup(n),n},createProgress:function(e,t){var n=me("progress",ue(be(this.config.selectors.display[e]),{min:0,max:100,value:0,role:"progressbar","aria-hidden":!0},t));if("volume"!==e){n.appendChild(me("span",null,"0"));var i={played:"played",buffer:"buffered"}[e],a=i?$e(i,this.config):"";n.innerText="% ".concat(a.toLowerCase())}return this.elements.display[e]=n,n},createTime:function(e,t){var n=be(this.config.selectors.display[e],t),i=me("div",ue(n,{class:"".concat(n.class?n.class:""," ").concat(this.config.classNames.display.time," ").trim(),"aria-label":$e(e,this.config)}),"00:00");return this.elements.display[e]=i,i},bindMenuItemShortcuts:function(e,t){var n=this;Ie.call(this,e,"keydown keyup",(function(i){if([32,38,39,40].includes(i.which)&&(i.preventDefault(),i.stopPropagation(),"keydown"!==i.type)){var a,r=Te(e,'[role="menuitemradio"]');if(!r&&[32,39].includes(i.which))at.showMenuPanel.call(n,t,!0);else 32!==i.which&&(40===i.which||r&&39===i.which?(a=e.nextElementSibling,Z(a)||(a=e.parentNode.firstElementChild)):(a=e.previousElementSibling,Z(a)||(a=e.parentNode.lastElementChild)),Se.call(n,a,!0))}}),!1),Ie.call(this,e,"keyup",(function(e){13===e.which&&at.focusFirstMenuItem.call(n,null,!0)}))},createMenuItem:function(e){var t=this,n=e.value,i=e.list,a=e.type,r=e.title,o=e.badge,s=void 0===o?null:o,l=e.checked,c=void 0!==l&&l,u=be(this.config.selectors.inputs[a]),d=me("button",ue(u,{type:"button",role:"menuitemradio",class:"".concat(this.config.classNames.control," ").concat(u.class?u.class:"").trim(),"aria-checked":c,value:n})),h=me("span");h.innerHTML=r,Z(s)&&h.appendChild(s),d.appendChild(h),Object.defineProperty(d,"checked",{enumerable:!0,get:function(){return"true"===d.getAttribute("aria-checked")},set:function(e){e&&Array.from(d.parentNode.children).filter((function(e){return Te(e,'[role="menuitemradio"]')})).forEach((function(e){return e.setAttribute("aria-checked","false")})),d.setAttribute("aria-checked",e?"true":"false")}}),this.listeners.bind(d,"click keyup",(function(e){if(!te(e)||32===e.which){switch(e.preventDefault(),e.stopPropagation(),d.checked=!0,a){case"language":t.currentTrack=Number(n);break;case"quality":t.quality=n;break;case"speed":t.speed=parseFloat(n)}at.showMenuPanel.call(t,"home",te(e))}}),a,!1),at.bindMenuItemShortcuts.call(this,d,a),i.appendChild(d)},formatTime:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(!Y(e))return e;var n=et(this.duration)>0;return it(e,n,t)},updateTimeDisplay:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];Z(e)&&Y(t)&&(e.innerText=at.formatTime(t,n))},updateVolume:function(){this.supported.ui&&(Z(this.elements.inputs.volume)&&at.setRange.call(this,this.elements.inputs.volume,this.muted?0:this.volume),Z(this.elements.buttons.mute)&&(this.elements.buttons.mute.pressed=this.muted||0===this.volume))},setRange:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;Z(e)&&(e.value=t,at.updateRangeFill.call(this,e))},updateProgress:function(e){var t=this;if(this.supported.ui&&ee(e)){var n,i,a=0;if(e)switch(e.type){case"timeupdate":case"seeking":case"seeked":n=this.currentTime,i=this.duration,a=0===n||0===i||Number.isNaN(n)||Number.isNaN(i)?0:(n/i*100).toFixed(2),"timeupdate"===e.type&&at.setRange.call(this,this.elements.inputs.seek,a);break;case"playing":case"progress":!function(e,n){var i=Y(n)?n:0,a=Z(e)?e:t.elements.display.buffer;if(Z(a)){a.value=i;var r=a.getElementsByTagName("span")[0];Z(r)&&(r.childNodes[0].nodeValue=i)}}(this.elements.display.buffer,100*this.buffered)}}},updateRangeFill:function(e){var t=ee(e)?e.target:e;if(Z(t)&&"range"===t.getAttribute("type")){if(Te(t,this.config.selectors.inputs.seek)){t.setAttribute("aria-valuenow",this.currentTime);var n=at.formatTime(this.currentTime),i=at.formatTime(this.duration),a=$e("seekLabel",this.config);t.setAttribute("aria-valuetext",a.replace("{currentTime}",n).replace("{duration}",i))}else if(Te(t,this.config.selectors.inputs.volume)){var r=100*t.value;t.setAttribute("aria-valuenow",r),t.setAttribute("aria-valuetext","".concat(r.toFixed(1),"%"))}else t.setAttribute("aria-valuenow",t.value);le.isWebkit&&t.style.setProperty("--value","".concat(t.value/t.max*100,"%"))}},updateSeekTooltip:function(e){var t=this;if(this.config.tooltips.seek&&Z(this.elements.inputs.seek)&&Z(this.elements.display.seekTooltip)&&0!==this.duration){var n="".concat(this.config.classNames.tooltip,"--visible"),i=function(e){return we(t.elements.display.seekTooltip,n,e)};if(this.touch)i(!1);else{var a=0,r=this.elements.progress.getBoundingClientRect();if(ee(e))a=100/r.width*(e.pageX-r.left);else{if(!ke(this.elements.display.seekTooltip,n))return;a=parseFloat(this.elements.display.seekTooltip.style.left,10)}a<0?a=0:a>100&&(a=100),at.updateTimeDisplay.call(this,this.elements.display.seekTooltip,this.duration/100*a),this.elements.display.seekTooltip.style.left="".concat(a,"%"),ee(e)&&["mouseenter","mouseleave"].includes(e.type)&&i("mouseenter"===e.type)}}},timeUpdate:function(e){var t=!Z(this.elements.display.duration)&&this.config.invertTime;at.updateTimeDisplay.call(this,this.elements.display.currentTime,t?this.duration-this.currentTime:this.currentTime,t),e&&"timeupdate"===e.type&&this.media.seeking||at.updateProgress.call(this,e)},durationUpdate:function(){if(this.supported.ui&&(this.config.invertTime||!this.currentTime)){if(this.duration>=Math.pow(2,32))return ve(this.elements.display.currentTime,!0),void ve(this.elements.progress,!0);Z(this.elements.inputs.seek)&&this.elements.inputs.seek.setAttribute("aria-valuemax",this.duration);var e=Z(this.elements.display.duration);!e&&this.config.displayDuration&&this.paused&&at.updateTimeDisplay.call(this,this.elements.display.currentTime,this.duration),e&&at.updateTimeDisplay.call(this,this.elements.display.duration,this.duration),at.updateSeekTooltip.call(this)}},toggleMenuButton:function(e,t){ve(this.elements.settings.buttons[e],!t)},updateSetting:function(e,t,n){var i=this.elements.settings.panels[e],a=null,r=t;if("captions"===e)a=this.currentTrack;else{if(a=re(n)?this[e]:n,re(a)&&(a=this.config[e].default),!re(this.options[e])&&!this.options[e].includes(a))return void this.debug.warn("Unsupported value of '".concat(a,"' for ").concat(e));if(!this.config[e].options.includes(a))return void this.debug.warn("Disabled value of '".concat(a,"' for ").concat(e))}if(Z(r)||(r=i&&i.querySelector('[role="menu"]')),Z(r)){this.elements.settings.buttons[e].querySelector(".".concat(this.config.classNames.menu.value)).innerHTML=at.getLabel.call(this,e,a);var o=r&&r.querySelector('[value="'.concat(a,'"]'));Z(o)&&(o.checked=!0)}},getLabel:function(e,t){switch(e){case"speed":return 1===t?$e("normal",this.config):"".concat(t,"×");case"quality":if(Y(t)){var n=$e("qualityLabel.".concat(t),this.config);return n.length?n:"".concat(t,"p")}return Ke(t);case"captions":return st.getLabel.call(this);default:return null}},setQualityMenu:function(e){var t=this;if(Z(this.elements.settings.panels.quality)){var n="quality",i=this.elements.settings.panels.quality.querySelector('[role="menu"]');J(e)&&(this.options.quality=Ue(e).filter((function(e){return t.config.quality.options.includes(e)})));var a=!re(this.options.quality)&&this.options.quality.length>1;if(at.toggleMenuButton.call(this,n,a),ge(i),at.checkMenu.call(this),a){var r=function(e){var n=$e("qualityBadge.".concat(e),t.config);return n.length?at.createBadge.call(t,n):null};this.options.quality.sort((function(e,n){var i=t.config.quality.options;return i.indexOf(e)>i.indexOf(n)?1:-1})).forEach((function(e){at.createMenuItem.call(t,{value:e,list:i,type:n,title:at.getLabel.call(t,"quality",e),badge:r(e)})})),at.updateSetting.call(this,n,i)}}},setCaptionsMenu:function(){var e=this;if(Z(this.elements.settings.panels.captions)){var t="captions",n=this.elements.settings.panels.captions.querySelector('[role="menu"]'),i=st.getTracks.call(this),a=Boolean(i.length);if(at.toggleMenuButton.call(this,t,a),ge(n),at.checkMenu.call(this),a){var r=i.map((function(t,i){return{value:i,checked:e.captions.toggled&&e.currentTrack===i,title:st.getLabel.call(e,t),badge:t.language&&at.createBadge.call(e,t.language.toUpperCase()),list:n,type:"language"}}));r.unshift({value:-1,checked:!this.captions.toggled,title:$e("disabled",this.config),list:n,type:"language"}),r.forEach(at.createMenuItem.bind(this)),at.updateSetting.call(this,t,n)}}},setSpeedMenu:function(){var e=this;if(Z(this.elements.settings.panels.speed)){var t="speed",n=this.elements.settings.panels.speed.querySelector('[role="menu"]');this.options.speed=this.options.speed.filter((function(t){return t>=e.minimumSpeed&&t<=e.maximumSpeed}));var i=!re(this.options.speed)&&this.options.speed.length>1;at.toggleMenuButton.call(this,t,i),ge(n),at.checkMenu.call(this),i&&(this.options.speed.forEach((function(i){at.createMenuItem.call(e,{value:i,list:n,type:t,title:at.getLabel.call(e,"speed",i)})})),at.updateSetting.call(this,t,n))}},checkMenu:function(){var e=this.elements.settings.buttons,t=!re(e)&&Object.values(e).some((function(e){return!e.hidden}));ve(this.elements.settings.menu,!t)},focusFirstMenuItem:function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(!this.elements.settings.popup.hidden){var n=e;Z(n)||(n=Object.values(this.elements.settings.panels).find((function(e){return!e.hidden})));var i=n.querySelector('[role^="menuitem"]');Se.call(this,i,t)}},toggleMenu:function(e){var t=this.elements.settings.popup,n=this.elements.buttons.settings;if(Z(t)&&Z(n)){var i=t.hidden,a=i;if(X(e))a=e;else if(te(e)&&27===e.which)a=!1;else if(ee(e)){var r=$(e.composedPath)?e.composedPath()[0]:e.target,o=t.contains(r);if(o||!o&&e.target!==n&&a)return}n.setAttribute("aria-expanded",a),ve(t,!a),we(this.elements.container,this.config.classNames.menu.open,a),a&&te(e)?at.focusFirstMenuItem.call(this,null,!0):a||i||Se.call(this,n,te(e))}},getMenuSize:function(e){var t=e.cloneNode(!0);t.style.position="absolute",t.style.opacity=0,t.removeAttribute("hidden"),e.parentNode.appendChild(t);var n=t.scrollWidth,i=t.scrollHeight;return fe(t),{width:n,height:i}},showMenuPanel:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",n=arguments.length>1&&void 0!==arguments[1]&&arguments[1],i=this.elements.container.querySelector("#plyr-settings-".concat(this.id,"-").concat(t));if(Z(i)){var a=i.parentNode,r=Array.from(a.children).find((function(e){return!e.hidden}));if(Ne.transitions&&!Ne.reducedMotion){a.style.width="".concat(r.scrollWidth,"px"),a.style.height="".concat(r.scrollHeight,"px");var o=at.getMenuSize.call(this,i),s=function t(n){n.target===a&&["width","height"].includes(n.propertyName)&&(a.style.width="",a.style.height="",Le.call(e,a,oe,t))};Ie.call(this,a,oe,s),a.style.width="".concat(o.width,"px"),a.style.height="".concat(o.height,"px")}ve(r,!0),ve(i,!1),at.focusFirstMenuItem.call(this,i,n)}},setDownloadUrl:function(){var e=this.elements.buttons.download;Z(e)&&e.setAttribute("href",this.download)},create:function(e){var t=this,n=at.bindMenuItemShortcuts,i=at.createButton,a=at.createProgress,r=at.createRange,o=at.createTime,s=at.setQualityMenu,l=at.setSpeedMenu,c=at.showMenuPanel;this.elements.controls=null,J(this.config.controls)&&this.config.controls.includes("play-large")&&this.elements.container.appendChild(i.call(this,"play-large"));var u=me("div",be(this.config.selectors.controls.wrapper));this.elements.controls=u;var d={class:"plyr__controls__item"};return Ue(J(this.config.controls)?this.config.controls:[]).forEach((function(s){if("restart"===s&&u.appendChild(i.call(t,"restart",d)),"rewind"===s&&u.appendChild(i.call(t,"rewind",d)),"play"===s&&u.appendChild(i.call(t,"play",d)),"fast-forward"===s&&u.appendChild(i.call(t,"fast-forward",d)),"progress"===s){var l=me("div",{class:"".concat(d.class," plyr__progress__container")}),h=me("div",be(t.config.selectors.progress));if(h.appendChild(r.call(t,"seek",{id:"plyr-seek-".concat(e.id)})),h.appendChild(a.call(t,"buffer")),t.config.tooltips.seek){var m=me("span",{class:t.config.classNames.tooltip},"00:00");h.appendChild(m),t.elements.display.seekTooltip=m}t.elements.progress=h,l.appendChild(t.elements.progress),u.appendChild(l)}if("current-time"===s&&u.appendChild(o.call(t,"currentTime",d)),"duration"===s&&u.appendChild(o.call(t,"duration",d)),"mute"===s||"volume"===s){var p=t.elements.volume;if(Z(p)&&u.contains(p)||(p=me("div",ue({},d,{class:"".concat(d.class," plyr__volume").trim()})),t.elements.volume=p,u.appendChild(p)),"mute"===s&&p.appendChild(i.call(t,"mute")),"volume"===s&&!le.isIos){var f={max:1,step:.05,value:t.config.volume};p.appendChild(r.call(t,"volume",ue(f,{id:"plyr-volume-".concat(e.id)})))}}if("captions"===s&&u.appendChild(i.call(t,"captions",d)),"settings"===s&&!re(t.config.settings)){var g=me("div",ue({},d,{class:"".concat(d.class," plyr__menu").trim(),hidden:""}));g.appendChild(i.call(t,"settings",{"aria-haspopup":!0,"aria-controls":"plyr-settings-".concat(e.id),"aria-expanded":!1}));var y=me("div",{class:"plyr__menu__container",id:"plyr-settings-".concat(e.id),hidden:""}),b=me("div"),v=me("div",{id:"plyr-settings-".concat(e.id,"-home")}),w=me("div",{role:"menu"});v.appendChild(w),b.appendChild(v),t.elements.settings.panels.home=v,t.config.settings.forEach((function(i){var a=me("button",ue(be(t.config.selectors.buttons.settings),{type:"button",class:"".concat(t.config.classNames.control," ").concat(t.config.classNames.control,"--forward"),role:"menuitem","aria-haspopup":!0,hidden:""}));n.call(t,a,i),Ie.call(t,a,"click",(function(){c.call(t,i,!1)}));var r=me("span",null,$e(i,t.config)),o=me("span",{class:t.config.classNames.menu.value});o.innerHTML=e[i],r.appendChild(o),a.appendChild(r),w.appendChild(a);var s=me("div",{id:"plyr-settings-".concat(e.id,"-").concat(i),hidden:""}),l=me("button",{type:"button",class:"".concat(t.config.classNames.control," ").concat(t.config.classNames.control,"--back")});l.appendChild(me("span",{"aria-hidden":!0},$e(i,t.config))),l.appendChild(me("span",{class:t.config.classNames.hidden},$e("menuBack",t.config))),Ie.call(t,s,"keydown",(function(e){37===e.which&&(e.preventDefault(),e.stopPropagation(),c.call(t,"home",!0))}),!1),Ie.call(t,l,"click",(function(){c.call(t,"home",!1)})),s.appendChild(l),s.appendChild(me("div",{role:"menu"})),b.appendChild(s),t.elements.settings.buttons[i]=a,t.elements.settings.panels[i]=s})),y.appendChild(b),g.appendChild(y),u.appendChild(g),t.elements.settings.popup=y,t.elements.settings.menu=g}if("pip"===s&&Ne.pip&&u.appendChild(i.call(t,"pip",d)),"airplay"===s&&Ne.airplay&&u.appendChild(i.call(t,"airplay",d)),"download"===s){var k=ue({},d,{element:"a",href:t.download,target:"_blank"});t.isHTML5&&(k.download="");var T=t.config.urls.download;!ae(T)&&t.isEmbed&&ue(k,{icon:"logo-".concat(t.provider),label:t.provider}),u.appendChild(i.call(t,"download",k))}"fullscreen"===s&&u.appendChild(i.call(t,"fullscreen",d))})),this.isHTML5&&s.call(this,Be.getQualityOptions.call(this)),l.call(this),u},inject:function(){var e=this;if(this.config.loadSprite){var t=at.getIconUrl.call(this);t.cors&&Ze(t.url,"sprite-plyr")}this.id=Math.floor(1e4*Math.random());var n=null;this.elements.controls=null;var i={id:this.id,seektime:this.config.seekTime,title:this.config.title},a=!0;$(this.config.controls)&&(this.config.controls=this.config.controls.call(this,i)),this.config.controls||(this.config.controls=[]),Z(this.config.controls)||Q(this.config.controls)?n=this.config.controls:(n=at.create.call(this,{id:this.id,seektime:this.config.seekTime,speed:this.speed,quality:this.quality,captions:st.getLabel.call(this)}),a=!1);var r,o;if(a&&Q(this.config.controls)&&(r=n,Object.entries(i).forEach((function(e){var t=l(e,2),n=t[0],i=t[1];r=ze(r,"{".concat(n,"}"),i)})),n=r),Q(this.config.selectors.controls.container)&&(o=document.querySelector(this.config.selectors.controls.container)),Z(o)||(o=this.elements.container),o[Z(n)?"insertAdjacentElement":"insertAdjacentHTML"]("afterbegin",n),Z(this.elements.controls)||at.findElements.call(this),!re(this.elements.buttons)){var s=function(t){var n=e.config.classNames.controlPressed;Object.defineProperty(t,"pressed",{enumerable:!0,get:function(){return ke(t,n)},set:function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];we(t,n,e)}})};Object.values(this.elements.buttons).filter(Boolean).forEach((function(e){J(e)||G(e)?Array.from(e).filter(Boolean).forEach(s):s(e)}))}if(le.isEdge&&se(o),this.config.tooltips.controls){var c=this.config,u=c.classNames,d=c.selectors,h="".concat(d.controls.wrapper," ").concat(d.labels," .").concat(u.hidden),m=Ce.call(this,h);Array.from(m).forEach((function(t){we(t,e.config.classNames.hidden,!1),we(t,e.config.classNames.tooltip,!0)}))}}};function rt(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],n=e;if(t){var i=document.createElement("a");i.href=n,n=i.href}try{return new URL(n)}catch(e){return null}}function ot(e){var t=new URLSearchParams;return K(e)&&Object.entries(e).forEach((function(e){var n=l(e,2),i=n[0],a=n[1];t.set(i,a)})),t}var st={setup:function(){if(this.supported.ui)if(!this.isVideo||this.isYouTube||this.isHTML5&&!Ne.textTracks)J(this.config.controls)&&this.config.controls.includes("settings")&&this.config.settings.includes("captions")&&at.setCaptionsMenu.call(this);else{if(Z(this.elements.captions)||(this.elements.captions=me("div",be(this.config.selectors.captions)),function(e,t){Z(e)&&Z(t)&&t.parentNode.insertBefore(e,t.nextSibling)}(this.elements.captions,this.elements.wrapper)),le.isIE&&window.URL){var e=this.media.querySelectorAll("track");Array.from(e).forEach((function(e){var t=e.getAttribute("src"),n=rt(t);null!==n&&n.hostname!==window.location.href.hostname&&["http:","https:"].includes(n.protocol)&&Ge(t,"blob").then((function(t){e.setAttribute("src",window.URL.createObjectURL(t))})).catch((function(){fe(e)}))}))}var t=Ue((navigator.languages||[navigator.language||navigator.userLanguage||"en"]).map((function(e){return e.split("-")[0]}))),n=(this.storage.get("language")||this.config.captions.language||"auto").toLowerCase();if("auto"===n)n=l(t,1)[0];var i=this.storage.get("captions");if(X(i)||(i=this.config.captions.active),Object.assign(this.captions,{toggled:!1,active:i,language:n,languages:t}),this.isHTML5){var a=this.config.captions.update?"addtrack removetrack":"removetrack";Ie.call(this,this.media.textTracks,a,st.update.bind(this))}setTimeout(st.update.bind(this),0)}},update:function(){var e=this,t=st.getTracks.call(this,!0),n=this.captions,i=n.active,a=n.language,r=n.meta,o=n.currentTrackNode,s=Boolean(t.find((function(e){return e.language===a})));this.isHTML5&&this.isVideo&&t.filter((function(e){return!r.get(e)})).forEach((function(t){e.debug.log("Track added",t),r.set(t,{default:"showing"===t.mode}),"showing"===t.mode&&(t.mode="hidden"),Ie.call(e,t,"cuechange",(function(){return st.updateCues.call(e)}))})),(s&&this.language!==a||!t.includes(o))&&(st.setLanguage.call(this,a),st.toggle.call(this,i&&s)),we(this.elements.container,this.config.classNames.captions.enabled,!re(t)),J(this.config.controls)&&this.config.controls.includes("settings")&&this.config.settings.includes("captions")&&at.setCaptionsMenu.call(this)},toggle:function(e){var t=this,n=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if(this.supported.ui){var i=this.captions.toggled,a=this.config.classNames.captions.active,r=z(e)?!i:e;if(r!==i){if(n||(this.captions.active=r,this.storage.set({captions:r})),!this.language&&r&&!n){var o=st.getTracks.call(this),s=st.findTrack.call(this,[this.captions.language].concat(c(this.captions.languages)),!0);return this.captions.language=s.language,void st.set.call(this,o.indexOf(s))}this.elements.buttons.captions&&(this.elements.buttons.captions.pressed=r),we(this.elements.container,a,r),this.captions.toggled=r,at.updateSetting.call(this,"captions"),_e.call(this,this.media,r?"captionsenabled":"captionsdisabled")}setTimeout((function(){r&&t.captions.toggled&&(t.captions.currentTrackNode.mode="hidden")}))}},set:function(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],n=st.getTracks.call(this);if(-1!==e)if(Y(e))if(e in n){if(this.captions.currentTrack!==e){this.captions.currentTrack=e;var i=n[e],a=i||{},r=a.language;this.captions.currentTrackNode=i,at.updateSetting.call(this,"captions"),t||(this.captions.language=r,this.storage.set({language:r})),this.isVimeo&&this.embed.enableTextTrack(r),_e.call(this,this.media,"languagechange")}st.toggle.call(this,!0,t),this.isHTML5&&this.isVideo&&st.updateCues.call(this)}else this.debug.warn("Track not found",e);else this.debug.warn("Invalid caption argument",e);else st.toggle.call(this,!1,t)},setLanguage:function(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if(Q(e)){var n=e.toLowerCase();this.captions.language=n;var i=st.getTracks.call(this),a=st.findTrack.call(this,[n]);st.set.call(this,i.indexOf(a),t)}else this.debug.warn("Invalid language argument",e)},getTracks:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]&&arguments[0],n=Array.from((this.media||{}).textTracks||[]);return n.filter((function(n){return!e.isHTML5||t||e.captions.meta.has(n)})).filter((function(e){return["captions","subtitles"].includes(e.kind)}))},findTrack:function(e){var t,n=this,i=arguments.length>1&&void 0!==arguments[1]&&arguments[1],a=st.getTracks.call(this),r=function(e){return Number((n.captions.meta.get(e)||{}).default)},o=Array.from(a).sort((function(e,t){return r(t)-r(e)}));return e.every((function(e){return!(t=o.find((function(t){return t.language===e})))})),t||(i?o[0]:void 0)},getCurrentTrack:function(){return st.getTracks.call(this)[this.currentTrack]},getLabel:function(e){var t=e;return!ne(t)&&Ne.textTracks&&this.captions.toggled&&(t=st.getCurrentTrack.call(this)),ne(t)?re(t.label)?re(t.language)?$e("enabled",this.config):e.language.toUpperCase():t.label:$e("disabled",this.config)},updateCues:function(e){if(this.supported.ui)if(Z(this.elements.captions))if(z(e)||Array.isArray(e)){var t=e;if(!t){var n=st.getCurrentTrack.call(this);t=Array.from((n||{}).activeCues||[]).map((function(e){return e.getCueAsHTML()})).map(Qe)}var i=t.map((function(e){return e.trim()})).join("\n");if(i!==this.elements.captions.innerHTML){ge(this.elements.captions);var a=me("span",be(this.config.selectors.caption));a.innerHTML=i,this.elements.captions.appendChild(a),_e.call(this,this.media,"cuechange")}}else this.debug.warn("updateCues: Invalid input",e);else this.debug.warn("No captions element to render to")}},lt={enabled:!0,title:"",debug:!1,autoplay:!1,autopause:!0,playsinline:!0,seekTime:10,volume:1,muted:!1,duration:null,displayDuration:!0,invertTime:!0,toggleInvert:!0,ratio:null,clickToPlay:!0,hideControls:!0,resetOnEnd:!1,disableContextMenu:!0,loadSprite:!0,iconPrefix:"plyr",iconUrl:"https://cdn.plyr.io/3.6.4/plyr.svg",blankVideo:"https://cdn.plyr.io/static/blank.mp4",quality:{default:576,options:[4320,2880,2160,1440,1080,720,576,480,360,240],forced:!1,onChange:null},loop:{active:!1},speed:{selected:1,options:[.5,.75,1,1.25,1.5,1.75,2,4]},keyboard:{focused:!0,global:!1},tooltips:{controls:!1,seek:!0},captions:{active:!1,language:"auto",update:!1},fullscreen:{enabled:!0,fallback:!0,iosNative:!1},storage:{enabled:!0,key:"plyr"},controls:["play-large","play","progress","current-time","mute","volume","captions","settings","pip","airplay","fullscreen"],settings:["captions","quality","speed"],i18n:{restart:"Restart",rewind:"Rewind {seektime}s",play:"Play",pause:"Pause",fastForward:"Forward {seektime}s",seek:"Seek",seekLabel:"{currentTime} of {duration}",played:"Played",buffered:"Buffered",currentTime:"Current time",duration:"Duration",volume:"Volume",mute:"Mute",unmute:"Unmute",enableCaptions:"Enable captions",disableCaptions:"Disable captions",download:"Download",enterFullscreen:"Enter fullscreen",exitFullscreen:"Exit fullscreen",frameTitle:"Player for {title}",captions:"Captions",settings:"Settings",pip:"PIP",menuBack:"Go back to previous menu",speed:"Speed",normal:"Normal",quality:"Quality",loop:"Loop",start:"Start",end:"End",all:"All",reset:"Reset",disabled:"Disabled",enabled:"Enabled",advertisement:"Ad",qualityBadge:{2160:"4K",1440:"HD",1080:"HD",720:"HD",576:"SD",480:"SD"}},urls:{download:null,vimeo:{sdk:"https://player.vimeo.com/api/player.js",iframe:"https://player.vimeo.com/video/{0}?{1}",api:"https://vimeo.com/api/oembed.json?url={0}"},youtube:{sdk:"https://www.youtube.com/iframe_api",api:"https://noembed.com/embed?url=https://www.youtube.com/watch?v={0}"},googleIMA:{sdk:"https://imasdk.googleapis.com/js/sdkloader/ima3.js"}},listeners:{seek:null,play:null,pause:null,restart:null,rewind:null,fastForward:null,mute:null,volume:null,captions:null,download:null,fullscreen:null,pip:null,airplay:null,speed:null,quality:null,loop:null,language:null},events:["ended","progress","stalled","playing","waiting","canplay","canplaythrough","loadstart","loadeddata","loadedmetadata","timeupdate","volumechange","play","pause","error","seeking","seeked","emptied","ratechange","cuechange","download","enterfullscreen","exitfullscreen","captionsenabled","captionsdisabled","languagechange","controlshidden","controlsshown","ready","statechange","qualitychange","adsloaded","adscontentpause","adscontentresume","adstarted","adsmidpoint","adscomplete","adsallcomplete","adsimpression","adsclick"],selectors:{editable:"input, textarea, select, [contenteditable]",container:".plyr",controls:{container:null,wrapper:".plyr__controls"},labels:"[data-plyr]",buttons:{play:'[data-plyr="play"]',pause:'[data-plyr="pause"]',restart:'[data-plyr="restart"]',rewind:'[data-plyr="rewind"]',fastForward:'[data-plyr="fast-forward"]',mute:'[data-plyr="mute"]',captions:'[data-plyr="captions"]',download:'[data-plyr="download"]',fullscreen:'[data-plyr="fullscreen"]',pip:'[data-plyr="pip"]',airplay:'[data-plyr="airplay"]',settings:'[data-plyr="settings"]',loop:'[data-plyr="loop"]'},inputs:{seek:'[data-plyr="seek"]',volume:'[data-plyr="volume"]',speed:'[data-plyr="speed"]',language:'[data-plyr="language"]',quality:'[data-plyr="quality"]'},display:{currentTime:".plyr__time--current",duration:".plyr__time--duration",buffer:".plyr__progress__buffer",loop:".plyr__progress__loop",volume:".plyr__volume--display"},progress:".plyr__progress",captions:".plyr__captions",caption:".plyr__caption"},classNames:{type:"plyr--{0}",provider:"plyr--{0}",video:"plyr__video-wrapper",embed:"plyr__video-embed",videoFixedRatio:"plyr__video-wrapper--fixed-ratio",embedContainer:"plyr__video-embed__container",poster:"plyr__poster",posterEnabled:"plyr__poster-enabled",ads:"plyr__ads",control:"plyr__control",controlPressed:"plyr__control--pressed",playing:"plyr--playing",paused:"plyr--paused",stopped:"plyr--stopped",loading:"plyr--loading",hover:"plyr--hover",tooltip:"plyr__tooltip",cues:"plyr__cues",hidden:"plyr__sr-only",hideControls:"plyr--hide-controls",isIos:"plyr--is-ios",isTouch:"plyr--is-touch",uiSupported:"plyr--full-ui",noTransition:"plyr--no-transition",display:{time:"plyr__time"},menu:{value:"plyr__menu__value",badge:"plyr__badge",open:"plyr--menu-open"},captions:{enabled:"plyr--captions-enabled",active:"plyr--captions-active"},fullscreen:{enabled:"plyr--fullscreen-enabled",fallback:"plyr--fullscreen-fallback"},pip:{supported:"plyr--pip-supported",active:"plyr--pip-active"},airplay:{supported:"plyr--airplay-supported",active:"plyr--airplay-active"},tabFocus:"plyr__tab-focus",previewThumbnails:{thumbContainer:"plyr__preview-thumb",thumbContainerShown:"plyr__preview-thumb--is-shown",imageContainer:"plyr__preview-thumb__image-container",timeContainer:"plyr__preview-thumb__time-container",scrubbingContainer:"plyr__preview-scrubbing",scrubbingContainerShown:"plyr__preview-scrubbing--is-shown"}},attributes:{embed:{provider:"data-plyr-provider",id:"data-plyr-embed-id"}},ads:{enabled:!1,publisherId:"",tagUrl:""},previewThumbnails:{enabled:!1,src:""},vimeo:{byline:!1,portrait:!1,title:!1,speed:!0,transparent:!1,customControls:!0,referrerPolicy:null,premium:!1},youtube:{rel:0,showinfo:0,iv_load_policy:3,modestbranding:1,customControls:!0,noCookie:!1}},ct="picture-in-picture",ut="inline",dt={html5:"html5",youtube:"youtube",vimeo:"vimeo"},ht="audio",mt="video";var pt=function(){},ft=function(){function e(){var n=arguments.length>0&&void 0!==arguments[0]&&arguments[0];t(this,e),this.enabled=window.console&&n,this.enabled&&this.log("Debugging enabled")}return i(e,[{key:"log",get:function(){return this.enabled?Function.prototype.bind.call(console.log,console):pt}},{key:"warn",get:function(){return this.enabled?Function.prototype.bind.call(console.warn,console):pt}},{key:"error",get:function(){return this.enabled?Function.prototype.bind.call(console.error,console):pt}}]),e}(),gt=function(){function e(n){var i=this;t(this,e),a(this,"onChange",(function(){if(i.enabled){var e=i.player.elements.buttons.fullscreen;Z(e)&&(e.pressed=i.active);var t=i.target===i.player.media?i.target:i.player.elements.container;_e.call(i.player,t,i.active?"enterfullscreen":"exitfullscreen",!0)}})),a(this,"toggleFallback",(function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];if(e?i.scrollPosition={x:window.scrollX||0,y:window.scrollY||0}:window.scrollTo(i.scrollPosition.x,i.scrollPosition.y),document.body.style.overflow=e?"hidden":"",we(i.target,i.player.config.classNames.fullscreen.fallback,e),le.isIos){var t=document.head.querySelector('meta[name="viewport"]'),n="viewport-fit=cover";t||(t=document.createElement("meta")).setAttribute("name","viewport");var a=Q(t.content)&&t.content.includes(n);e?(i.cleanupViewport=!a,a||(t.content+=",".concat(n))):i.cleanupViewport&&(t.content=t.content.split(",").filter((function(e){return e.trim()!==n})).join(","))}i.onChange()})),a(this,"trapFocus",(function(e){if(!le.isIos&&i.active&&"Tab"===e.key&&9===e.keyCode){var t=document.activeElement,n=Ce.call(i.player,"a[href], button:not(:disabled), input:not(:disabled), [tabindex]"),a=l(n,1)[0],r=n[n.length-1];t!==r||e.shiftKey?t===a&&e.shiftKey&&(r.focus(),e.preventDefault()):(a.focus(),e.preventDefault())}})),a(this,"update",(function(){var t;i.enabled?(t=i.forceFallback?"Fallback (forced)":e.native?"Native":"Fallback",i.player.debug.log("".concat(t," fullscreen enabled"))):i.player.debug.log("Fullscreen not supported and fallback disabled");we(i.player.elements.container,i.player.config.classNames.fullscreen.enabled,i.enabled)})),a(this,"enter",(function(){i.enabled&&(le.isIos&&i.player.config.fullscreen.iosNative?i.player.isVimeo?i.player.embed.requestFullscreen():i.target.webkitEnterFullscreen():!e.native||i.forceFallback?i.toggleFallback(!0):i.prefix?re(i.prefix)||i.target["".concat(i.prefix,"Request").concat(i.property)]():i.target.requestFullscreen({navigationUI:"hide"}))})),a(this,"exit",(function(){if(i.enabled)if(le.isIos&&i.player.config.fullscreen.iosNative)i.target.webkitExitFullscreen(),qe(i.player.play());else if(!e.native||i.forceFallback)i.toggleFallback(!1);else if(i.prefix){if(!re(i.prefix)){var t="moz"===i.prefix?"Cancel":"Exit";document["".concat(i.prefix).concat(t).concat(i.property)]()}}else(document.cancelFullScreen||document.exitFullscreen).call(document)})),a(this,"toggle",(function(){i.active?i.exit():i.enter()})),this.player=n,this.prefix=e.prefix,this.property=e.property,this.scrollPosition={x:0,y:0},this.forceFallback="force"===n.config.fullscreen.fallback,this.player.elements.fullscreen=n.config.fullscreen.container&&function(e,t){return(Element.prototype.closest||function(){var e=this;do{if(Te.matches(e,t))return e;e=e.parentElement||e.parentNode}while(null!==e&&1===e.nodeType);return null}).call(e,t)}(this.player.elements.container,n.config.fullscreen.container),Ie.call(this.player,document,"ms"===this.prefix?"MSFullscreenChange":"".concat(this.prefix,"fullscreenchange"),(function(){i.onChange()})),Ie.call(this.player,this.player.elements.container,"dblclick",(function(e){Z(i.player.elements.controls)&&i.player.elements.controls.contains(e.target)||i.player.listeners.proxy(e,i.toggle,"fullscreen")})),Ie.call(this,this.player.elements.container,"keydown",(function(e){return i.trapFocus(e)})),this.update()}return i(e,[{key:"usingNative",get:function(){return e.native&&!this.forceFallback}},{key:"enabled",get:function(){return(e.native||this.player.config.fullscreen.fallback)&&this.player.config.fullscreen.enabled&&this.player.supported.ui&&this.player.isVideo}},{key:"active",get:function(){if(!this.enabled)return!1;if(!e.native||this.forceFallback)return ke(this.target,this.player.config.classNames.fullscreen.fallback);var t=this.prefix?document["".concat(this.prefix).concat(this.property,"Element")]:document.fullscreenElement;return t&&t.shadowRoot?t===this.target.getRootNode().host:t===this.target}},{key:"target",get:function(){return le.isIos&&this.player.config.fullscreen.iosNative?this.player.media:this.player.elements.fullscreen||this.player.elements.container}}],[{key:"native",get:function(){return!!(document.fullscreenEnabled||document.webkitFullscreenEnabled||document.mozFullScreenEnabled||document.msFullscreenEnabled)}},{key:"prefix",get:function(){if($(document.exitFullscreen))return"";var e="";return["webkit","moz","ms"].some((function(t){return!(!$(document["".concat(t,"ExitFullscreen")])&&!$(document["".concat(t,"CancelFullScreen")]))&&(e=t,!0)})),e}},{key:"property",get:function(){return"moz"===this.prefix?"FullScreen":"Fullscreen"}}]),e}();function yt(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1;return new Promise((function(n,i){var a=new Image,r=function(){delete a.onload,delete a.onerror,(a.naturalWidth>=t?n:i)(a)};Object.assign(a,{onload:r,onerror:r,src:e})}))}var bt={addStyleHook:function(){we(this.elements.container,this.config.selectors.container.replace(".",""),!0),we(this.elements.container,this.config.classNames.uiSupported,this.supported.ui)},toggleNativeControls:function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];e&&this.isHTML5?this.media.setAttribute("controls",""):this.media.removeAttribute("controls")},build:function(){var e=this;if(this.listeners.media(),!this.supported.ui)return this.debug.warn("Basic support only for ".concat(this.provider," ").concat(this.type)),void bt.toggleNativeControls.call(this,!0);Z(this.elements.controls)||(at.inject.call(this),this.listeners.controls()),bt.toggleNativeControls.call(this),this.isHTML5&&st.setup.call(this),this.volume=null,this.muted=null,this.loop=null,this.quality=null,this.speed=null,at.updateVolume.call(this),at.timeUpdate.call(this),bt.checkPlaying.call(this),we(this.elements.container,this.config.classNames.pip.supported,Ne.pip&&this.isHTML5&&this.isVideo),we(this.elements.container,this.config.classNames.airplay.supported,Ne.airplay&&this.isHTML5),we(this.elements.container,this.config.classNames.isIos,le.isIos),we(this.elements.container,this.config.classNames.isTouch,this.touch),this.ready=!0,setTimeout((function(){_e.call(e,e.media,"ready")}),0),bt.setTitle.call(this),this.poster&&bt.setPoster.call(this,this.poster,!1).catch((function(){})),this.config.duration&&at.durationUpdate.call(this)},setTitle:function(){var e=$e("play",this.config);if(Q(this.config.title)&&!re(this.config.title)&&(e+=", ".concat(this.config.title)),Array.from(this.elements.buttons.play||[]).forEach((function(t){t.setAttribute("aria-label",e)})),this.isEmbed){var t=Ae.call(this,"iframe");if(!Z(t))return;var n=re(this.config.title)?"video":this.config.title,i=$e("frameTitle",this.config);t.setAttribute("title",i.replace("{title}",n))}},togglePoster:function(e){we(this.elements.container,this.config.classNames.posterEnabled,e)},setPoster:function(e){var t=this,n=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];return n&&this.poster?Promise.reject(new Error("Poster already set")):(this.media.setAttribute("data-poster",e),this.elements.poster.removeAttribute("hidden"),De.call(this).then((function(){return yt(e)})).catch((function(n){throw e===t.poster&&bt.togglePoster.call(t,!1),n})).then((function(){if(e!==t.poster)throw new Error("setPoster cancelled by later call to setPoster")})).then((function(){return Object.assign(t.elements.poster.style,{backgroundImage:"url('".concat(e,"')"),backgroundSize:""}),bt.togglePoster.call(t,!0),e})))},checkPlaying:function(e){var t=this;we(this.elements.container,this.config.classNames.playing,this.playing),we(this.elements.container,this.config.classNames.paused,this.paused),we(this.elements.container,this.config.classNames.stopped,this.stopped),Array.from(this.elements.buttons.play||[]).forEach((function(e){Object.assign(e,{pressed:t.playing}),e.setAttribute("aria-label",$e(t.playing?"pause":"play",t.config))})),ee(e)&&"timeupdate"===e.type||bt.toggleControls.call(this)},checkLoading:function(e){var t=this;this.loading=["stalled","waiting"].includes(e.type),clearTimeout(this.timers.loading),this.timers.loading=setTimeout((function(){we(t.elements.container,t.config.classNames.loading,t.loading),bt.toggleControls.call(t)}),this.loading?250:0)},toggleControls:function(e){var t=this.elements.controls;if(t&&this.config.hideControls){var n=this.touch&&this.lastSeekTime+2e3>Date.now();this.toggleControls(Boolean(e||this.loading||this.paused||t.pressed||t.hover||n))}},migrateStyles:function(){var e=this;Object.values(o({},this.media.style)).filter((function(e){return!re(e)&&Q(e)&&e.startsWith("--plyr")})).forEach((function(t){e.elements.container.style.setProperty(t,e.media.style.getPropertyValue(t)),e.media.style.removeProperty(t)})),re(this.media.style)&&this.media.removeAttribute("style")}},vt=function(){function e(n){var i=this;t(this,e),a(this,"firstTouch",(function(){var e=i.player,t=e.elements;e.touch=!0,we(t.container,e.config.classNames.isTouch,!0)})),a(this,"setTabFocus",(function(e){var t=i.player,n=t.elements;if(clearTimeout(i.focusTimer),"keydown"!==e.type||9===e.which){"keydown"===e.type&&(i.lastKeyDown=e.timeStamp);var a,r=e.timeStamp-i.lastKeyDown<=20;if("focus"!==e.type||r)a=t.config.classNames.tabFocus,we(Ce.call(t,".".concat(a)),a,!1),"focusout"!==e.type&&(i.focusTimer=setTimeout((function(){var e=document.activeElement;n.container.contains(e)&&we(document.activeElement,t.config.classNames.tabFocus,!0)}),10))}})),a(this,"global",(function(){var e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0],t=i.player;t.config.keyboard.global&&xe.call(t,window,"keydown keyup",i.handleKey,e,!1),xe.call(t,document.body,"click",i.toggleMenu,e),Oe.call(t,document.body,"touchstart",i.firstTouch),xe.call(t,document.body,"keydown focus blur focusout",i.setTabFocus,e,!1,!0)})),a(this,"container",(function(){var e=i.player,t=e.config,n=e.elements,a=e.timers;!t.keyboard.global&&t.keyboard.focused&&Ie.call(e,n.container,"keydown keyup",i.handleKey,!1),Ie.call(e,n.container,"mousemove mouseleave touchstart touchmove enterfullscreen exitfullscreen",(function(t){var i=n.controls;i&&"enterfullscreen"===t.type&&(i.pressed=!1,i.hover=!1);var r=0;["touchstart","touchmove","mousemove"].includes(t.type)&&(bt.toggleControls.call(e,!0),r=e.touch?3e3:2e3),clearTimeout(a.controls),a.controls=setTimeout((function(){return bt.toggleControls.call(e,!1)}),r)}));var r=function(t){if(!t)return Ve.call(e);var i=n.container.getBoundingClientRect(),a=i.width,r=i.height;return Ve.call(e,"".concat(a,":").concat(r))},o=function(){clearTimeout(a.resized),a.resized=setTimeout(r,50)};Ie.call(e,n.container,"enterfullscreen exitfullscreen",(function(t){var i=e.fullscreen,a=i.target,s=i.usingNative;if(a===n.container&&(e.isEmbed||!re(e.config.ratio))){var c="enterfullscreen"===t.type,u=r(c);u.padding;!function(t,n,i){if(e.isVimeo&&!e.config.vimeo.premium){var a=e.elements.wrapper.firstChild,r=l(t,2)[1],o=l(Re.call(e),2),s=o[0],c=o[1];a.style.maxWidth=i?"".concat(r/c*s,"px"):null,a.style.margin=i?"0 auto":null}}(u.ratio,0,c),c&&setTimeout((function(){return se(n.container)}),100),s||(c?Ie.call(e,window,"resize",o):Le.call(e,window,"resize",o))}}))})),a(this,"media",(function(){var e=i.player,t=e.elements;if(Ie.call(e,e.media,"timeupdate seeking seeked",(function(t){return at.timeUpdate.call(e,t)})),Ie.call(e,e.media,"durationchange loadeddata loadedmetadata",(function(t){return at.durationUpdate.call(e,t)})),Ie.call(e,e.media,"ended",(function(){e.isHTML5&&e.isVideo&&e.config.resetOnEnd&&(e.restart(),e.pause())})),Ie.call(e,e.media,"progress playing seeking seeked",(function(t){return at.updateProgress.call(e,t)})),Ie.call(e,e.media,"volumechange",(function(t){return at.updateVolume.call(e,t)})),Ie.call(e,e.media,"playing play pause ended emptied timeupdate",(function(t){return bt.checkPlaying.call(e,t)})),Ie.call(e,e.media,"waiting canplay seeked playing",(function(t){return bt.checkLoading.call(e,t)})),e.supported.ui&&e.config.clickToPlay&&!e.isAudio){var n=Ae.call(e,".".concat(e.config.classNames.video));if(!Z(n))return;Ie.call(e,t.container,"click",(function(a){([t.container,n].includes(a.target)||n.contains(a.target))&&(e.touch&&e.config.hideControls||(e.ended?(i.proxy(a,e.restart,"restart"),i.proxy(a,(function(){qe(e.play())}),"play")):i.proxy(a,(function(){qe(e.togglePlay())}),"play")))}))}e.supported.ui&&e.config.disableContextMenu&&Ie.call(e,t.wrapper,"contextmenu",(function(e){e.preventDefault()}),!1),Ie.call(e,e.media,"volumechange",(function(){e.storage.set({volume:e.volume,muted:e.muted})})),Ie.call(e,e.media,"ratechange",(function(){at.updateSetting.call(e,"speed"),e.storage.set({speed:e.speed})})),Ie.call(e,e.media,"qualitychange",(function(t){at.updateSetting.call(e,"quality",null,t.detail.quality)})),Ie.call(e,e.media,"ready qualitychange",(function(){at.setDownloadUrl.call(e)}));var a=e.config.events.concat(["keyup","keydown"]).join(" ");Ie.call(e,e.media,a,(function(n){var i=n.detail,a=void 0===i?{}:i;"error"===n.type&&(a=e.media.error),_e.call(e,t.container,n.type,!0,a)}))})),a(this,"proxy",(function(e,t,n){var a=i.player,r=a.config.listeners[n],o=!0;$(r)&&(o=r.call(a,e)),!1!==o&&$(t)&&t.call(a,e)})),a(this,"bind",(function(e,t,n,a){var r=!(arguments.length>4&&void 0!==arguments[4])||arguments[4],o=i.player,s=o.config.listeners[a],l=$(s);Ie.call(o,e,t,(function(e){return i.proxy(e,n,a)}),r&&!l)})),a(this,"controls",(function(){var e=i.player,t=e.elements,n=le.isIE?"change":"input";if(t.buttons.play&&Array.from(t.buttons.play).forEach((function(t){i.bind(t,"click",(function(){qe(e.togglePlay())}),"play")})),i.bind(t.buttons.restart,"click",e.restart,"restart"),i.bind(t.buttons.rewind,"click",(function(){e.lastSeekTime=Date.now(),e.rewind()}),"rewind"),i.bind(t.buttons.fastForward,"click",(function(){e.lastSeekTime=Date.now(),e.forward()}),"fastForward"),i.bind(t.buttons.mute,"click",(function(){e.muted=!e.muted}),"mute"),i.bind(t.buttons.captions,"click",(function(){return e.toggleCaptions()})),i.bind(t.buttons.download,"click",(function(){_e.call(e,e.media,"download")}),"download"),i.bind(t.buttons.fullscreen,"click",(function(){e.fullscreen.toggle()}),"fullscreen"),i.bind(t.buttons.pip,"click",(function(){e.pip="toggle"}),"pip"),i.bind(t.buttons.airplay,"click",e.airplay,"airplay"),i.bind(t.buttons.settings,"click",(function(t){t.stopPropagation(),t.preventDefault(),at.toggleMenu.call(e,t)}),null,!1),i.bind(t.buttons.settings,"keyup",(function(t){var n=t.which;[13,32].includes(n)&&(13!==n?(t.preventDefault(),t.stopPropagation(),at.toggleMenu.call(e,t)):at.focusFirstMenuItem.call(e,null,!0))}),null,!1),i.bind(t.settings.menu,"keydown",(function(t){27===t.which&&at.toggleMenu.call(e,t)})),i.bind(t.inputs.seek,"mousedown mousemove",(function(e){var n=t.progress.getBoundingClientRect(),i=100/n.width*(e.pageX-n.left);e.currentTarget.setAttribute("seek-value",i)})),i.bind(t.inputs.seek,"mousedown mouseup keydown keyup touchstart touchend",(function(t){var n=t.currentTarget,i=t.keyCode?t.keyCode:t.which,a="play-on-seeked";if(!te(t)||39===i||37===i){e.lastSeekTime=Date.now();var r=n.hasAttribute(a),o=["mouseup","touchend","keyup"].includes(t.type);r&&o?(n.removeAttribute(a),qe(e.play())):!o&&e.playing&&(n.setAttribute(a,""),e.pause())}})),le.isIos){var a=Ce.call(e,'input[type="range"]');Array.from(a).forEach((function(e){return i.bind(e,n,(function(e){return se(e.target)}))}))}i.bind(t.inputs.seek,n,(function(t){var n=t.currentTarget,i=n.getAttribute("seek-value");re(i)&&(i=n.value),n.removeAttribute("seek-value"),e.currentTime=i/n.max*e.duration}),"seek"),i.bind(t.progress,"mouseenter mouseleave mousemove",(function(t){return at.updateSeekTooltip.call(e,t)})),i.bind(t.progress,"mousemove touchmove",(function(t){var n=e.previewThumbnails;n&&n.loaded&&n.startMove(t)})),i.bind(t.progress,"mouseleave touchend click",(function(){var t=e.previewThumbnails;t&&t.loaded&&t.endMove(!1,!0)})),i.bind(t.progress,"mousedown touchstart",(function(t){var n=e.previewThumbnails;n&&n.loaded&&n.startScrubbing(t)})),i.bind(t.progress,"mouseup touchend",(function(t){var n=e.previewThumbnails;n&&n.loaded&&n.endScrubbing(t)})),le.isWebkit&&Array.from(Ce.call(e,'input[type="range"]')).forEach((function(t){i.bind(t,"input",(function(t){return at.updateRangeFill.call(e,t.target)}))})),e.config.toggleInvert&&!Z(t.display.duration)&&i.bind(t.display.currentTime,"click",(function(){0!==e.currentTime&&(e.config.invertTime=!e.config.invertTime,at.timeUpdate.call(e))})),i.bind(t.inputs.volume,n,(function(t){e.volume=t.target.value}),"volume"),i.bind(t.controls,"mouseenter mouseleave",(function(n){t.controls.hover=!e.touch&&"mouseenter"===n.type})),t.fullscreen&&Array.from(t.fullscreen.children).filter((function(e){return!e.contains(t.container)})).forEach((function(n){i.bind(n,"mouseenter mouseleave",(function(n){t.controls.hover=!e.touch&&"mouseenter"===n.type}))})),i.bind(t.controls,"mousedown mouseup touchstart touchend touchcancel",(function(e){t.controls.pressed=["mousedown","touchstart"].includes(e.type)})),i.bind(t.controls,"focusin",(function(){var n=e.config,a=e.timers;we(t.controls,n.classNames.noTransition,!0),bt.toggleControls.call(e,!0),setTimeout((function(){we(t.controls,n.classNames.noTransition,!1)}),0);var r=i.touch?3e3:4e3;clearTimeout(a.controls),a.controls=setTimeout((function(){return bt.toggleControls.call(e,!1)}),r)})),i.bind(t.inputs.volume,"wheel",(function(t){var n=t.webkitDirectionInvertedFromDevice,i=l([t.deltaX,-t.deltaY].map((function(e){return n?-e:e})),2),a=i[0],r=i[1],o=Math.sign(Math.abs(a)>Math.abs(r)?a:r);e.increaseVolume(o/50);var s=e.media.volume;(1===o&&s<1||-1===o&&s>0)&&t.preventDefault()}),"volume",!1)})),this.player=n,this.lastKey=null,this.focusTimer=null,this.lastKeyDown=null,this.handleKey=this.handleKey.bind(this),this.toggleMenu=this.toggleMenu.bind(this),this.setTabFocus=this.setTabFocus.bind(this),this.firstTouch=this.firstTouch.bind(this)}return i(e,[{key:"handleKey",value:function(e){var t=this.player,n=t.elements,i=e.keyCode?e.keyCode:e.which,a="keydown"===e.type,r=a&&i===this.lastKey;if(!(e.altKey||e.ctrlKey||e.metaKey||e.shiftKey)&&Y(i)){if(a){var o=document.activeElement;if(Z(o)){var s=t.config.selectors.editable;if(o!==n.inputs.seek&&Te(o,s))return;if(32===e.which&&Te(o,'button, [role^="menuitem"]'))return}switch([32,37,38,39,40,48,49,50,51,52,53,54,56,57,67,70,73,75,76,77,79].includes(i)&&(e.preventDefault(),e.stopPropagation()),i){case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:r||(t.currentTime=t.duration/10*(i-48));break;case 32:case 75:r||qe(t.togglePlay());break;case 38:t.increaseVolume(.1);break;case 40:t.decreaseVolume(.1);break;case 77:r||(t.muted=!t.muted);break;case 39:t.forward();break;case 37:t.rewind();break;case 70:t.fullscreen.toggle();break;case 67:r||t.toggleCaptions();break;case 76:t.loop=!t.loop}27===i&&!t.fullscreen.usingNative&&t.fullscreen.active&&t.fullscreen.toggle(),this.lastKey=i}else this.lastKey=null}}},{key:"toggleMenu",value:function(e){at.toggleMenu.call(this.player,e)}}]),e}();"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self&&self;var wt=function(e,t){return e(t={exports:{}},t.exports),t.exports}((function(e,t){e.exports=function(){var e=function(){},t={},n={},i={};function a(e,t){e=e.push?e:[e];var a,r,o,s=[],l=e.length,c=l;for(a=function(e,n){n.length&&s.push(e),--c||t(s)};l--;)r=e[l],(o=n[r])?a(r,o):(i[r]=i[r]||[]).push(a)}function r(e,t){if(e){var a=i[e];if(n[e]=t,a)for(;a.length;)a[0](e,t),a.splice(0,1)}}function o(t,n){t.call&&(t={success:t}),n.length?(t.error||e)(n):(t.success||e)(t)}function s(t,n,i,a){var r,o,l=document,c=i.async,u=(i.numRetries||0)+1,d=i.before||e,h=t.replace(/[\?|#].*$/,""),m=t.replace(/^(css|img)!/,"");a=a||0,/(^css!|\.css$)/.test(h)?((o=l.createElement("link")).rel="stylesheet",o.href=m,(r="hideFocus"in o)&&o.relList&&(r=0,o.rel="preload",o.as="style")):/(^img!|\.(png|gif|jpg|svg|webp)$)/.test(h)?(o=l.createElement("img")).src=m:((o=l.createElement("script")).src=t,o.async=void 0===c||c),o.onload=o.onerror=o.onbeforeload=function(e){var l=e.type[0];if(r)try{o.sheet.cssText.length||(l="e")}catch(e){18!=e.code&&(l="e")}if("e"==l){if((a+=1)0&&void 0!==arguments[0]&&arguments[0];if(!e)return clearInterval(i.countdownTimer),void i.elements.container.removeAttribute("data-badge-text");var t=function(){var e=it(Math.max(i.manager.getRemainingTime(),0)),t="".concat($e("advertisement",i.player.config)," - ").concat(e);i.elements.container.setAttribute("data-badge-text",t)};i.countdownTimer=setInterval(t,100)})),a(this,"onAdsManagerLoaded",(function(e){if(i.enabled){var t=new google.ima.AdsRenderingSettings;t.restoreCustomPlaybackStateOnAdBreakComplete=!0,t.enablePreloading=!0,i.manager=e.getAdsManager(i.player,t),i.cuePoints=i.manager.getCuePoints(),i.manager.addEventListener(google.ima.AdErrorEvent.Type.AD_ERROR,(function(e){return i.onAdError(e)})),Object.keys(google.ima.AdEvent.Type).forEach((function(e){i.manager.addEventListener(google.ima.AdEvent.Type[e],(function(e){return i.onAdEvent(e)}))})),i.trigger("loaded")}})),a(this,"addCuePoints",(function(){re(i.cuePoints)||i.cuePoints.forEach((function(e){if(0!==e&&-1!==e&&e1?t-1:0),a=1;at.width/t.height?(n.width=t.width,n.height=1/e*t.width):(n.height=t.height,n.width=e*t.height),n},xt=function(){function e(n){var i=this;t(this,e),a(this,"load",(function(){i.player.elements.display.seekTooltip&&(i.player.elements.display.seekTooltip.hidden=i.enabled),i.enabled&&i.getThumbnails().then((function(){i.enabled&&(i.render(),i.determineContainerAutoSizing(),i.loaded=!0)}))})),a(this,"getThumbnails",(function(){return new Promise((function(e){var t=i.player.config.previewThumbnails.src;if(re(t))throw new Error("Missing previewThumbnails.src config attribute");var n=function(){i.thumbnails.sort((function(e,t){return e.height-t.height})),i.player.debug.log("Preview thumbnails",i.thumbnails),e()};if($(t))t((function(e){i.thumbnails=e,n()}));else{var a=(Q(t)?[t]:t).map((function(e){return i.getThumbnail(e)}));Promise.all(a).then(n)}}))})),a(this,"getThumbnail",(function(e){return new Promise((function(t){Ge(e).then((function(n){var a,r,o={frames:(a=n,r=[],a.split(/\r\n\r\n|\n\n|\r\r/).forEach((function(e){var t={};e.split(/\r\n|\n|\r/).forEach((function(e){if(Y(t.startTime)){if(!re(e.trim())&&re(t.text)){var n=e.trim().split("#xywh="),i=l(n,1);if(t.text=i[0],n[1]){var a=l(n[1].split(","),4);t.x=a[0],t.y=a[1],t.w=a[2],t.h=a[3]}}}else{var r=e.match(/([0-9]{2})?:?([0-9]{2}):([0-9]{2}).([0-9]{2,3})( ?--> ?)([0-9]{2})?:?([0-9]{2}):([0-9]{2}).([0-9]{2,3})/);r&&(t.startTime=60*Number(r[1]||0)*60+60*Number(r[2])+Number(r[3])+Number("0.".concat(r[4])),t.endTime=60*Number(r[6]||0)*60+60*Number(r[7])+Number(r[8])+Number("0.".concat(r[9])))}})),t.text&&r.push(t)})),r),height:null,urlPrefix:""};o.frames[0].text.startsWith("/")||o.frames[0].text.startsWith("http://")||o.frames[0].text.startsWith("https://")||(o.urlPrefix=e.substring(0,e.lastIndexOf("/")+1));var s=new Image;s.onload=function(){o.height=s.naturalHeight,o.width=s.naturalWidth,i.thumbnails.push(o),t()},s.src=o.urlPrefix+o.frames[0].text}))}))})),a(this,"startMove",(function(e){if(i.loaded&&ee(e)&&["touchmove","mousemove"].includes(e.type)&&i.player.media.duration){if("touchmove"===e.type)i.seekTime=i.player.media.duration*(i.player.elements.inputs.seek.value/100);else{var t=i.player.elements.progress.getBoundingClientRect(),n=100/t.width*(e.pageX-t.left);i.seekTime=i.player.media.duration*(n/100),i.seekTime<0&&(i.seekTime=0),i.seekTime>i.player.media.duration-1&&(i.seekTime=i.player.media.duration-1),i.mousePosX=e.pageX,i.elements.thumb.time.innerText=it(i.seekTime)}i.showImageAtCurrentTime()}})),a(this,"endMove",(function(){i.toggleThumbContainer(!1,!0)})),a(this,"startScrubbing",(function(e){(z(e.button)||!1===e.button||0===e.button)&&(i.mouseDown=!0,i.player.media.duration&&(i.toggleScrubbingContainer(!0),i.toggleThumbContainer(!1,!0),i.showImageAtCurrentTime()))})),a(this,"endScrubbing",(function(){i.mouseDown=!1,Math.ceil(i.lastTime)===Math.ceil(i.player.media.currentTime)?i.toggleScrubbingContainer(!1):Oe.call(i.player,i.player.media,"timeupdate",(function(){i.mouseDown||i.toggleScrubbingContainer(!1)}))})),a(this,"listeners",(function(){i.player.on("play",(function(){i.toggleThumbContainer(!1,!0)})),i.player.on("seeked",(function(){i.toggleThumbContainer(!1)})),i.player.on("timeupdate",(function(){i.lastTime=i.player.media.currentTime}))})),a(this,"render",(function(){i.elements.thumb.container=me("div",{class:i.player.config.classNames.previewThumbnails.thumbContainer}),i.elements.thumb.imageContainer=me("div",{class:i.player.config.classNames.previewThumbnails.imageContainer}),i.elements.thumb.container.appendChild(i.elements.thumb.imageContainer);var e=me("div",{class:i.player.config.classNames.previewThumbnails.timeContainer});i.elements.thumb.time=me("span",{},"00:00"),e.appendChild(i.elements.thumb.time),i.elements.thumb.container.appendChild(e),Z(i.player.elements.progress)&&i.player.elements.progress.appendChild(i.elements.thumb.container),i.elements.scrubbing.container=me("div",{class:i.player.config.classNames.previewThumbnails.scrubbingContainer}),i.player.elements.wrapper.appendChild(i.elements.scrubbing.container)})),a(this,"destroy",(function(){i.elements.thumb.container&&i.elements.thumb.container.remove(),i.elements.scrubbing.container&&i.elements.scrubbing.container.remove()})),a(this,"showImageAtCurrentTime",(function(){i.mouseDown?i.setScrubbingContainerSize():i.setThumbContainerSizeAndPos();var e=i.thumbnails[0].frames.findIndex((function(e){return i.seekTime>=e.startTime&&i.seekTime<=e.endTime})),t=e>=0,n=0;i.mouseDown||i.toggleThumbContainer(t),t&&(i.thumbnails.forEach((function(t,a){i.loadedImages.includes(t.frames[e].text)&&(n=a)})),e!==i.showingThumb&&(i.showingThumb=e,i.loadImage(n)))})),a(this,"loadImage",(function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,t=i.showingThumb,n=i.thumbnails[e],a=n.urlPrefix,r=n.frames[t],o=n.frames[t].text,s=a+o;if(i.currentImageElement&&i.currentImageElement.dataset.filename===o)i.showImage(i.currentImageElement,r,e,t,o,!1),i.currentImageElement.dataset.index=t,i.removeOldImages(i.currentImageElement);else{i.loadingImage&&i.usingSprites&&(i.loadingImage.onload=null);var l=new Image;l.src=s,l.dataset.index=t,l.dataset.filename=o,i.showingThumbFilename=o,i.player.debug.log("Loading image: ".concat(s)),l.onload=function(){return i.showImage(l,r,e,t,o,!0)},i.loadingImage=l,i.removeOldImages(l)}})),a(this,"showImage",(function(e,t,n,a,r){var o=!(arguments.length>5&&void 0!==arguments[5])||arguments[5];i.player.debug.log("Showing thumb: ".concat(r,". num: ").concat(a,". qual: ").concat(n,". newimg: ").concat(o)),i.setImageSizeAndOffset(e,t),o&&(i.currentImageContainer.appendChild(e),i.currentImageElement=e,i.loadedImages.includes(r)||i.loadedImages.push(r)),i.preloadNearby(a,!0).then(i.preloadNearby(a,!1)).then(i.getHigherQuality(n,e,t,r))})),a(this,"removeOldImages",(function(e){Array.from(i.currentImageContainer.children).forEach((function(t){if("img"===t.tagName.toLowerCase()){var n=i.usingSprites?500:1e3;if(t.dataset.index!==e.dataset.index&&!t.dataset.deleting){t.dataset.deleting=!0;var a=i.currentImageContainer;setTimeout((function(){a.removeChild(t),i.player.debug.log("Removing thumb: ".concat(t.dataset.filename))}),n)}}}))})),a(this,"preloadNearby",(function(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];return new Promise((function(n){setTimeout((function(){var a=i.thumbnails[0].frames[e].text;if(i.showingThumbFilename===a){var r;r=t?i.thumbnails[0].frames.slice(e):i.thumbnails[0].frames.slice(0,e).reverse();var o=!1;r.forEach((function(e){var t=e.text;if(t!==a&&!i.loadedImages.includes(t)){o=!0,i.player.debug.log("Preloading thumb filename: ".concat(t));var r=i.thumbnails[0].urlPrefix+t,s=new Image;s.src=r,s.onload=function(){i.player.debug.log("Preloaded thumb filename: ".concat(t)),i.loadedImages.includes(t)||i.loadedImages.push(t),n()}}})),o||n()}}),300)}))})),a(this,"getHigherQuality",(function(e,t,n,a){if(e0&&void 0!==arguments[0]&&arguments[0],t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=i.player.config.classNames.previewThumbnails.thumbContainerShown;i.elements.thumb.container.classList.toggle(n,e),!e&&t&&(i.showingThumb=null,i.showingThumbFilename=null)})),a(this,"toggleScrubbingContainer",(function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],t=i.player.config.classNames.previewThumbnails.scrubbingContainerShown;i.elements.scrubbing.container.classList.toggle(t,e),e||(i.showingThumb=null,i.showingThumbFilename=null)})),a(this,"determineContainerAutoSizing",(function(){(i.elements.thumb.imageContainer.clientHeight>20||i.elements.thumb.imageContainer.clientWidth>20)&&(i.sizeSpecifiedInCSS=!0)})),a(this,"setThumbContainerSizeAndPos",(function(){if(i.sizeSpecifiedInCSS){if(i.elements.thumb.imageContainer.clientHeight>20&&i.elements.thumb.imageContainer.clientWidth<20){var e=Math.floor(i.elements.thumb.imageContainer.clientHeight*i.thumbAspectRatio);i.elements.thumb.imageContainer.style.width="".concat(e,"px")}else if(i.elements.thumb.imageContainer.clientHeight<20&&i.elements.thumb.imageContainer.clientWidth>20){var t=Math.floor(i.elements.thumb.imageContainer.clientWidth/i.thumbAspectRatio);i.elements.thumb.imageContainer.style.height="".concat(t,"px")}}else{var n=Math.floor(i.thumbContainerHeight*i.thumbAspectRatio);i.elements.thumb.imageContainer.style.height="".concat(i.thumbContainerHeight,"px"),i.elements.thumb.imageContainer.style.width="".concat(n,"px")}i.setThumbContainerPos()})),a(this,"setThumbContainerPos",(function(){var e=i.player.elements.progress.getBoundingClientRect(),t=i.player.elements.container.getBoundingClientRect(),n=i.elements.thumb.container,a=t.left-e.left+10,r=t.right-e.left-n.clientWidth-10,o=i.mousePosX-e.left-n.clientWidth/2;or&&(o=r),n.style.left="".concat(o,"px")})),a(this,"setScrubbingContainerSize",(function(){var e=Mt(i.thumbAspectRatio,{width:i.player.media.clientWidth,height:i.player.media.clientHeight}),t=e.width,n=e.height;i.elements.scrubbing.container.style.width="".concat(t,"px"),i.elements.scrubbing.container.style.height="".concat(n,"px")})),a(this,"setImageSizeAndOffset",(function(e,t){if(i.usingSprites){var n=i.thumbContainerHeight/t.h;e.style.height="".concat(e.naturalHeight*n,"px"),e.style.width="".concat(e.naturalWidth*n,"px"),e.style.left="-".concat(t.x*n,"px"),e.style.top="-".concat(t.y*n,"px")}})),this.player=n,this.thumbnails=[],this.loaded=!1,this.lastMouseMoveTime=Date.now(),this.mouseDown=!1,this.loadedImages=[],this.elements={thumb:{},scrubbing:{}},this.load()}return i(e,[{key:"enabled",get:function(){return this.player.isHTML5&&this.player.isVideo&&this.player.config.previewThumbnails.enabled}},{key:"currentImageContainer",get:function(){return this.mouseDown?this.elements.scrubbing.container:this.elements.thumb.imageContainer}},{key:"usingSprites",get:function(){return Object.keys(this.thumbnails[0].frames[0]).includes("w")}},{key:"thumbAspectRatio",get:function(){return this.usingSprites?this.thumbnails[0].frames[0].w/this.thumbnails[0].frames[0].h:this.thumbnails[0].width/this.thumbnails[0].height}},{key:"thumbContainerHeight",get:function(){return this.mouseDown?Mt(this.thumbAspectRatio,{width:this.player.media.clientWidth,height:this.player.media.clientHeight}).height:this.sizeSpecifiedInCSS?this.elements.thumb.imageContainer.clientHeight:Math.floor(this.player.media.clientWidth/this.thumbAspectRatio/4)}},{key:"currentImageElement",get:function(){return this.mouseDown?this.currentScrubbingImageElement:this.currentThumbnailImageElement},set:function(e){this.mouseDown?this.currentScrubbingImageElement=e:this.currentThumbnailImageElement=e}}]),e}(),It={insertElements:function(e,t){var n=this;Q(t)?pe(e,this.media,{src:t}):J(t)&&t.forEach((function(t){pe(e,n.media,t)}))},change:function(e){var t=this;ce(e,"sources.length")?(Be.cancelRequests.call(this),this.destroy.call(this,(function(){t.options.quality=[],fe(t.media),t.media=null,Z(t.elements.container)&&t.elements.container.removeAttribute("class");var n=e.sources,i=e.type,a=l(n,1)[0],r=a.provider,o=void 0===r?dt.html5:r,s=a.src,c="html5"===o?i:"div",u="html5"===o?{}:{src:s};Object.assign(t,{provider:o,type:i,supported:Ne.check(i,o,t.config.playsinline),media:me(c,u)}),t.elements.container.appendChild(t.media),X(e.autoplay)&&(t.config.autoplay=e.autoplay),t.isHTML5&&(t.config.crossorigin&&t.media.setAttribute("crossorigin",""),t.config.autoplay&&t.media.setAttribute("autoplay",""),re(e.poster)||(t.poster=e.poster),t.config.loop.active&&t.media.setAttribute("loop",""),t.config.muted&&t.media.setAttribute("muted",""),t.config.playsinline&&t.media.setAttribute("playsinline","")),bt.addStyleHook.call(t),t.isHTML5&&It.insertElements.call(t,"source",n),t.config.title=e.title,Et.setup.call(t),t.isHTML5&&Object.keys(e).includes("tracks")&&It.insertElements.call(t,"track",e.tracks),(t.isHTML5||t.isEmbed&&!t.supported.ui)&&bt.build.call(t),t.isHTML5&&t.media.load(),re(e.previewThumbnails)||(Object.assign(t.config.previewThumbnails,e.previewThumbnails),t.previewThumbnails&&t.previewThumbnails.loaded&&(t.previewThumbnails.destroy(),t.previewThumbnails=null),t.config.previewThumbnails.enabled&&(t.previewThumbnails=new xt(t))),t.fullscreen.update()}),!0)):this.debug.warn("Invalid source format")}};var Lt,Ot=function(){function e(n,i){var r=this;if(t(this,e),a(this,"play",(function(){return $(r.media.play)?(r.ads&&r.ads.enabled&&r.ads.managerPromise.then((function(){return r.ads.play()})).catch((function(){return qe(r.media.play())})),r.media.play()):null})),a(this,"pause",(function(){return r.playing&&$(r.media.pause)?r.media.pause():null})),a(this,"togglePlay",(function(e){return(X(e)?e:!r.playing)?r.play():r.pause()})),a(this,"stop",(function(){r.isHTML5?(r.pause(),r.restart()):$(r.media.stop)&&r.media.stop()})),a(this,"restart",(function(){r.currentTime=0})),a(this,"rewind",(function(e){r.currentTime-=Y(e)?e:r.config.seekTime})),a(this,"forward",(function(e){r.currentTime+=Y(e)?e:r.config.seekTime})),a(this,"increaseVolume",(function(e){var t=r.media.muted?0:r.volume;r.volume=t+(Y(e)?e:0)})),a(this,"decreaseVolume",(function(e){r.increaseVolume(-e)})),a(this,"airplay",(function(){Ne.airplay&&r.media.webkitShowPlaybackTargetPicker()})),a(this,"toggleControls",(function(e){if(r.supported.ui&&!r.isAudio){var t=ke(r.elements.container,r.config.classNames.hideControls),n=void 0===e?void 0:!e,i=we(r.elements.container,r.config.classNames.hideControls,n);if(i&&J(r.config.controls)&&r.config.controls.includes("settings")&&!re(r.config.settings)&&at.toggleMenu.call(r,!1),i!==t){var a=i?"controlshidden":"controlsshown";_e.call(r,r.media,a)}return!i}return!1})),a(this,"on",(function(e,t){Ie.call(r,r.elements.container,e,t)})),a(this,"once",(function(e,t){Oe.call(r,r.elements.container,e,t)})),a(this,"off",(function(e,t){Le(r.elements.container,e,t)})),a(this,"destroy",(function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(r.ready){var n=function(){document.body.style.overflow="",r.embed=null,t?(Object.keys(r.elements).length&&(fe(r.elements.buttons.play),fe(r.elements.captions),fe(r.elements.controls),fe(r.elements.wrapper),r.elements.buttons.play=null,r.elements.captions=null,r.elements.controls=null,r.elements.wrapper=null),$(e)&&e()):(je.call(r),Be.cancelRequests.call(r),ye(r.elements.original,r.elements.container),_e.call(r,r.elements.original,"destroyed",!0),$(e)&&e.call(r.elements.original),r.ready=!1,setTimeout((function(){r.elements=null,r.media=null}),200))};r.stop(),clearTimeout(r.timers.loading),clearTimeout(r.timers.controls),clearTimeout(r.timers.resized),r.isHTML5?(bt.toggleNativeControls.call(r,!0),n()):r.isYouTube?(clearInterval(r.timers.buffering),clearInterval(r.timers.playing),null!==r.embed&&$(r.embed.destroy)&&r.embed.destroy(),n()):r.isVimeo&&(null!==r.embed&&r.embed.unload().then(n),setTimeout(n,200))}})),a(this,"supports",(function(e){return Ne.mime.call(r,e)})),this.timers={},this.ready=!1,this.loading=!1,this.failed=!1,this.touch=Ne.touch,this.media=n,Q(this.media)&&(this.media=document.querySelectorAll(this.media)),(window.jQuery&&this.media instanceof jQuery||G(this.media)||J(this.media))&&(this.media=this.media[0]),this.config=ue({},lt,e.defaults,i||{},function(){try{return JSON.parse(r.media.getAttribute("data-plyr-config"))}catch(e){return{}}}()),this.elements={container:null,fullscreen:null,captions:null,buttons:{},display:{},progress:{},inputs:{},settings:{popup:null,menu:null,panels:{},buttons:{}}},this.captions={active:null,currentTrack:-1,meta:new WeakMap},this.fullscreen={active:!1},this.options={speed:[],quality:[]},this.debug=new ft(this.config.debug),this.debug.log("Config",this.config),this.debug.log("Support",Ne),!z(this.media)&&Z(this.media))if(this.media.plyr)this.debug.warn("Target already setup");else if(this.config.enabled)if(Ne.check().api){var o=this.media.cloneNode(!0);o.autoplay=!1,this.elements.original=o;var s=this.media.tagName.toLowerCase(),l=null,c=null;switch(s){case"div":if(l=this.media.querySelector("iframe"),Z(l)){if(c=rt(l.getAttribute("src")),this.provider=function(e){return/^(https?:\/\/)?(www\.)?(youtube\.com|youtube-nocookie\.com|youtu\.?be)\/.+$/.test(e)?dt.youtube:/^https?:\/\/player.vimeo.com\/video\/\d{0,9}(?=\b|\/)/.test(e)?dt.vimeo:null}(c.toString()),this.elements.container=this.media,this.media=l,this.elements.container.className="",c.search.length){var u=["1","true"];u.includes(c.searchParams.get("autoplay"))&&(this.config.autoplay=!0),u.includes(c.searchParams.get("loop"))&&(this.config.loop.active=!0),this.isYouTube?(this.config.playsinline=u.includes(c.searchParams.get("playsinline")),this.config.youtube.hl=c.searchParams.get("hl")):this.config.playsinline=!0}}else this.provider=this.media.getAttribute(this.config.attributes.embed.provider),this.media.removeAttribute(this.config.attributes.embed.provider);if(re(this.provider)||!Object.values(dt).includes(this.provider))return void this.debug.error("Setup failed: Invalid provider");this.type=mt;break;case"video":case"audio":this.type=s,this.provider=dt.html5,this.media.hasAttribute("crossorigin")&&(this.config.crossorigin=!0),this.media.hasAttribute("autoplay")&&(this.config.autoplay=!0),(this.media.hasAttribute("playsinline")||this.media.hasAttribute("webkit-playsinline"))&&(this.config.playsinline=!0),this.media.hasAttribute("muted")&&(this.config.muted=!0),this.media.hasAttribute("loop")&&(this.config.loop.active=!0);break;default:return void this.debug.error("Setup failed: unsupported type")}this.supported=Ne.check(this.type,this.provider,this.config.playsinline),this.supported.api?(this.eventListeners=[],this.listeners=new vt(this),this.storage=new Je(this),this.media.plyr=this,Z(this.elements.container)||(this.elements.container=me("div",{tabindex:0}),de(this.media,this.elements.container)),bt.migrateStyles.call(this),bt.addStyleHook.call(this),Et.setup.call(this),this.config.debug&&Ie.call(this,this.elements.container,this.config.events.join(" "),(function(e){r.debug.log("event: ".concat(e.type))})),this.fullscreen=new gt(this),(this.isHTML5||this.isEmbed&&!this.supported.ui)&&bt.build.call(this),this.listeners.container(),this.listeners.global(),this.config.ads.enabled&&(this.ads=new Nt(this)),this.isHTML5&&this.config.autoplay&&this.once("canplay",(function(){return qe(r.play())})),this.lastSeekTime=0,this.config.previewThumbnails.enabled&&(this.previewThumbnails=new xt(this))):this.debug.error("Setup failed: no support")}else this.debug.error("Setup failed: no support");else this.debug.error("Setup failed: disabled by config");else this.debug.error("Setup failed: no suitable element passed")}return i(e,[{key:"toggleCaptions",value:function(e){st.toggle.call(this,e,!1)}},{key:"isHTML5",get:function(){return this.provider===dt.html5}},{key:"isEmbed",get:function(){return this.isYouTube||this.isVimeo}},{key:"isYouTube",get:function(){return this.provider===dt.youtube}},{key:"isVimeo",get:function(){return this.provider===dt.vimeo}},{key:"isVideo",get:function(){return this.type===mt}},{key:"isAudio",get:function(){return this.type===ht}},{key:"playing",get:function(){return Boolean(this.ready&&!this.paused&&!this.ended)}},{key:"paused",get:function(){return Boolean(this.media.paused)}},{key:"stopped",get:function(){return Boolean(this.paused&&0===this.currentTime)}},{key:"ended",get:function(){return Boolean(this.media.ended)}},{key:"currentTime",set:function(e){if(this.duration){var t=Y(e)&&e>0;this.media.currentTime=t?Math.min(e,this.duration):0,this.debug.log("Seeking to ".concat(this.currentTime," seconds"))}},get:function(){return Number(this.media.currentTime)}},{key:"buffered",get:function(){var e=this.media.buffered;return Y(e)?e:e&&e.length&&this.duration>0?e.end(0)/this.duration:0}},{key:"seeking",get:function(){return Boolean(this.media.seeking)}},{key:"duration",get:function(){var e=parseFloat(this.config.duration),t=(this.media||{}).duration,n=Y(t)&&t!==1/0?t:0;return e||n}},{key:"volume",set:function(e){var t=e;Q(t)&&(t=Number(t)),Y(t)||(t=this.storage.get("volume")),Y(t)||(t=this.config.volume),t>1&&(t=1),t<0&&(t=0),this.config.volume=t,this.media.volume=t,!re(e)&&this.muted&&t>0&&(this.muted=!1)},get:function(){return Number(this.media.volume)}},{key:"muted",set:function(e){var t=e;X(t)||(t=this.storage.get("muted")),X(t)||(t=this.config.muted),this.config.muted=t,this.media.muted=t},get:function(){return Boolean(this.media.muted)}},{key:"hasAudio",get:function(){return!this.isHTML5||(!!this.isAudio||(Boolean(this.media.mozHasAudio)||Boolean(this.media.webkitAudioDecodedByteCount)||Boolean(this.media.audioTracks&&this.media.audioTracks.length)))}},{key:"speed",set:function(e){var t=this,n=null;Y(e)&&(n=e),Y(n)||(n=this.storage.get("speed")),Y(n)||(n=this.config.speed.selected);var i=this.minimumSpeed,a=this.maximumSpeed;n=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:255;return Math.min(Math.max(e,t),n)}(n,i,a),this.config.speed.selected=n,setTimeout((function(){t.media.playbackRate=n}),0)},get:function(){return Number(this.media.playbackRate)}},{key:"minimumSpeed",get:function(){return this.isYouTube?Math.min.apply(Math,c(this.options.speed)):this.isVimeo?.5:.0625}},{key:"maximumSpeed",get:function(){return this.isYouTube?Math.max.apply(Math,c(this.options.speed)):this.isVimeo?2:16}},{key:"quality",set:function(e){var t=this.config.quality,n=this.options.quality;if(n.length){var i=[!re(e)&&Number(e),this.storage.get("quality"),t.selected,t.default].find(Y),a=!0;if(!n.includes(i)){var r=function(e,t){return J(e)&&e.length?e.reduce((function(e,n){return Math.abs(n-t)1&&void 0!==arguments[1]?arguments[1]:{},i=null;return Q(t)?i=Array.from(document.querySelectorAll(t)):G(t)?i=Array.from(t):J(t)&&(i=t.filter(Z)),re(i)?null:i.map((function(t){return new e(t,n)}))}}]),e}();return Ot.defaults=(Lt=lt,JSON.parse(JSON.stringify(Lt))),Ot})); \ No newline at end of file diff --git a/static/js/popper.min.js b/static/js/popper.min.js new file mode 100644 index 0000000..5582ff5 --- /dev/null +++ b/static/js/popper.min.js @@ -0,0 +1,4 @@ +/* + Copyright (C) Federico Zivolo 2018 + Distributed under the MIT License (license terms are at http://opensource.org/licenses/MIT). + */(function(e,t){'object'==typeof exports&&'undefined'!=typeof module?module.exports=t():'function'==typeof define&&define.amd?define(t):e.Popper=t()})(this,function(){'use strict';function e(e){return e&&'[object Function]'==={}.toString.call(e)}function t(e,t){if(1!==e.nodeType)return[];var o=getComputedStyle(e,null);return t?o[t]:o}function o(e){return'HTML'===e.nodeName?e:e.parentNode||e.host}function n(e){if(!e)return document.body;switch(e.nodeName){case'HTML':case'BODY':return e.ownerDocument.body;case'#document':return e.body;}var i=t(e),r=i.overflow,p=i.overflowX,s=i.overflowY;return /(auto|scroll|overlay)/.test(r+s+p)?e:n(o(e))}function r(e){return 11===e?re:10===e?pe:re||pe}function p(e){if(!e)return document.documentElement;for(var o=r(10)?document.body:null,n=e.offsetParent;n===o&&e.nextElementSibling;)n=(e=e.nextElementSibling).offsetParent;var i=n&&n.nodeName;return i&&'BODY'!==i&&'HTML'!==i?-1!==['TD','TABLE'].indexOf(n.nodeName)&&'static'===t(n,'position')?p(n):n:e?e.ownerDocument.documentElement:document.documentElement}function s(e){var t=e.nodeName;return'BODY'!==t&&('HTML'===t||p(e.firstElementChild)===e)}function d(e){return null===e.parentNode?e:d(e.parentNode)}function a(e,t){if(!e||!e.nodeType||!t||!t.nodeType)return document.documentElement;var o=e.compareDocumentPosition(t)&Node.DOCUMENT_POSITION_FOLLOWING,n=o?e:t,i=o?t:e,r=document.createRange();r.setStart(n,0),r.setEnd(i,0);var l=r.commonAncestorContainer;if(e!==l&&t!==l||n.contains(i))return s(l)?l:p(l);var f=d(e);return f.host?a(f.host,t):a(e,d(t).host)}function l(e){var t=1=o.clientWidth&&n>=o.clientHeight}),l=0a[e]&&!t.escapeWithReference&&(n=J(f[o],a[e]-('right'===e?f.width:f.height))),ae({},o,n)}};return l.forEach(function(e){var t=-1===['left','top'].indexOf(e)?'secondary':'primary';f=le({},f,m[t](e))}),e.offsets.popper=f,e},priority:['left','right','top','bottom'],padding:5,boundariesElement:'scrollParent'},keepTogether:{order:400,enabled:!0,fn:function(e){var t=e.offsets,o=t.popper,n=t.reference,i=e.placement.split('-')[0],r=Z,p=-1!==['top','bottom'].indexOf(i),s=p?'right':'bottom',d=p?'left':'top',a=p?'width':'height';return o[s]r(n[s])&&(e.offsets.popper[d]=r(n[s])),e}},arrow:{order:500,enabled:!0,fn:function(e,o){var n;if(!q(e.instance.modifiers,'arrow','keepTogether'))return e;var i=o.element;if('string'==typeof i){if(i=e.instance.popper.querySelector(i),!i)return e;}else if(!e.instance.popper.contains(i))return console.warn('WARNING: `arrow.element` must be child of its popper element!'),e;var r=e.placement.split('-')[0],p=e.offsets,s=p.popper,d=p.reference,a=-1!==['left','right'].indexOf(r),l=a?'height':'width',f=a?'Top':'Left',m=f.toLowerCase(),h=a?'left':'top',c=a?'bottom':'right',u=S(i)[l];d[c]-us[c]&&(e.offsets.popper[m]+=d[m]+u-s[c]),e.offsets.popper=g(e.offsets.popper);var b=d[m]+d[l]/2-u/2,y=t(e.instance.popper),w=parseFloat(y['margin'+f],10),E=parseFloat(y['border'+f+'Width'],10),v=b-e.offsets.popper[m]-w-E;return v=$(J(s[l]-u,v),0),e.arrowElement=i,e.offsets.arrow=(n={},ae(n,m,Q(v)),ae(n,h,''),n),e},element:'[x-arrow]'},flip:{order:600,enabled:!0,fn:function(e,t){if(W(e.instance.modifiers,'inner'))return e;if(e.flipped&&e.placement===e.originalPlacement)return e;var o=v(e.instance.popper,e.instance.reference,t.padding,t.boundariesElement,e.positionFixed),n=e.placement.split('-')[0],i=T(n),r=e.placement.split('-')[1]||'',p=[];switch(t.behavior){case he.FLIP:p=[n,i];break;case he.CLOCKWISE:p=z(n);break;case he.COUNTERCLOCKWISE:p=z(n,!0);break;default:p=t.behavior;}return p.forEach(function(s,d){if(n!==s||p.length===d+1)return e;n=e.placement.split('-')[0],i=T(n);var a=e.offsets.popper,l=e.offsets.reference,f=Z,m='left'===n&&f(a.right)>f(l.left)||'right'===n&&f(a.left)f(l.top)||'bottom'===n&&f(a.top)f(o.right),g=f(a.top)f(o.bottom),b='left'===n&&h||'right'===n&&c||'top'===n&&g||'bottom'===n&&u,y=-1!==['top','bottom'].indexOf(n),w=!!t.flipVariations&&(y&&'start'===r&&h||y&&'end'===r&&c||!y&&'start'===r&&g||!y&&'end'===r&&u);(m||b||w)&&(e.flipped=!0,(m||b)&&(n=p[d+1]),w&&(r=G(r)),e.placement=n+(r?'-'+r:''),e.offsets.popper=le({},e.offsets.popper,C(e.instance.popper,e.offsets.reference,e.placement)),e=P(e.instance.modifiers,e,'flip'))}),e},behavior:'flip',padding:5,boundariesElement:'viewport'},inner:{order:700,enabled:!1,fn:function(e){var t=e.placement,o=t.split('-')[0],n=e.offsets,i=n.popper,r=n.reference,p=-1!==['left','right'].indexOf(o),s=-1===['top','left'].indexOf(o);return i[p?'left':'top']=r[o]-(s?i[p?'width':'height']:0),e.placement=T(t),e.offsets.popper=g(i),e}},hide:{order:800,enabled:!0,fn:function(e){if(!q(e.instance.modifiers,'hide','preventOverflow'))return e;var t=e.offsets.reference,o=D(e.instance.modifiers,function(e){return'preventOverflow'===e.name}).boundaries;if(t.bottomo.right||t.top>o.bottom||t.rightPlease enter a word or phrase above

    "); +} + + + +function executeSearch(searchQuery){ + $.getJSON( "/index.json", function( data ) { + var pages = data; + var fuse = new Fuse(pages, fuseOptions); + var result = fuse.search(searchQuery); + // console.log({"matches":result}); + document.getElementById("search-box").value = searchQuery + if(result.length > 0){ + populateResults(result); + }else{ + $('#search-results').append("

    No matches found

    "); + } + }); +} + +function populateResults(result){ + $.each(result,function(key,value){ + var contents= value.item.contents; + var snippet = ""; + var snippetHighlights=[]; + var tags =[]; + if( fuseOptions.tokenize ){ + snippetHighlights.push(searchQuery); + }else{ + $.each(value.matches,function(matchKey,mvalue){ + if(mvalue.key == "tags" || mvalue.key == "categories" ){ + snippetHighlights.push(mvalue.value); + }else if(mvalue.key == "contents"){ + start = mvalue.indices[0][0]-summaryInclude>0?mvalue.indices[0][0]-summaryInclude:0; + end = mvalue.indices[0][1]+summaryInclude${element.innerHTML}`; + } + + var postContent = document.getElementById("post-content"); + if (postContent != null) { + var headerTypes = ["h1", "h2", "h3", "h4", "h5", "h6"]; + for (var i = 0; i < headerTypes.length; i++) { + var headers = postContent.querySelectorAll(headerTypes[i]); + if (headers) { + headers.forEach(addAnchor); + } + } + } + + // =============== Make TOC Compatible wit Bootstrap Scroll Spy ======== + // add "navbar" class to the "nav" element + let toc = document.getElementById("TableOfContents"); + toc.classList.add("navbar"); + // add "nav-pills" class to the "ul" elements + let elems = toc.getElementsByTagName("ul"); + for (let i = 0; i < elems.length; i++) { + elems[i].classList.add("nav-pills"); + } + // add "nav-item" class to the "li" elements + elems = toc.getElementsByTagName("li"); + for (let i = 0; i < elems.length; i++) { + elems[i].classList.add("nav-item"); + if (isMobile) { + elems[i].setAttribute("onclick", "toggleTOC()"); + } + } + // add "nav-link" class to the "a" elements + elems = toc.getElementsByTagName("a"); + for (let i = 0; i < elems.length; i++) { + elems[i].classList.add("nav-link"); + } + + // add scroll to top button + function scrollToTop() { + var btn = $('#scroll-to-top'); + $(window).scroll(function () { + if ($(window).scrollTop() > 300) { + btn.addClass('show'); + } else { + btn.removeClass('show'); + } + }); + + btn.on('click', function (e) { + e.preventDefault(); + $('html, body').animate({ scrollTop: 0 }, '300'); + }); + } + scrollToTop(); + + }); +})(jQuery); diff --git a/theme.toml b/theme.toml index 26a50c7..769b8da 100644 --- a/theme.toml +++ b/theme.toml @@ -1,15 +1,40 @@ # theme.toml template for a Hugo theme # See https://github.com/gohugoio/hugoThemes#themetoml for an example - -name = "Toha" -license = "MIT" -licenselink = "https://github.com/yourname/yourtheme/blob/master/LICENSE" description = "A simple hugo theme for personal portfolio" -homepage = "https://toha.netlify.app/" -tags = ["Responsive","Blog", "Portfolio"] -features = [] +homepage = "https://hugo-toha.github.io/" +license = "MIT" +licenselink = "https://github.com/hugo-toha/toha/blob/master/LICENSE" min_version = "0.68.0" +name = "Toha" + +features = [ + "Minimalist Design", + "Fully Responsive", + "Multiple Language Support", + "Carefully Designed Cards", + "Experience Timeline", + "Achievement Gallery", + "Sidebar to Categorize the Posts", + "Short Codes", + "Google Analytics Support", + "Disqus Comment Support", +] +tags = [ + "Portfolio", + "Blog", + "Resume", + "Projects", + "Gallery", + "Multilingual", + "Minimalist", + "Responsive", + "Customizable", + "Google analytics", + "Disqus", + "Bootstrap", + "Syntax highlighting", +] [author] - name = "Emruz Hossain" - homepage = "https://hossainemruz.github.io" +homepage = "https://hossainemruz.github.io" +name = "Emruz Hossain"