diff --git a/.activist.yml b/.activist.yml new file mode 100644 index 00000000..7f43d79f --- /dev/null +++ b/.activist.yml @@ -0,0 +1,5 @@ +--- +languages: + - de + - it + - en diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS deleted file mode 100644 index 9a85b32d..00000000 --- a/.github/CODEOWNERS +++ /dev/null @@ -1,19 +0,0 @@ -# Editorial Team -*.md @privacytoolsIO/editorial -/assets/ @privacytoolsIO/editorial -/pages/ @privacytoolsIO/editorial -/_includes/sections/ @privacytoolsIO/editorial -/index.html @privacytoolsIO/editorial -/font/ @dawidpotocki - -# Administration Related Files -/pages/donate.html @JonahAragon @BurungHantu1605 -/assets/js/redirects.js @JonahAragon -/.well-known/ @JonahAragon -/404.html @JonahAragon -/.github/CODEOWNERS @JonahAragon @BurungHantu1605 -/.github/FUNDING.yml @JonahAragon @BurungHantu1605 -/LICENSE.txt @JonahAragon @BurungHantu1605 -/.travis.yml @JonahAragon @Shifterovich @nitrohorse -/CNAME @JonahAragon -/nginx/ @JonahAragon diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md index 2e659087..f60cd2d5 100644 --- a/.github/CONTRIBUTING.md +++ b/.github/CONTRIBUTING.md @@ -7,70 +7,22 @@ Please read this before contributing. - Be nice and respectful. - English only. - Be constructive. -- Please feel free to *review changes* in the *files changed* tab of any - pull request at any time. -- See also our [Code of Conduct](https://github.com/privacytoolsIO/privacytools.io/blob/master/CODE_OF_CONDUCT.md) ## Quality over Quantity -We're trying to keep it simple and promote the best tools, not all of them. +We're trying to keep it simple and promote the best tools, not all of them. Maximum are three software choices, but it's possible to add more under "Worth Mentioning" headlines. ([example](https://privacytoolsio.github.io/privacytools.io/#im)) ## Software Criteria -### Main -- Easy to use. Could your mother use that tool or service? Usability is most important. -- Cross-platform / Accessible. -- Privacy respecting. -- Open Source / Free Software is preferred but not required. -- Prioritize Products without Vendor Lock-in (decentralized/self-hostable) or data interoperability. + +- Open Source +- Cross-platform +- Easy to use +- Privacy respecting There can be exceptions if no software is available that meet the criteria. -Note: This criteria applies to all of privacytools.io -### Providers -- Prioritize Products by privacy respecting nationality. - -### DNS - -- Supports DoH or DoT (We love DNSCrypt, but there is already https://github.com/DNSCrypt/dnscrypt-resolvers which is directly supported by dnscrypt-proxy, so we don't consider useful to list providers only supporting it). -- Supports DNSSEC (https://dnssec.vs.uni-due.de/ can test your current DNS provider). -- Doesn't log IP addresses during normal operation (If your suggestion logs, please compare its privacy policy with other servers on our table that keep logs). -- Preferably supports QNAME minimization (if you have access to the dig command, `dig +short txt qnamemintest.internet.nl` or `Resolve-DnsName -Type TXT -Name qnamemintest.internet.nl` if you are on Windows 10) - -### VPN -See https://www.privacytools.io/providers/vpn/#criteria for more details. -- Prioritize Products by privacy respecting nationality. -- Cannot be based in USA or UK. -- Must be accessible via Open Source Software (e.g. OpenVPN, WireGuard) -- Use Encryption -- Accept Cryptocurrency -- No logging policy - -### Email -- Outside of USA -- Support SMTP SSL -- Accessible Using Open Source Software (e.g. allows IMAP) - -### Hardware -- Must be [H-Node Class A](https://h-node.org/wiki/page/en/compatibility-classes) or equivalent (if applicable) -- Must prioritize hardware certifications like [RYF](https://ryf.fsf.org/), [OSHWA](https://certification.oshwa.org/), and OSI when available. -- Cannot lock users to a particular platform. - -### Software -- Must be able to download over encrypted network (can be a mirror) -- Must be Open Source Software - -### Encryption -- Only verifiable encryption is to be trusted - -### OSes -- Must state if recommends, depends on, or offers non-free software (contrib) -- No Tracking Policy (opt-in analytics is ok) - ## Images -- Provider logos are 200px x 70px ([example](https://www.privacytools.io/assets/img/provider/AirVPN.png)) -- Tool logos are 120px x 120px ([example](https://www.privacytools.io/assets/img/tools/ChatSecure.png)) +- Provider logos should be exactly 200 x 70 ([example](https://www.privacytools.io/assets/img/provider/AirVPN.gif)) +- Tool logos should be exactly 120 x 120 ([example](https://www.privacytools.io/assets/img/tools/ChatSecure.png)) -## Licensing - -The content and original technology of this website is made available under the Creative Commons Zero v1.0 Universal license text. Some files or folders may include works from other projects with separate licenses, and will be marked as such. **By contributing to this repository, contributors do not necessarily agree to sign a CLA or legally transfer their copyright to the project, but they do at a minimum agree to license their work under the current license of this repository: In this case, the Creative Commons Zero v1.0 Universal.** diff --git a/.github/ISSUE_TEMPLATE/3_Discussion.md b/.github/ISSUE_TEMPLATE/3_Discussion.md index dc53ae9e..506b96e2 100644 --- a/.github/ISSUE_TEMPLATE/3_Discussion.md +++ b/.github/ISSUE_TEMPLATE/3_Discussion.md @@ -1,8 +1,3 @@ - - --- name: "💬 Discussion" about: Discuss the website or any mentioned software in general. diff --git a/.github/ISSUE_TEMPLATE/6_Translation_Issues.md b/.github/ISSUE_TEMPLATE/6_Translation_Issues.md deleted file mode 100644 index 95843a0a..00000000 --- a/.github/ISSUE_TEMPLATE/6_Translation_Issues.md +++ /dev/null @@ -1,21 +0,0 @@ ---- -name: "🇦🇶 Translation Issue" -about: Report any issue with a translated site. -title: "🇦🇶 Translated Site Issue | " -labels: 🌐 website issue, 🇦🇶 translations ---- - -## Site Affected - -**Domain:** - - -- [ ] This site is listed as a translated version of the site in the privacytools.io navbar. - -## Description - - diff --git a/.github/ISSUE_TEMPLATE/7_DNS_provider.md b/.github/ISSUE_TEMPLATE/7_DNS_provider.md deleted file mode 100644 index 174910f5..00000000 --- a/.github/ISSUE_TEMPLATE/7_DNS_provider.md +++ /dev/null @@ -1,36 +0,0 @@ ---- -name: "🗄️ encrypted DNS provider suggestion" -about: Suggest a new encrypted DNS provider. -title: "🗄️ DNS provider suggestion | " -labels: 🌐 website issue, 🗄️ DNS ---- - - - -## Basic Information - -**Name:** -**Filtering:** -**Privacy policy:** -**Protocols:** -**Server/Location:** -**Source:** -**Type:** -**Website:** - -## Description - - - - -### Required features: - - - -* [ ] supports DoH or DoT -* [ ] supports DNSSEC -* [ ] doesn't log IP addresses during normal operation - -#### Desired features - -* [ ] supports QNAME minimization diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index 406faf1d..e2c31e15 100644 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -1,15 +1,11 @@ - + ## Description -Resolves: #none +Resolves: #none -#### Check List + - -* Code repository of the project (if applicable): +Please add screenshots if applicable +--> diff --git a/.gitignore b/.gitignore index e6cb179f..bd0792f8 100644 --- a/.gitignore +++ b/.gitignore @@ -1,8 +1,6 @@ _site/ +Gemfile +Gemfile.lock .sass-cache/ -.jekyll-metadata .DS_Store -font/assets/ -font/_sass/ -font/.fontcustom-manifest.json -assets/webfonts/ptio-font-preview.html +.vscode/ diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index e69de1c9..00000000 --- a/.travis.yml +++ /dev/null @@ -1,11 +0,0 @@ -language: ruby -rvm: - - 2.4.1 - -# Assume bundler is being used, therefore -# the `install` step will run `bundle install` by default. -script: ./build.sh - -sudo: false # route your build to the container-based infrastructure for a faster build - -cache: bundler # caching bundler gem packages will speed up build diff --git a/.well-known/keybase.txt b/.well-known/keybase.txt deleted file mode 100644 index 320c5cb8..00000000 --- a/.well-known/keybase.txt +++ /dev/null @@ -1,113 +0,0 @@ -================================================================== -https://keybase.io/privacytools --------------------------------------------------------------------- - -I hereby claim: - - * I am an admin of https://privacytools.io - * I am privacytools (https://keybase.io/privacytools) on keybase. - * I have a public key ASAkK34bChwgcSbs249aVEhWUYhfn9PYB0yx8y5hZEdLIAo - -To do so, I am signing this object: - -{ - "body": { - "key": { - "eldest_kid": "0120242b7e1b0a1c207126ecdb8f5a54485651885f9fd3d8074cb1f32e6164474b200a", - "host": "keybase.io", - "kid": "0120242b7e1b0a1c207126ecdb8f5a54485651885f9fd3d8074cb1f32e6164474b200a", - "uid": "81b38301543203013da707b866f13619", - "username": "privacytools" - }, - "merkle_root": { - "ctime": 1554941326, - "hash": "398a76706f68401cae4b733ff7c2bd7ad2fb40598604dd10f49a1f04db1173b26caf1c0bd480689d3d5f30c6b60190a69edc76e62d7ad1c16e19e0432c16b21e", - "hash_meta": "ee549365960473d4eec7331ecf3de0e38340c44a4ee61898ca542940b2e2d765", - "seqno": 5139256 - }, - "service": { - "entropy": "mEBRbFG3gU9gRt24VacvKVGm", - "hostname": "privacytools.io", - "protocol": "https:" - }, - "type": "web_service_binding", - "version": 2 - }, - "client": { - "name": "keybase.io go client", - "version": "3.2.1" - }, - "ctime": 1554941350, - "expire_in": 504576000, - "prev": "9947a42be64540ab809b87df765f3139cedbada82ae04012e97c94060fbed4f8", - "seqno": 20, - "tag": "signature" -} - -which yields the signature: - -hKRib2R5hqhkZXRhY2hlZMOpaGFzaF90eXBlCqNrZXnEIwEgJCt+GwocIHEm7NuPWlRIVlGIX5/T2AdMsfMuYWRHSyAKp3BheWxvYWTESpcCFMQgmUekK+ZFQKuAm4ffdl8xOc7bragq4EAS6XyUBg++1PjEIDwvpOGptD6jbBIm52/LR9l4T2xslWcgKtq6zH2HvOGKAgHCo3NpZ8RAeFaHjsUF7kqDas46rMXC1KDIJE520BD57OMws6dnJxbMmJf8O3rRNrLCineR5vpetxjtxGYrhmTWPtgSyYQhD6hzaWdfdHlwZSCkaGFzaIKkdHlwZQildmFsdWXEIGJSitnvAgdVMG+AyewIHT4cBbbWjGh4/cesl/uzqfQZo3RhZ80CAqd2ZXJzaW9uAQ== - -And finally, I am proving ownership of this host by posting or -appending to this document. - -View my publicly-auditable identity here: https://keybase.io/privacytools - -================================================================== - -================================================================== -https://keybase.io/jonaharagon --------------------------------------------------------------------- - -I hereby claim: - - * I am an admin of https://privacytools.io - * I am jonaharagon (https://keybase.io/jonaharagon) on keybase. - * I have a public key ASBD2KZniUf0KM-4GzlgrMnnJzEg54hDvlsnGRExgP2IfAo - -To do so, I am signing this object: - -{ - "body": { - "key": { - "eldest_kid": "01014354fcf62ba0752c5ceb6175fbecef4205b22adc102cb9f4963546960039f9c20a", - "host": "keybase.io", - "kid": "012043d8a6678947f428cfb81b3960acc9e7273120e78843be5b2719113180fd887c0a", - "uid": "3164c4d37d2d2bea011091787d7bc119", - "username": "jonaharagon" - }, - "merkle_root": { - "ctime": 1554921408, - "hash": "3e5c007341d4b02dbe29217419189fa111e0dda3c3e9749540f98e85d769fdc7f0587228446bebc9d114535e75c7fbe2d81dbf1d6a9998add9a9b661eabccffa", - "hash_meta": "d346ffeac7eb4a94ff2cd518a27ed5cb745933316b4a9e91f102fd0c01118a63", - "seqno": 5137134 - }, - "service": { - "entropy": "3MGOPdt1pbQJ3jJphywjT9e9", - "hostname": "privacytools.io", - "protocol": "https:" - }, - "type": "web_service_binding", - "version": 2 - }, - "client": { - "name": "keybase.io go client", - "version": "3.2.1" - }, - "ctime": 1554921422, - "expire_in": 504576000, - "prev": "0c6f534ada5683036a1cd98291a995386925a572742e1aa43b2eb20394879ae3", - "seqno": 159, - "tag": "signature" -} - -which yields the signature: - -hKRib2R5hqhkZXRhY2hlZMOpaGFzaF90eXBlCqNrZXnEIwEgQ9imZ4lH9CjPuBs5YKzJ5ycxIOeIQ75bJxkRMYD9iHwKp3BheWxvYWTES5cCzJ/EIAxvU0raVoMDahzZgpGplThpJaVydC4apDsusgOUh5rjxCBbnzb214v7MAMQHsGX2UxkYOPGr+WPD0WitCcDTTHkbQIBwqNzaWfEQByeB7GH1rHDvmFL8OZTS7xZ7oq8nbt/ZKJK8mFYoV0rym4akSdPiuzwP013lSH9msC3PhzpWSSTCmZk7OITtQGoc2lnX3R5cGUgpGhhc2iCpHR5cGUIpXZhbHVlxCBSTSnkhCA3soIAlMBA5R2DIINdDx0mk1xlj07KqwrwIKN0YWfNAgKndmVyc2lvbgE= - -And finally, I am proving ownership of this host by posting or -appending to this document. - -View my publicly-auditable identity here: https://keybase.io/jonaharagon - -================================================================== diff --git a/.well-known/librehost.json b/.well-known/librehost.json deleted file mode 100644 index 20b30a83..00000000 --- a/.well-known/librehost.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "@context" : "http://schema.org", - "@type" : "Organization", - "organizationType" : "Informal collective", - "name" : "privacytools.io", - "tagLine" : "Private Services: No Ads, No Google Analytics, No Affiliates, and No Cross-Site Requests", - "homeUrl" : "https://www.privacytools.io/", - "logo" : "https://www.privacytools.io/assets/img/layout/shield.svg", - "description": "privacytools.io is a socially motivated website that provides information and services for protecting your security and privacy online. No Ads, No Google Analytics, No Affiliates, and No Cross-Site Requests.", - "communicationLanguages": ["en"], - "contactUrl": "https://www.privacytools.io/contact/", - "privacyPolicyUrl" : "https://www.privacytools.io/privacy/", - "termsOfServiceUrl" : "-", - "isServiceProvider" : true, - "foundingDate": "2015", - "version": "0.0.1", - "dateCreated": "2019-05-02T16:25:00Z", - "dateModified": "2019-05-02T16:25:00Z" -} diff --git a/.well-known/matrix/client b/.well-known/matrix/client deleted file mode 100644 index ee6d0a59..00000000 --- a/.well-known/matrix/client +++ /dev/null @@ -1,8 +0,0 @@ -{ - "m.homeserver": { - "base_url": "https://chat.privacytools.io" - }, - "m.identity_server": { - "base_url": "https://chat.privacytools.io" - } -} diff --git a/.well-known/matrix/server b/.well-known/matrix/server deleted file mode 100644 index 2a4992fd..00000000 --- a/.well-known/matrix/server +++ /dev/null @@ -1,3 +0,0 @@ -{ - "m.server": "chat.privacytools.io:8448" -} diff --git a/.well-known/security.txt b/.well-known/security.txt deleted file mode 100644 index 6e804b30..00000000 --- a/.well-known/security.txt +++ /dev/null @@ -1,5 +0,0 @@ -Contact: admin@privacytools.io -Encryption: https://www.jonaharagon.com/keys/ -Preferred-Languages: en -Canonical: https://www.privacytools.io/.well-known/security.txt -Policy: https://github.com/privacytoolsIO/privacytools.io/security/policy diff --git a/404.html b/404.html index 6e8e7276..7d7cf9b7 100644 --- a/404.html +++ b/404.html @@ -1,23 +1,14 @@ --- -layout: minimal +layout: default active_page: 404 ---
-

404

-

We couldn't find that :(

-

Maybe you were looking for one of these pages?

-
- -
-

If you believe you reached this page in error, please contact us!

+

404

+

Page not found :(

+

We're redirecting you to the home page in 5 seconds. It this doesn't work, click here.

+ + diff --git a/Gemfile.lock b/Gemfile.lock deleted file mode 100644 index 05594934..00000000 --- a/Gemfile.lock +++ /dev/null @@ -1,249 +0,0 @@ -GEM - remote: https://rubygems.org/ - specs: - activesupport (4.2.11.1) - i18n (~> 0.7) - minitest (~> 5.1) - thread_safe (~> 0.3, >= 0.3.4) - tzinfo (~> 1.1) - addressable (2.6.0) - public_suffix (>= 2.0.2, < 4.0) - coffee-script (2.4.1) - coffee-script-source - execjs - coffee-script-source (1.11.1) - colorator (1.1.0) - commonmarker (0.17.13) - ruby-enum (~> 0.5) - concurrent-ruby (1.1.5) - dnsruby (1.61.3) - addressable (~> 2.5) - em-websocket (0.5.1) - eventmachine (>= 0.12.9) - http_parser.rb (~> 0.6.0) - ethon (0.12.0) - ffi (>= 1.3.0) - eventmachine (1.2.7) - execjs (2.7.0) - faraday (0.15.4) - multipart-post (>= 1.2, < 3) - ffi (1.11.1) - forwardable-extended (2.6.0) - gemoji (3.0.1) - github-pages (198) - activesupport (= 4.2.11.1) - github-pages-health-check (= 1.16.1) - jekyll (= 3.8.5) - jekyll-avatar (= 0.6.0) - jekyll-coffeescript (= 1.1.1) - jekyll-commonmark-ghpages (= 0.1.5) - jekyll-default-layout (= 0.1.4) - jekyll-feed (= 0.11.0) - jekyll-gist (= 1.5.0) - jekyll-github-metadata (= 2.12.1) - jekyll-mentions (= 1.4.1) - jekyll-optional-front-matter (= 0.3.0) - jekyll-paginate (= 1.1.0) - jekyll-readme-index (= 0.2.0) - jekyll-redirect-from (= 0.14.0) - jekyll-relative-links (= 0.6.0) - jekyll-remote-theme (= 0.3.1) - jekyll-sass-converter (= 1.5.2) - jekyll-seo-tag (= 2.5.0) - jekyll-sitemap (= 1.2.0) - jekyll-swiss (= 0.4.0) - jekyll-theme-architect (= 0.1.1) - jekyll-theme-cayman (= 0.1.1) - jekyll-theme-dinky (= 0.1.1) - jekyll-theme-hacker (= 0.1.1) - jekyll-theme-leap-day (= 0.1.1) - jekyll-theme-merlot (= 0.1.1) - jekyll-theme-midnight (= 0.1.1) - jekyll-theme-minimal (= 0.1.1) - jekyll-theme-modernist (= 0.1.1) - jekyll-theme-primer (= 0.5.3) - jekyll-theme-slate (= 0.1.1) - jekyll-theme-tactile (= 0.1.1) - jekyll-theme-time-machine (= 0.1.1) - jekyll-titles-from-headings (= 0.5.1) - jemoji (= 0.10.2) - kramdown (= 1.17.0) - liquid (= 4.0.0) - listen (= 3.1.5) - mercenary (~> 0.3) - minima (= 2.5.0) - nokogiri (>= 1.8.5, < 2.0) - rouge (= 2.2.1) - terminal-table (~> 1.4) - github-pages-health-check (1.16.1) - addressable (~> 2.3) - dnsruby (~> 1.60) - octokit (~> 4.0) - public_suffix (~> 3.0) - typhoeus (~> 1.3) - html-pipeline (2.12.0) - activesupport (>= 2) - nokogiri (>= 1.4) - http_parser.rb (0.6.0) - i18n (0.9.5) - concurrent-ruby (~> 1.0) - jekyll (3.8.5) - addressable (~> 2.4) - colorator (~> 1.0) - em-websocket (~> 0.5) - i18n (~> 0.7) - jekyll-sass-converter (~> 1.0) - jekyll-watch (~> 2.0) - kramdown (~> 1.14) - liquid (~> 4.0) - mercenary (~> 0.3.3) - pathutil (~> 0.9) - rouge (>= 1.7, < 4) - safe_yaml (~> 1.0) - jekyll-avatar (0.6.0) - jekyll (~> 3.0) - jekyll-coffeescript (1.1.1) - coffee-script (~> 2.2) - coffee-script-source (~> 1.11.1) - jekyll-commonmark (1.3.1) - commonmarker (~> 0.14) - jekyll (>= 3.7, < 5.0) - jekyll-commonmark-ghpages (0.1.5) - commonmarker (~> 0.17.6) - jekyll-commonmark (~> 1) - rouge (~> 2) - jekyll-default-layout (0.1.4) - jekyll (~> 3.0) - jekyll-feed (0.11.0) - jekyll (~> 3.3) - jekyll-gist (1.5.0) - octokit (~> 4.2) - jekyll-github-metadata (2.12.1) - jekyll (~> 3.4) - octokit (~> 4.0, != 4.4.0) - jekyll-mentions (1.4.1) - html-pipeline (~> 2.3) - jekyll (~> 3.0) - jekyll-optional-front-matter (0.3.0) - jekyll (~> 3.0) - jekyll-paginate (1.1.0) - jekyll-readme-index (0.2.0) - jekyll (~> 3.0) - jekyll-redirect-from (0.14.0) - jekyll (~> 3.3) - jekyll-relative-links (0.6.0) - jekyll (~> 3.3) - jekyll-remote-theme (0.3.1) - jekyll (~> 3.5) - rubyzip (>= 1.2.1, < 3.0) - jekyll-sass-converter (1.5.2) - sass (~> 3.4) - jekyll-seo-tag (2.5.0) - jekyll (~> 3.3) - jekyll-sitemap (1.2.0) - jekyll (~> 3.3) - jekyll-swiss (0.4.0) - jekyll-theme-architect (0.1.1) - jekyll (~> 3.5) - jekyll-seo-tag (~> 2.0) - jekyll-theme-cayman (0.1.1) - jekyll (~> 3.5) - jekyll-seo-tag (~> 2.0) - jekyll-theme-dinky (0.1.1) - jekyll (~> 3.5) - jekyll-seo-tag (~> 2.0) - jekyll-theme-hacker (0.1.1) - jekyll (~> 3.5) - jekyll-seo-tag (~> 2.0) - jekyll-theme-leap-day (0.1.1) - jekyll (~> 3.5) - jekyll-seo-tag (~> 2.0) - jekyll-theme-merlot (0.1.1) - jekyll (~> 3.5) - jekyll-seo-tag (~> 2.0) - jekyll-theme-midnight (0.1.1) - jekyll (~> 3.5) - jekyll-seo-tag (~> 2.0) - jekyll-theme-minimal (0.1.1) - jekyll (~> 3.5) - jekyll-seo-tag (~> 2.0) - jekyll-theme-modernist (0.1.1) - jekyll (~> 3.5) - jekyll-seo-tag (~> 2.0) - jekyll-theme-primer (0.5.3) - jekyll (~> 3.5) - jekyll-github-metadata (~> 2.9) - jekyll-seo-tag (~> 2.0) - jekyll-theme-slate (0.1.1) - jekyll (~> 3.5) - jekyll-seo-tag (~> 2.0) - jekyll-theme-tactile (0.1.1) - jekyll (~> 3.5) - jekyll-seo-tag (~> 2.0) - jekyll-theme-time-machine (0.1.1) - jekyll (~> 3.5) - jekyll-seo-tag (~> 2.0) - jekyll-titles-from-headings (0.5.1) - jekyll (~> 3.3) - jekyll-watch (2.2.1) - listen (~> 3.0) - jemoji (0.10.2) - gemoji (~> 3.0) - html-pipeline (~> 2.2) - jekyll (~> 3.0) - kramdown (1.17.0) - liquid (4.0.0) - listen (3.1.5) - rb-fsevent (~> 0.9, >= 0.9.4) - rb-inotify (~> 0.9, >= 0.9.7) - ruby_dep (~> 1.2) - mercenary (0.3.6) - mini_portile2 (2.4.0) - minima (2.5.0) - jekyll (~> 3.5) - jekyll-feed (~> 0.9) - jekyll-seo-tag (~> 2.1) - minitest (5.11.3) - multipart-post (2.1.1) - nokogiri (1.10.4) - mini_portile2 (~> 2.4.0) - octokit (4.14.0) - sawyer (~> 0.8.0, >= 0.5.3) - pathutil (0.16.2) - forwardable-extended (~> 2.6) - public_suffix (3.1.1) - rb-fsevent (0.10.3) - rb-inotify (0.10.0) - ffi (~> 1.0) - rouge (2.2.1) - ruby-enum (0.7.2) - i18n - ruby_dep (1.5.0) - rubyzip (1.2.3) - safe_yaml (1.0.5) - sass (3.7.4) - sass-listen (~> 4.0.0) - sass-listen (4.0.0) - rb-fsevent (~> 0.9, >= 0.9.4) - rb-inotify (~> 0.9, >= 0.9.7) - sawyer (0.8.2) - addressable (>= 2.3.5) - faraday (> 0.8, < 2.0) - terminal-table (1.8.0) - unicode-display_width (~> 1.1, >= 1.1.1) - thread_safe (0.3.6) - typhoeus (1.3.1) - ethon (>= 0.9.0) - tzinfo (1.2.5) - thread_safe (~> 0.1) - unicode-display_width (1.6.0) - -PLATFORMS - ruby - -DEPENDENCIES - github-pages - tzinfo-data - -BUNDLED WITH - 2.0.1 diff --git a/LICENSE.txt b/LICENSE.txt index 670154e3..5c93f456 100644 --- a/LICENSE.txt +++ b/LICENSE.txt @@ -1,116 +1,13 @@ -CC0 1.0 Universal + DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE + Version 2, December 2004 -Statement of Purpose + Copyright (C) 2004 Sam Hocevar -The laws of most jurisdictions throughout the world automatically confer -exclusive Copyright and Related Rights (defined below) upon the creator and -subsequent owner(s) (each and all, an "owner") of an original work of -authorship and/or a database (each, a "Work"). + Everyone is permitted to copy and distribute verbatim or modified + copies of this license document, and changing it is allowed as long + as the name is changed. -Certain owners wish to permanently relinquish those rights to a Work for the -purpose of contributing to a commons of creative, cultural and scientific -works ("Commons") that the public can reliably and without fear of later -claims of infringement build upon, modify, incorporate in other works, reuse -and redistribute as freely as possible in any form whatsoever and for any -purposes, including without limitation commercial purposes. These owners may -contribute to the Commons to promote the ideal of a free culture and the -further production of creative, cultural and scientific works, or to gain -reputation or greater distribution for their Work in part through the use and -efforts of others. + DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION -For these and/or other purposes and motivations, and without any expectation -of additional consideration or compensation, the person associating CC0 with a -Work (the "Affirmer"), to the extent that he or she is an owner of Copyright -and Related Rights in the Work, voluntarily elects to apply CC0 to the Work -and publicly distribute the Work under its terms, with knowledge of his or her -Copyright and Related Rights in the Work and the meaning and intended legal -effect of CC0 on those rights. - -1. Copyright and Related Rights. A Work made available under CC0 may be -protected by copyright and related or neighboring rights ("Copyright and -Related Rights"). Copyright and Related Rights include, but are not limited -to, the following: - - i. the right to reproduce, adapt, distribute, perform, display, communicate, - and translate a Work; - - ii. moral rights retained by the original author(s) and/or performer(s); - - iii. publicity and privacy rights pertaining to a person's image or likeness - depicted in a Work; - - iv. rights protecting against unfair competition in regards to a Work, - subject to the limitations in paragraph 4(a), below; - - v. rights protecting the extraction, dissemination, use and reuse of data in - a Work; - - vi. database rights (such as those arising under Directive 96/9/EC of the - European Parliament and of the Council of 11 March 1996 on the legal - protection of databases, and under any national implementation thereof, - including any amended or successor version of such directive); and - - vii. other similar, equivalent or corresponding rights throughout the world - based on applicable law or treaty, and any national implementations thereof. - -2. Waiver. To the greatest extent permitted by, but not in contravention of, -applicable law, Affirmer hereby overtly, fully, permanently, irrevocably and -unconditionally waives, abandons, and surrenders all of Affirmer's Copyright -and Related Rights and associated claims and causes of action, whether now -known or unknown (including existing as well as future claims and causes of -action), in the Work (i) in all territories worldwide, (ii) for the maximum -duration provided by applicable law or treaty (including future time -extensions), (iii) in any current or future medium and for any number of -copies, and (iv) for any purpose whatsoever, including without limitation -commercial, advertising or promotional purposes (the "Waiver"). Affirmer makes -the Waiver for the benefit of each member of the public at large and to the -detriment of Affirmer's heirs and successors, fully intending that such Waiver -shall not be subject to revocation, rescission, cancellation, termination, or -any other legal or equitable action to disrupt the quiet enjoyment of the Work -by the public as contemplated by Affirmer's express Statement of Purpose. - -3. Public License Fallback. Should any part of the Waiver for any reason be -judged legally invalid or ineffective under applicable law, then the Waiver -shall be preserved to the maximum extent permitted taking into account -Affirmer's express Statement of Purpose. In addition, to the extent the Waiver -is so judged Affirmer hereby grants to each affected person a royalty-free, -non transferable, non sublicensable, non exclusive, irrevocable and -unconditional license to exercise Affirmer's Copyright and Related Rights in -the Work (i) in all territories worldwide, (ii) for the maximum duration -provided by applicable law or treaty (including future time extensions), (iii) -in any current or future medium and for any number of copies, and (iv) for any -purpose whatsoever, including without limitation commercial, advertising or -promotional purposes (the "License"). The License shall be deemed effective as -of the date CC0 was applied by Affirmer to the Work. Should any part of the -License for any reason be judged legally invalid or ineffective under -applicable law, such partial invalidity or ineffectiveness shall not -invalidate the remainder of the License, and in such case Affirmer hereby -affirms that he or she will not (i) exercise any of his or her remaining -Copyright and Related Rights in the Work or (ii) assert any associated claims -and causes of action with respect to the Work, in either case contrary to -Affirmer's express Statement of Purpose. - -4. Limitations and Disclaimers. - - a. No trademark or patent rights held by Affirmer are waived, abandoned, - surrendered, licensed or otherwise affected by this document. - - b. Affirmer offers the Work as-is and makes no representations or warranties - of any kind concerning the Work, express, implied, statutory or otherwise, - including without limitation warranties of title, merchantability, fitness - for a particular purpose, non infringement, or the absence of latent or - other defects, accuracy, or the present or absence of errors, whether or not - discoverable, all to the greatest extent permissible under applicable law. - - c. Affirmer disclaims responsibility for clearing rights of other persons - that may apply to the Work or any use thereof, including without limitation - any person's Copyright and Related Rights in the Work. Further, Affirmer - disclaims responsibility for obtaining any necessary consents, permissions - or other rights required for any use of the Work. - - d. Affirmer understands and acknowledges that Creative Commons is not a - party to this document and has no duty or obligation with respect to this - CC0 or use of the Work. - -For more information, please see - + 0. You just DO WHAT THE FUCK YOU WANT TO. diff --git a/README.md b/README.md index 5f20c438..e3f2af9a 100644 --- a/README.md +++ b/README.md @@ -1,14 +1,12 @@ -[![privacytools](./assets/img/layout/logo.png)](https://www.privacytools.io/) +[![privacytools](https://privacytools.io/assets/img/layout/logo.png)](https://www.privacytools.io/) _Encryption Against Global Mass Surveillance._ -[![Build Status](https://travis-ci.com/privacytoolsIO/privacytools.io.svg?branch=master)](https://travis-ci.com/privacytoolsIO/privacytools.io) - # Contributing It's important for a website like privacytools.io to be up-to-date. Keep an eye on software updates of the applications listed here. Follow recent news about providers that are recommended. We try our best to keep up but we're not perfect and the internet is changing fast. So if you find an error, or you think a provider should not be listed here, or a qualified service provider is missing or a browser plugin is not the best choice anymore or anything else... -**Talk to us please.** Join our [subreddit](https://www.reddit.com/r/privacytoolsIO/) or [our Discourse community](https://forum.privacytools.io/) and start a discussion. This is a community project and we're aiming to deliver the best information available for a better privacy. Thank you for participating. +**Talk to us please.** Join our [subreddit](https://www.reddit.com/r/privacytoolsIO/) and start a discussion. This is a community project and we're aiming to deliver the best information available for a better privacy. We are also using [/r/privacy](https://www.reddit.com/r/privacy). Thank you for participating. You can submit your suggestions here on GitHub [(Issues)](https://github.com/privacytoolsIO/privacytools.io/issues) and also in our [subreddit](https://www.reddit.com/r/privacytoolsIO/). Please refer to the [Contributing Guidelines](.github/CONTRIBUTING.md) before submitting. Thank you. @@ -21,23 +19,17 @@ You can submit your suggestions here on GitHub [(Issues)](https://github.com/pri # Support privacytools.io -- [Donate.](https://www.privacytools.io/donate/) -- [Liberapay](https://liberapay.com/privacytools.io/donate) or [Patreon.](https://www.patreon.com/privacytools) -- [Spread the word.](https://www.privacytools.io/#participate) -- [Join our Discourse community.](https://forum.privacytools.io/) +- [Donate.](https://privacytoolsio.github.io/privacytools.io/donate.html) +- [Spread the word.](https://privacytoolsio.github.io/privacytools.io/#participate) - [Make suggestions on reddit.](https://www.reddit.com/r/privacytoolsIO/) - View and edit our website source code here on GitHub. # Community Translations - [繁体中文 / Chinese](https://privacytools.twngo.xyz/) - [GitHub](https://github.com/twngo/privacytools-zh) - [Español / Spanish](https://victorhck.gitlab.io/privacytools-es/) - [GitLab](https://gitlab.com/victorhck/privacytools-es) -- [Polski / Polish](https://pl.privacytools.io) - [Gitea](https://git.privacytools.io/pl-privacytoolsIO/pl.privacytools.io) - [Deutsch / German](https://privacytools.it-sec.rocks/) - [GitHub](https://github.com/Anon215/privacytools.it-sec.rocks) -- [Français / French](https://privacytools.dreads-unlock.fr/) - [GitLab](https://gitlab.com/Booteille/privacytools) - [Italiano / Italian](https://privacytools-it.github.io/) - [GitHub](https://github.com/privacytools-it/privacytools-it.github.io) - [Русский / Russian](https://privacytools.ru) - [GitHub](https://github.com/c0rdis/privacytools.ru) -- [Português / Portuguese](https://www.privacidade.digital/) - [GitHub](https://github.com/PrivacidadeDigital/privacidade.digital) # License - -The content and original technology of this website is made available under the [Creative Commons Zero v1.0 Universal](https://www.privacytools.io/LICENSE.txt) license text. Some files or folders may include works from other projects with separate licenses, and will be marked as such. By contributing to this repository, contributors do not necessarily agree to sign a CLA or legally transfer their copyright to the project, but they do at a minimum agree to license their work under the current license of this repository: In this case, the Creative Commons Zero v1.0 Universal. +[Do What The Fuck You Want To Public License](https://github.com/privacytoolsIO/privacytools.io/blob/master/LICENSE.txt) diff --git a/_config.yml b/_config.yml index eac523d4..ce7b8c2c 100644 --- a/_config.yml +++ b/_config.yml @@ -1,11 +1,9 @@ title: Privacy Tools - Encryption Against Global Mass Surveillance -description: You are being watched. Knowledge, encryption and privacy tools to protect you against global mass surveillance. -url: "https://www.privacytools.io" +description: You are being watched! Knowledge, encryption and privacy tools to protect you against global mass surveillance. +url: "https://privacytools.io" sass: style: compressed plugins: - jekyll-sitemap sitemap: file: "/sitemap.xml" -include: [".well-known"] -exclude: ["font", "vendor"] diff --git a/_data/lang/fourteen_eyes.yml b/_data/lang/fourteen_eyes.yml new file mode 100644 index 00000000..ea88ba36 --- /dev/null +++ b/_data/lang/fourteen_eyes.yml @@ -0,0 +1,12 @@ +--- +en: &base + title: Global Mass Surveillance - The Fourteen Eyes + description: > + The UKUSA Agreement is an agreement between the United Kingdom, United States, Australia, Canada, and New Zealand to cooperatively collect, analyze, and share intelligence. Members of this group, known as the [Five Eyes](https://www.giswatch.org/en/communications-surveillance/unmasking-five-eyes-global-surveillance-practices), focus on gathering and analyzing intelligence from different parts of the world. While Five Eyes countries have agreed to [not spy on each other](https://www.pbs.org/newshour/world/an-exclusive-club-the-five-countries-that-dont-spy-on-each-other) as adversaries, leaks by Snowden have revealed that some Five Eyes members monitor each other’s citizens and [share intelligence](https://www.theguardian.com/uk/2013/jun/21/gchq-cables-secret-world-communications-nsa) to [avoid breaking domestic laws](https://www.theguardian.com/politics/2013/jun/10/nsa-offers-intelligence-british-counterparts-blunkett) that prohibit them from spying on their own citizens. The Five Eyes alliance also cooperates with groups of third-party countries to share intelligence (forming the Nine Eyes and Fourteen Eyes), however Five Eyes and third-party countries can and do spy on each other. + five_eyes: Five Eyes + nine_eyes: Nine Eyes + fourteen_eyes: Fourteen Eyes + +it: + <<: *base +--- \ No newline at end of file diff --git a/_data/lang/general.yml b/_data/lang/general.yml new file mode 100644 index 00000000..52dcfb7e --- /dev/null +++ b/_data/lang/general.yml @@ -0,0 +1,18 @@ +--- +en: &base + site_subheading: > + You are being watched. Private and state-sponsored organizations are monitoring and recording + your online activities. privacytools.io provides knowledge and tools to protect your privacy + against global mass surveillance. + translations_disclaimer: Translations of privacytools.io were done by volunteers. They might be not up to date. + read_also: Read also + related_information: Related Information + +it: + <<: *base + site_subheading: > + You are being watched. Private and state-sponsored organizations are monitoring and recording + your online activities. privacytools.io provides knowledge and tools to protect your privacy + against global mass surveillance. (IT) + read_also: Read also (IT) +--- \ No newline at end of file diff --git a/_data/lang/key_disclosure_law.yml b/_data/lang/key_disclosure_law.yml new file mode 100644 index 00000000..60e35c13 --- /dev/null +++ b/_data/lang/key_disclosure_law.yml @@ -0,0 +1,18 @@ +--- +en: &base + title: Key Disclosure Law + subheading: Who is required to hand over the encryption keys to authorities? + description: > + Mandatory [key disclosure laws](https://en.wikipedia.org/wiki/Key_disclosure_law) require individuals to turn over encryption keys to law enforcement conducting a criminal investigation. How these laws are implemented (who may be legally compelled to assist) vary from nation to nation, but a warrant is generally required. Defenses against key disclosure laws include steganography and encrypting data in a way that provides plausible deniability. + + [Steganography](https://en.wikipedia.org/wiki/Steganography) involves hiding sensitive information (which may be encrypted) inside of ordinary data (for example, encrypting an image file and then hiding it in an audio file). With plausible deniability, data is encrypted in a way that prevents an adversary from being able to prove that the information they are after exists (for example, one password may decrypt benign data and another password, used on the same file, could decrypt sensitive data). + apply: Key disclosure laws apply + may_apply: Key disclosure laws may apply + dont_apply: Key disclosure laws don't apply + footnote: people who know how to access a system may be ordered to share their knowledge, however, this doesn't apply to the suspect itself or family members. + +it: + <<: *base + footnote: something italian + +--- \ No newline at end of file diff --git a/_data/lang/nothing_to_hide.yml b/_data/lang/nothing_to_hide.yml new file mode 100644 index 00000000..b10003a8 --- /dev/null +++ b/_data/lang/nothing_to_hide.yml @@ -0,0 +1,24 @@ +--- +en: &base + title: Privacy? I don't have anything to hide. + quote: > + Over the last 16 months, as I've debated this issue around the world, + every single time somebody has said to me, "I don't really worry about + invasions of privacy because I don't have anything to hide." I always + say the same thing to them. I get out a pen, I write down my email address. + I say, "Here's my email address. What I want you to do when you get home + is email me the passwords to all of your email accounts, not just the + nice, respectable work one in your name, but all of them, because I want + to be able to just troll through what it is you're doing online, read + what I want to read and publish whatever I find interesting. After all, + if you're not a bad person, if you're doing nothing wrong, you should + have nothing to hide." **Not a single person hsa taken me up on + that offer** + talk_name: Why privacy matters + +it: + <<: *base + title: Italian title for nothing to hide + quote: > + Italian quote +--- \ No newline at end of file diff --git a/_data/lang/usa.yml b/_data/lang/usa.yml new file mode 100644 index 00000000..3e68328c --- /dev/null +++ b/_data/lang/usa.yml @@ -0,0 +1,14 @@ +--- +en: &base + title: Why is it not recommended to choose a US-based service? + description: > + Services based in the United States are not recommended because of the country’s surveillance programs, use of [National Security Letters](https://www.eff.org/issues/national-security-letters/faq) (NSLs) and accompanying gag orders, which forbid the recipient from talking about the request. This combination allows the government to [secretly force](https://www.schneier.com/blog/archives/2013/08/more_on_the_nsa.html) companies to grant complete access to customer data and transform the service into a tool of mass surveillance. + + An example of this is [Lavabit](https://en.wikipedia.org/wiki/Lavabit#Suspension_and_gag_order) – a discontinued secure email service created by Ladar Levison. The FBI [requested](https://motherboard.vice.com/en_us/article/nzz888/lavabit-founder-ladar-levison-discusses-his-federal-battle-for-privacy) Snowden’s records after finding out that he used the service. Since Lavabit did not keep logs and email content was stored encrypted, the FBI served a subpoena (with a gag order) for the service’s SSL keys. Having the SSL keys would allow them to access communications (both metadata and unencrypted content) in real time for all of Lavabit’s customers, not just Snowden's. + + Ultimately, Levison turned over the SSL keys and [shut down](https://www.theguardian.com/commentisfree/2014/may/20/why-did-lavabit-shut-down-snowden-email) the service at the same time. The US government then [threatened Levison with arrest](http://www.cnbc.com/id/100962389), + saying that shutting down the service was a violation of the court order. + +it: + <<: *base +--- \ No newline at end of file diff --git a/_includes/cardv2.html b/_includes/cardv2.html deleted file mode 100644 index 4b315a24..00000000 --- a/_includes/cardv2.html +++ /dev/null @@ -1,298 +0,0 @@ -
-
-

- {% if include.badges %} - {{ include.title }} - {% assign badges = include.badges | split:"|" %} - {% for badge in badges %} - {% assign badge_data = badge | split:":" %} - {% assign color = badge_data[0] %} - {% assign text = badge_data[1] %} - {% assign tooltip = badge_data[2] | default: false %} - {% assign help_icon = '' %} - {{text}} {{ help_icon }} - {% else %} - > {{text}} - {% endif %} - - {% endfor %} - {% else %} - {{ include.title }} - {% endif %} -

-
-
-

- {{include.title}} - {{ include.description }} - {% if include.labels %} - {% assign labels = include.labels | split:"|" %} - {% for label in labels %} - {% assign label_data = label | split:":" %} - {% assign color = label_data[0] %} - {% assign text = label_data[1] %} - {% assign tooltip = label_data[2] | default: false %} - {% assign help_icon = '' %} - {{text}} {{ help_icon }} - {% else %} - > {{text}} - {% endif %} - - {% endfor %} - {% endif %} -

-
-
- - - Website - - {% if include.forum %} - - - Forum - - {% endif %} - {% if include.tor %} - - Tor - - {% endif %} -
- -
- {% if include.windows %} - {% if include.windows != "" %} - - - - {% else %} - - {% endif %} - {% endif %} - - {% if include.mac %} - {% if include.mac != "" %} - - - - {% else %} - - {% endif %} - {% endif %} - - {% if include.linux %} - {% if include.linux != "" %} - - - - {% else %} - - {% endif %} - {% endif %} - - {% if include.freebsd %} - {% if include.freebsd != "" %} - - - - {% else %} - - {% endif %} - {% endif %} - - {% if include.openbsd %} - {% if include.openbsd != "" %} - - - - {% else %} - - {% endif %} - {% endif %} - - {% if include.netbsd %} - {% if include.netbsd != "" %} - - - - {% else %} - - {% endif %} - {% endif %} - - {% if include.firefox %} - {% if include.firefox != "" %} - - - - {% else %} - - {% endif %} - {% endif %} - - {% if include.chrome %} - {% if include.chrome != "" %} - - - - {% else %} - - {% endif %} - {% endif %} - - {% if include.safari %} - {% if include.safari != "" %} - - - - {% else %} - - {% endif %} - {% endif %} - - {% if include.opera %} - {% if include.opera != "" %} - - - - {% else %} - - {% endif %} - {% endif %} - - {% if include.edge %} - {% if include.edge != "" %} - - - - {% else %} - - {% endif %} - {% endif %} - - {% if include.fdroid %} - {% if include.fdroid != "" %} - - - - {% else %} - - {% endif %} - {% endif %} - - {% if include.googleplay %} - {% if include.googleplay != "" %} - - - - {% else %} - - {% endif %} - {% endif %} - - {% if include.android %} - {% if include.android != "" %} - - - - {% else %} - - {% endif %} - {% endif %} - - {% if include.ios %} - {% if include.ios != "" %} - - - - {% else %} - - {% endif %} - {% endif %} - - {% if include.sailfish %} - {% if include.sailfish != "" %} - - - - {% else %} - - {% endif %} - {% endif %} - - {% if include.web %} - {% if include.web != "" %} - - - - {% else %} - - {% endif %} - {% endif %} - - {{include.icon1}} - {{include.icon2}} - {{include.icon3}} - - {% if include.github %} - - - - {% endif %} - - {% if include.gitlab %} - - - - {% endif %} - - {% if include.git %} - - - - {% endif %} - - {% if include.source %} - - - - {% endif %} - -
-
-
-
-
diff --git a/_includes/card.html b/_includes/components/card.html similarity index 58% rename from _includes/card.html rename to _includes/components/card.html index ec676c84..dde5419b 100644 --- a/_includes/card.html +++ b/_includes/components/card.html @@ -1,4 +1,4 @@ -
+
{% if include.color == "warning" %}
@@ -26,41 +26,18 @@ {% endfor %}
{% endif %} -

- {% if include.image %} - {{include.title}} - {% elsif include.icon %} - - {% elsif include.font %} - - {% endif %} - {{include.description}} -

+

{{include.title}}{{include.description}}

- {% if include.url %} - + Website: {% if include.website %} {{include.website}} {% else %} - {{ include.url | remove: "https://" | remove: "http://" | remove: "www." | remove: "/" | remove: "github.com" }} + {{ include.url | remove: "https://" | remove: "http://" | remove: "www." | remove: "/" }} {% endif %} - {% elsif include.page %} - - {% if include.moretext %} - {{include.moretext}} - {% else %} - Learn More - {% endif %} - - {% endif %} {% if include.tor %} - Tor - {% endif %} - - {% if include.git %} - Git + Tor {% endif %} {% if include.extra_button %} diff --git a/_includes/components/panel.html b/_includes/components/panel.html new file mode 100644 index 00000000..f5e3cd2d --- /dev/null +++ b/_includes/components/panel.html @@ -0,0 +1,22 @@ +

+
+ {% if include.color == "warning" %} +
+ {% else %} +
+ {% endif %} +

{{ include.title }}

+
+ {% if include.list %} +
+
    + {{ include.list | markdownify | replace:"<":"<" | replace:">":">" | remove:"
      " | remove:"
    " }} +
+
+ {% else %} +
+ {{ include.body }} +
+ {% endif %} +
+
\ No newline at end of file diff --git a/_includes/content/fourteen_eyes.md b/_includes/content/fourteen_eyes.md new file mode 100644 index 00000000..c200b727 --- /dev/null +++ b/_includes/content/fourteen_eyes.md @@ -0,0 +1,40 @@ +{% include language %} + +

{{ lang.title }}

+UKUSA Agreement +{{ lang.description }} + + +
+ {% include components/panel.html color="danger" + title=lang.five_eyes + list=' + - Australia
+ - Canada
+ - New Zealand
+ - United Kingdom
+ - United States of America
+ ' + %} + + {% include components/panel.html color="warning" + title=lang.nine_eyes + list=' + - Denmark
+ - France
+ - Netherlands
+ - Norway
+ ' + %} + + {% include components/panel.html color="secondary" + title=lang.fourteen_eyes + list=' + - Belgium
+ - Germany
+ - Italy
+ - Spain
+ - Sweden
+ ' + %} +
\ No newline at end of file diff --git a/_includes/content/key_disclosure_law.md b/_includes/content/key_disclosure_law.md new file mode 100644 index 00000000..6240e472 --- /dev/null +++ b/_includes/content/key_disclosure_law.md @@ -0,0 +1,55 @@ +{% include language %} + +

{{ lang.title }}

+### {{ lang.subheading }} + +{{ lang.description }} + + +
+ + {% include components/panel.html color="danger" + title=lang.apply + list=' + - [Antigua and Barbuda](https://en.wikipedia.org/wiki/Key_disclosure_law#Antigua_and_Barbuda)
+ - [Australia](https://en.wikipedia.org/wiki/Key_disclosure_law#Australia)
+ - [Canada](https://en.wikipedia.org/wiki/Key_disclosure_law#Canada)
+ - [France](https://en.wikipedia.org/wiki/Key_disclosure_law#France)
+ - [India](https://en.wikipedia.org/wiki/Key_disclosure_law#India)
+ - [Ireland](https://en.wikipedia.org/wiki/Key_disclosure_law#Ireland)
+ - [Norway](https://edri.org/norway-introduces-forced-biometric-authentication/)
+ - [Russia](https://www.bloomberg.com/news/articles/2018-03-20/telegram-loses-bid-to-stop-russia-from-getting-encryption-keys)
+ - [South Africa](https://en.wikipedia.org/wiki/Key_disclosure_law#South_Africa)
+ - [United Kingdom](https://en.wikipedia.org/wiki/Key_disclosure_law#United_Kingdom)
+ ' + %} + + {% include components/panel.html color="warning" + title=lang.may_apply + list=' + - [Belgium *](https://en.wikipedia.org/wiki/Key_disclosure_law#Belgium)
+ - [Finland *](https://en.wikipedia.org/wiki/Key_disclosure_law#Finland)
+ - [New Zealand](https://en.wikipedia.org/wiki/Key_disclosure_law#New_Zealand) (unclear)
+ - [The Netherlands *](https://en.wikipedia.org/wiki/Key_disclosure_law#The_Netherlands)
+ - [United States](https://en.wikipedia.org/wiki/Key_disclosure_law#United_States) (see related information)
+ ' + %} + + {% include components/panel.html color="success" + title=lang.dont_apply + list=' + - [Czech Republic](https://en.wikipedia.org/wiki/Key_disclosure_law#Czech_Republic)
+ - [Germany](https://en.wikipedia.org/wiki/Key_disclosure_law#Germany)
+ - [Poland](https://en.wikipedia.org/wiki/Key_disclosure_law#Poland)
+ - [Sweden](https://en.wikipedia.org/wiki/Key_disclosure_law#Sweden) (proposed)
+ ' + %} + +
+ +\* ({{ lang.footnote }}) + +### {{ general.related_information }} +- Wikipedia page on key disclosure law +- law.stackexchange.com question about key disclosure law in US +- DEFCON 20: Crypto and the Cops: the Law of Key Disclosure and Forced Decryption \ No newline at end of file diff --git a/_includes/content/nothing_to_hide.md b/_includes/content/nothing_to_hide.md new file mode 100644 index 00000000..04aa5826 --- /dev/null +++ b/_includes/content/nothing_to_hide.md @@ -0,0 +1,18 @@ +{% include language %} + + +
+

+ Glenn Greenwald: {{ lang.talk_name }} + {{ lang.quote }} +

+ +
+ +#### {{ general.read_also }}: + +- [Nothing to hide argument (Wikipedia)](https://en.wikipedia.org/wiki/Nothing_to_hide_argument) +- [How do you counter the "I have nothing to hide?" argument? (reddit.com)](https://www.reddit.com/r/privacy/comments/3hynvp/how_do_you_counter_the_i_have_nothing_to_hide/) +- ["I've Got Nothing to Hide" and Other Misunderstandings of Privacy (Daniel J. Solove - San Diego Law Review)](https://papers.ssrn.com/sol3/papers.cfm?abstract_id=998565) \ No newline at end of file diff --git a/_includes/content/usa.md b/_includes/content/usa.md new file mode 100644 index 00000000..87d9263f --- /dev/null +++ b/_includes/content/usa.md @@ -0,0 +1,17 @@ +{% include language %} + +

{{ lang.title }}

+ +USA + +{{ lang.description }} + +### {{ general.related_information }} + +- [Avoid all US and UK based services](https://www.bestvpn.com/the-ultimate-privacy-guide/#avoidus) +- [Proof that warrant canaries work based on the surespot example.](https://en.wikipedia.org/wiki/Surespot#History) +- [The United Kingdom – United States of America Agreement (UKUSA)](https://en.wikipedia.org/wiki/UKUSA_Agreement) +- [Lavabit: Suspension and gag order](https://en.wikipedia.org/wiki/Lavabit#Suspension_and_gag_order) +- [Key disclosure law](https://en.wikipedia.org/wiki/Key_disclosure_law) +- [Wikipedia Portal: Mass_surveillance](https://en.wikipedia.org/wiki/Portal:Mass_surveillance) + diff --git a/_includes/footer.html b/_includes/footer.html deleted file mode 100644 index beebe2f6..00000000 --- a/_includes/footer.html +++ /dev/null @@ -1,85 +0,0 @@ -
- - - -

Spread the word and help your friends

- -
- - -
- -

Copy URL and Description

- -

- - For easy copy and paste. Share this text snippet. -

- - - -
-
- CC0CC0 -
- -
- - Contact -
- -
- - Support Us! -
-
- - -
diff --git a/_includes/head.html b/_includes/head.html deleted file mode 100644 index cce89706..00000000 --- a/_includes/head.html +++ /dev/null @@ -1,48 +0,0 @@ - - - - - - - - - - - - - - {% if page.title %} - {{ page.title }} | privacytools.io - - {% else %} - {{ site.title }} - - {% endif %} - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/_includes/index.html b/_includes/index.html new file mode 100644 index 00000000..0966424e --- /dev/null +++ b/_includes/index.html @@ -0,0 +1,2104 @@ +{% assign lang = site.data.lang.general.[include.lang] %} + +
+ +
+ +

privacytools.io

+

{{ lang.site_subheading }}

+ +
+ + +

+ + Language: + + 繁體中文 + + Español + + Deutsch + + Italiano + + Русский + + Français +

+ + + {% include section name="nothing_to_hide" %} + {% include section name="fourteen_eyes" %} + {% include section name="key_disclosure_law" %} + {% include section name="usa" %} + +

VPN providers with extra layers + of privacy

+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Sortable VPN Providers TableYearly PriceFree Trial# ServersJurisdictionWebsite
+ AirVPN54 €Yes162 ItalyAirVPN.org
+ AzireVPN + 45 €Yes5 SwedenAzireVPN.com
+ blackVPN + 99 €Yes27 Hong KongblackVPN.com
+ Cryptostorm + $ 52Yes18 IcelandCryptostorm.is
+ ExpressVPN + $ 99.95 Yes145 British Virgin IslandsExpressVPN.com
+ FrootVPN + $ 35.88No27 SwedenFrootVPN.com
+ hide.me + $ 65.04Yes88 Malaysiahide.me
+ IVPN + $ 100Yes21 GibraltarIVPN.net
+ Mullvad + 60 €Yes168 SwedenMullvad.net
+ NordVPN + $ 69Yes475 PanamaNordVPN.com
+ OVPN.com + $ 84Yes39 SwedenOVPN.com
+ Perfect Privacy + 124.95 €No41 PanamaPerfect-Privacy.com
+ ProtonVPN + FreeYes249 SwitzerlandProtonVPN.com
+ Proxy.sh + $ 90No300 SeychellesProxy.sh
+ Trust.Zone + $ 39.95Yes48 SeychellesTrust.Zone
+ VPN.ht + $ 39.99No122 Hong KongVPN.ht
+ VPNArea + $ 59.00Yes204 BulgariaVPNArea.com
+ VPNTunnel + $ 35.88No80 SeychellesVPNTunnel.com
+
+ + +
+
+
+ +

Our VPN Provider Criteria

+
    +
  • Operating outside the USA or other Five Eyes countries.

    More: Avoid all US and UK based services.

  • +
  • OpenVPN software support.
  • +
  • Accepts Bitcoin, cash, debit cards or cash cards as a payment method.
  • +
  • No personal information is required to create an account. Only username, password and Email.
  • +
+

We're not affiliated with any of the above-listed VPN providers. This way can give you honest recommendations.

+ +

More VPN Provider

+

+ + Spreadsheet with unbiased, independently verifiable data on over 100 VPN services. + + + (Join the discussion on Reddit) + +

+
+ + + +
+
+ + +

What is a warrant canary?

+ Warrant Canary Example +

A warrant canary is a posted document stating that an organization has not received any secret subpoenas during a specific period of time. If this document fails to be updated during the specified time then the user is to assume that the service has + received such a subpoena and should stop using the service.

+

Warrant Canary Examples:

+
    +
  1. https://proxy.sh/canary
  2. +
  3. https://www.ivpn.net/resources/canary.txt
  4. +
  5. https://www.bolehvpn.net/canary.txt
  6. +
  7. https://lokun.is/canary.txt
  8. +
  9. https://www.ipredator.se/static/downloads/canary.txt
  10. +
+

Related Warrant Canary Information

+ + + +

Browser Recommendation

+ +
+ + {% include components/card.html color="success" + title="Tor Browser" + image="/assets/img/tools/Tor-Project.png" + url="https://www.torproject.org/" + tor="http://expyuzz4wqqyqhjn.onion" + footer='OS: Windows, macOS, Linux, iOS, Android, OpenBSD.' + description="Tor Browser is your choice if you need an extra layer of anonymity. It's a modified version of Firefox, it comes with pre-installed privacy add-ons, encryption and an advanced proxy." + %} + + {% include components/card.html color="primary" + title="Mozilla Firefox" + image="/assets/img/tools/Firefox.png" + url="https://www.firefox.com/" + footer="OS: Windows, macOS, Linux, Android, iOS, BSD." + description='Firefox is fast, reliable, open source and respects your privacy. Don\'t forget to adjust the settings according to our + recommendations: WebRTC and about:config and get the privacy add-ons.' + %} + + {% include components/card.html color="warning" + title="Brave" + labels="warning:experimental:Brave is a good choice if you want to use a Chromium-based browser. But at this point in Brave's development, it's not as good as Firefox with privacy addons." + image="/assets/img/tools/Brave.png" + url="https://www.brave.com/" + footer="OS: Windows, macOS, Linux, Android, iOS." + description="The new open source browser \"Brave\" automatically blocks ads and trackers, making it faster and safer than your current browser. Brave is based on Chromium." + %} + + + +
+ + +

Browser Fingerprint - Is your browser configuration unique?

+ + + + + + Fingerprint image + + +

When you visit a web page, your browser voluntarily sends information about its configuration, such as available fonts, browser type, and add-ons. If this combination of information is unique, it may be possible to identify and track you without using + cookies. EFF created a Tool called Panopticlick to test your browser to see how unique it is.

+ + +

+ + Test your Browser now + +

+ + +

You need to find what most browsers are reporting, and then use those variables to bring your browser in the same population. This means having the same fonts, plugins, and extensions installed as the large installed base. You should + have a spoofed user agent string to match what the large userbase has. You need to have the same settings enabled and disabled, such as DNT and WebGL. You need your browser to + look as common as everyone else. Disabling JavaScript, using Linux, or even the TBB, will make your browser stick out from the masses.

+ + +

Modern web browsers have not been architected to assure personal web privacy. Rather than worrying about being fingerprinted, it seems more practical to use free software plugins like Privacy Badger, uBlock Origin and Disconnect. + They not only respect your freedom, but your privacy also. You can get much further with these than trying to manipulate your browser's fingerprint.

+ + +

Related Information

+ + + +

WebRTC IP Leak Test - Is your IP address leaking?

+ + + + + +

While software like NoScript prevents this, it's probably a good idea to block this protocol directly as well, just to be safe.

+ + +

+ Test your Browser now +

+ + +

How to disable WebRTC in Firefox?

+ + +

In short: Set "media.peerconnection.enabled" to "false" in "about:config".

+

Explained:

+
    +
  1. Enter "about:config" in the firefox address bar and press enter.
  2. +
  3. Press the button "I'll be careful, I promise!"
  4. +
  5. Search for "media.peerconnection.enabled"
  6. +
  7. Double click the entry, the column "Value" should now be "false"
  8. +
  9. Done. Do the WebRTC leak test again.
  10. +
+ +

If you want to make sure every single WebRTC related setting is really disabled change these settings:

+
    +
  1. media.peerconnection.turn.disable = true
  2. +
  3. media.peerconnection.use_document_iceservers = false
  4. +
  5. media.peerconnection.video.enabled = false
  6. +
  7. media.peerconnection.identity.timeout = 1
  8. +
+

Now you can be 100% sure WebRTC is disabled.

+ + +

+ Test your Browser again +

+ + +

How to fix the WebRTC Leak in Google Chrome?

+

WebRTC cannot be fully disabled in Chrome, however it is possible to change its routing settings (and prevent leaks) using an extension. Two open source solutions include WebRTC Leak Prevent (options may need to be changed depending on the scenario), and uBlock Origin (select "Prevent WebRTC from leaking local IP addresses" in Settings).

+ +

What about other browsers?

+

Chrome on iOS, Internet Explorer and Safari does not implement WebRTC yet. But we recommend using Firefox on all devices.

+

Excellent Firefox Privacy Add-ons

+ + +

Stop Tracking with "Privacy Badger"

+ Privacy Badger +

Privacy Badger is a browser add-on that stops advertisers and other third-party trackers from secretly tracking where you go and what pages you look at on the web. Privacy Badger learns about trackers as you browse by inspecting external resources websites request. Please be aware that Google Analytics is considered first-party by Privacy Badger, which means that Google Analytics will not be blocked if you do not use another blocker, such as uBlock Origin. + + https://www.eff.org/privacybadger/

+ +

Block Ads and Trackers with "uBlock Origin"

+ uBlock +

An efficient wide-spectrum-blocker that's easy on memory, and yet can load and enforce thousands more filters than other popular blockers out there. It has no monetization strategy and + is completely open source. We recommend Firefox but uBlock Origin also works in other browsers such as Safari, Opera, and Chromium. Unlike AdBlock Plus, uBlock does not allow so-called "acceptable ads". +
+ https://addons.mozilla.org/firefox/addon/ublock-origin/ +

+ + + +

Automatically Delete Cookies with "Cookie AutoDelete"

+ Cookie AutoDelete +

Automatically removes cookies when they are no longer used by open browser tabs. With the cookies, lingering sessions, as well as information used to spy on you, will be expunged. +
+ https://addons.mozilla.org/firefox/addon/cookie-autodelete/

Encryption with "HTTPS Everywhere"

+ HTTPS Everywhere +

A Firefox, Chrome, and Opera extension that encrypts your communications with many major websites, making your browsing more secure. A collaboration between The Tor Project and the Electronic Frontier Foundation. +
+ https://www.eff.org/https-everywhere

+ +

Block Content Delivery Networks with "Decentraleyes"

+ Decentraleyes +

Emulates Content Delivery Networks locally by intercepting requests, finding the required resource and injecting it into the environment. This all happens instantaneously, automatically, and no prior configuration is required. Source code: GitLab (self-hosted). +
+ https://addons.mozilla.org/firefox/addon/decentraleyes/

+ + + +

Stop cross-site requests with "uMatrix"

+ uMatrix +

Many websites integrate features which let other websites track you, such as Facebook Like Buttons or Google Analytics. uMatrix gives you control over the requests that websites make to other websites. This gives you greater and more fine-grained control + over the information that you leak online. +
+ https://addons.mozilla.org/firefox/addon/umatrix/ +

+ +

Be in total control with "NoScript Security Suite"

+ NoScript +

+ Highly customizable plugin to selectively allow Javascript, Java, and Flash to run only on websites you trust. Not for casual users, it requires technical knowledge to configure. +
+ https://addons.mozilla.org/firefox/addon/noscript/ +

+

Firefox: Privacy Related "about:config" Tweaks

+ + + + +

Preparation:

+
    +
  1. Enter "about:config" in the firefox address bar and press enter.
  2. +
  3. Press the button "I'll be careful, I promise!"
  4. +
  5. Follow the instructions below...
  6. +
+ + +

Getting started:

+ +
    +
  1. privacy.firstparty.isolate = true +
      +
    • A result of the Tor Uplift effort, this preference isolates all browser identifier sources (e.g. cookies) to the first party domain, with the goal of preventing tracking across different domains. (Don't do this if you are using the Firefox Addon "Cookie AutoDelete" with Firefox v58 or below.)
    • +
    +
  2. + +
  3. privacy.resistFingerprinting = true +
      +
    • A result of the Tor Uplift effort, this preference makes Firefox more resistant to browser fingerprinting.
    • +
    +
  4. + +
  5. privacy.trackingprotection.enabled = true +
      +
    • This is Mozilla’s new built-in tracking protection. It uses Disconnect.me filter list, which is redundant if you are already using uBlock Origin 3rd party filters, therefore you should set it to false if you are using the add-on functionalities.
    • +
    +
  6. + +
  7. browser.cache.offline.enable = false +
      +
    • Disables offline cache.
    • +
    +
  8. + +
  9. browser.safebrowsing.malware.enabled = false +
      +
    • Disable Google Safe Browsing malware checks. Security risk, but privacy improvement.
    • +
    +
  10. + +
  11. browser.safebrowsing.phishing.enabled = false +
      +
    • Disable Google Safe Browsing and phishing protection. Security risk, but privacy improvement.
    • +
    +
  12. + +
  13. browser.send_pings = false +
      +
    • The attribute would be useful for letting websites track visitors’ clicks.
    • +
    +
  14. + +
  15. browser.sessionstore.max_tabs_undo = 0 +
      +
    • Even with Firefox set to not remember history, your closed tabs are stored temporarily at Menu -> History -> Recently Closed Tabs.
    • +
    +
  16. + +
  17. browser.urlbar.speculativeConnect.enabled = false +
      +
    • Disable preloading of autocomplete URLs. Firefox preloads URLs that autocomplete when a user types into the address bar, which is a concern if URLs are suggested that the user does not want to connect to. Source
    • +
    +
  18. + +
  19. dom.battery.enabled = false +
      +
    • Website owners can track the battery status of your device. Source
    • +
    +
  20. + +
  21. dom.event.clipboardevents.enabled = false +
      +
    • Disable that websites can get notifications if you copy, paste, or cut something from a web page, and it lets them know which part of the page had been selected.
    • +
    +
  22. + +
  23. geo.enabled = false +
      +
    • Disables geolocation.
    • +
    +
  24. + +
  25. media.eme.enabled = false +
      +
    • Disables playback of DRM-controlled HTML5 content, which, if enabled, automatically downloads the Widevine Content Decryption Module provided by Google Inc. Details
    • +
    • DRM-controlled content that requires the Adobe Flash or Microsoft Silverlight NPAPI plugins will still play, if installed and enabled in Firefox.
    • +
    +
  26. + +
  27. media.gmp-widevinecdm.enabled = false +
      +
    • Disables the Widevine Content Decryption Module provided by Google Inc., used for the playback of DRM-controlled HTML5 content. Details
    • +
    +
  28. + +
  29. media.navigator.enabled = false +
      +
    • Websites can track the microphone and camera status of your device.
    • +
    +
  30. + +
  31. network.cookie.cookieBehavior = 1 +
      +
    • Disable cookies
    • +
    • 0 = Accept all cookies by default
    • +
    • 1 = Only accept from the originating site (block third-party cookies)
    • +
    • 2 = Block all cookies by default
    • +
    +
  32. + +
  33. network.cookie.lifetimePolicy = 2 +
      +
    • cookies are deleted at the end of the session
    • +
    • 0 = Accept cookies normally
    • +
    • 1 = Prompt for each cookie
    • +
    • 2 = Accept for current session only
    • +
    • 3 = Accept for N days
    • +
    +
  34. + +
  35. network.http.referer.trimmingPolicy = 2 +
      +
    • Send only the scheme, host, and port in the Referer header
    • +
    • 0 = Send the full URL in the Referer header
    • +
    • 1 = Send the URL without its query string in the Referer header
    • +
    • 2 = Send only the scheme, host, and port in the Referer header
    • +
    +
  36. + +
  37. network.http.referer.XOriginPolicy = 2 +
      +
    • Only send Referer header when the full hostnames match. (Note: if you notice significant breakage, you might try 1 combined with an XOriginTrimmingPolicy tweak below.) Source
    • +
    • 0 = Send Referer in all cases
    • +
    • 1 = Send Referer to same eTLD sites
    • +
    • 2 = Send Referer only when the full hostnames match
    • +
    +
  38. + +
  39. network.http.referer.XOriginTrimmingPolicy = 2 +
      +
    • When sending Referer across origins, only send scheme, host, and port in the Referer header of cross-origin requests. Source
    • +
    • 0 = Send full url in Referer
    • +
    • 1 = Send url without query string in Referer
    • +
    • 2 = Only send scheme, host, and port in Referer
    • +
    +
  40. + +
  41. webgl.disabled = true +
      +
    • WebGL is a potential security risk. Source
    • +
    +
  42. + +
  43. browser.sessionstore.privacy_level = 2 +
      +
    • This preference controls when to store extra information about a session: contents of forms, scrollbar positions, cookies, and POST data. Details
    • +
    • 0 = Store extra session data for any site. (Default starting with Firefox 4.)
    • +
    • 1 = Store extra session data for unencrypted (non-HTTPS) sites only. (Default before Firefox 4.)
    • +
    • 2 = Never store extra session data.
    • +
    +
  44. + +
  45. network.IDN_show_punycode = true +
      +
    • Not rendering IDNs as their Punycode equivalent leaves you open to phishing attacks that can be very difficult to notice. Source
    • +
    +
  46. + +
  47. extensions.blocklist.url = https://blocklists.settings.services.mozilla.com/v1/blocklist/3/%20/%20/ +
      +
    • Limit the amount of identifiable information sent when requesting the Mozilla harmful extension blocklist.
    • +
    • Optionally, the blocklist can be disabled entirely by setting extensions.blocklist.enabled to false for increased privacy, but decreased security. Source
    • +
    +
  48. +
+ + +

Related Information

+
    +
  • ffprofile.com - Helps you to create a Firefox profile with the defaults you like.
  • +
  • mozillazine.org - Security and privacy-related preferences.
  • +
  • user.js Firefox hardening stuff - This is a user.js configuration file for Mozilla Firefox that's supposed to harden Firefox's settings and make it more secure.
  • +
  • Privacy Settings - A Firefox add-on to alter built-in privacy settings easily with a toolbar panel.
  • +
+ +

Privacy-Conscious Email Providers - No Affiliates

+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Email ServiceURLSinceServerStoragePrice / YearBitcoinEncryptionOwn Domain
+ Protonmail + + WWW + Tor + 2013 Switzerland500 MBFreeAcceptedBuilt-inYes
+ Disroot + + WWW + 2015 Netherlands2 GBFreeAcceptedBuilt-inYes
+ Tutanota + + WWW + 2011 Germany1 GBFreeNoBuilt-inYes
+ Mailfence + + WWW + 2013 Belgium500 MBFreeAcceptedBuilt-inYes
+ mailbox.org + + + WWW + 2014 Germany2 GB12 €AcceptedBuilt-inYes
+ Posteo + + WWW + 2009 Germany2 GB12 €NoBuilt-inNo
+ Runbox + + + WWW + 1999 Norway1 GB$ 19.95YesNoYes
+ Neomailbox + + WWW + 2003 Switzerland1 GB$ 49.95AcceptedBuilt-inYes
+ StartMail + + WWW + 2014 Netherlands10 GB$ 59.95AcceptedBuilt-inYes
+ Kolab Now + + WWW + 2010 Switzerland2 GB$ 60AcceptedNoYes
+
+ +

Interesting Email Providers Under Development

+
    +
  • Confidant Mail - An open-source non-SMTP cryptographic email system optimized for large file attachments. It is a secure and spam-resistant alternative to regular email and online file drop services. It + uses GNU Privacy Guard (GPG) for content encryption and authentication, and TLS 1.2 with ephemeral keys for transport encryption.
  • +

Become Your Own Email Provider with Mail-in-a-Box

+ Mail-in-a-Box +

Take it a step further and get control of your email with this easy-to-deploy mail server in a box. Mail-in-a-Box lets you become your own mail service provider in a few easy steps. It’s sort of like making your own Gmail, but one you control from top + to bottom. Technically, Mail-in-a-Box turns a fresh cloud computer into a working mail server. But you don’t need to be a technology expert to set it up. More: https://mailinabox.email/

+ +

Privacy Email Tools

+
    +
  • gpg4usb - A very easy to use and small portable editor to encrypt and decrypt any text-message or -file. For Windows and Linux. GPG tutorial.
  • +
  • Mailvelope - A browser extension that enables the exchange of encrypted emails following the OpenPGP encryption standard.
  • +
  • Enigmail - A security extension to Thunderbird and Seamonkey. It enables you to write and receive email messages signed and/or encrypted with the OpenPGP standard.
  • +
  • TorBirdy - This extension configures Thunderbird to make connections over the Tor anonymity network.
  • +
  • Email Privacy Tester - This tool will send an Email to your address and perform privacy-related tests.
  • +
+ +

Related Information

+
    +
  • Aging ‘Privacy’ Law Leaves Cloud E-Mail Open to Cops - Data stored in the cloud for longer than 6 months is considered abandoned and may be accessed by intelligence agencies without + a warrant. Learning: Use an external email client like Thunderbird or Enigmail, download your emails and store them locally. Never leave them on the server.
  • +
  • With May First/Riseup Server Seizure, FBI Overreaches Yet Again
  • +
  • Autistici/Inventati server compromised - The cryptographic services offered by the Autistici/Inventati server have been compromised on 15th June 2004. It was discovered on 21st June 2005. One year + later. During an enquiry on a single mailbox, the Postal Police may have tapped for a whole year every user's private communication going through the server autistici.org/inventati.org.
  • +
+ +

Email Clients

+
+ + {% include components/card.html color="success" + title="Thunderbird" + image="/assets/img/tools/Thunderbird.png" + url="https://mozilla.org/thunderbird" + website="mozilla.org" + footer="OS: Windows, macOS, Linux, BSD." + description="Mozilla Thunderbird is a free, open source, cross-platform email, news, and chat client developed by the Mozilla Foundation. Thunderbird is an email, newsgroup, news feed, and chat (XMPP, IRC, Twitter) client." + %} {% include components/card.html color="primary" + title="Claws Mail" + image="/assets/img/tools/Claws-Mail.png" + url="https://www.claws-mail.org/" + footer="OS: Windows, macOS, Linux, BSD, Solaris, Unix." + description="Claws Mail is a free and open source, GTK+-based email and news client. It offers easy configuration and an abundance of features. It is included with Gpg4win, an encryption suite for Windows." + %} + +
+ +

Worth Mentioning

+
    +
  • K-9 Mail - An independent mail application for Android. It supports both POP3 and IMAP mailboxes, but only supports push mail for IMAP.
  • +
  • GNU Privacy Guard - Email Encryption. GnuPG is a GPL Licensed alternative to the PGP suite of cryptographic software. Tutorial. Use GPGTools for macOS.
  • +
  • Mailpile (Beta) - A modern, fast web-mail client with user-friendly encryption and privacy features.
  • +
+ +

Email Alternatives

+
+ + {% include components/card.html color="success" + title="I2P-Bote" + image="/assets/img/tools/I2P.png" + url="https://i2pbote.xyz/" + footer="OS: Windows, macOS, Linux, Android, BSD / Solaris." + description="I2P-Bote is a fully decentralized and distributed email system. It supports different identities and does not expose email headers. Currently (2015), it is still + in beta version and can be accessed via its web application interface or IMAP and SMTP. All bote-mails are transparently end-to-end encrypted and, optionally, signed by the sender's private key." + %} + + {% include components/card.html color="primary" + title="Bitmessage" + image="/assets/img/tools/Bitmessage.png" + url="https://bitmessage.org/" + footer="OS: Windows, macOS, Linux." + description="Bitmessage is a P2P communications protocol used to send encrypted messages to another person or to many subscribers. It is decentralized and trustless, + meaning that you need-not inherently trust any entities like root certificate authorities. It uses strong authentication which means that the sender of a message cannot be spoofed, and it aims to hide \"non-content\" data." + %} {% include components/card.html color="warning" + title="RetroShare" + image="/assets/img/tools/RetroShare.png" + url="http://retroshare.net" + footer="OS: Windows, macOS, Linux." + description="Retroshare creates encrypted connections to your friends. Nobody can spy on you. Retroshare is completely decentralized. This means there are no central servers. It is entirely Open-Source and free. There are no costs, no ads and no Terms of Service." + %} +
+ +

Privacy Respecting Search Engines

+ + + +
+ + {% include components/card.html color="success" + title="searx" + image="/assets/img/provider/searx.jpg" + url="https://searx.me/" + tor="http://ulrn6sryqaifefld.onion" + extra_button='List of Instances' + description='An open source metasearch engine, aggregating the results of other search engines while not storing information about its users. No logs, no ads and no tracking.' + %} + + {% include components/card.html color="primary" + title="StartPage" + image="/assets/img/provider/StartPage.png" + url="https://www.startpage.com/" + description="Google search results, with complete privacy protection. Behind StartPage is a european company that has been obsessive about privacy since 2006." + %} + + {% include components/card.html color="warning" + title="DuckDuckGo" + image="/assets/img/provider/DuckDuckGo.jpg" + url="https://duckduckgo.com/" + tor="http://3g2upl4pq6kufc4m.onion" + description='The search engine that doesn\'t track you. Some of DuckDuckGo\'s code is free software hosted at GitHub, but the core is proprietary. The company is based in the USA.' + %} +
+ +

Firefox Addon

+
    +
  • + Google search link fix - Firefox extension that prevents Google and Yandex search pages from modifying search result links when you click them. This is useful when + copying links but it also helps privacy by preventing the search engines from recording your clicks. (Open Source) +
  • +
+ +

Worth Mentioning

+
    +
  • + Qwant - Qwant's philosophy is based on two principles: no user tracking and no filter bubble. Qwant was launched in France in February 2013. Privacy Policy. +
  • +
  • + MetaGer - An open source metasearch engine, which is based in Germany. It focuses on protecting the user's privacy. +
  • +

Encrypted Instant Messenger

+ + +
+ {% include components/card.html color="success" + title="Mobile: Signal" + image="/assets/img/tools/Signal.png" + url="https://signal.org" + footer="OS: Android, iOS, macOS, Windows, Linux" + description="Signal is a mobile app developed by Open Whisper Systems. The app provides instant messaging, as well as voice and video calling. + All communications are end-to-end encrypted. Signal is free and open source, enabling anyone to verify its security by auditing the code. The development team is supported by community donations and grants. There are no advertisements, + and it doesn't cost anything to use." + %} + + + {% include components/card.html color="primary" + title="Riot.im" + image="/assets/img/tools/riot.png" + url="https://riot.im/" + footer="OS: Android, iOS, macOS, Windows, Linux, Web" + labels="warning:beta:The software is currently in beta and the mobile client states 'End-to-end encryption is in beta and may not be reliable. You should not yet trust it to secure data.'" + description='Riot.im is a decentralized free-software chatting application based on the Matrix protocol, a recent open protocol for real-time communication offering E2E encryption. It can bridge other communications via others protocols such as IRC too.' + %} + + {% include components/card.html color="warning" + title="Desktop: Ricochet" + image="/assets/img/tools/Ricochet.png" + url="https://ricochet.im/" + footer="OS: Windows, macOS, Linux." + description='Ricochet uses the Tor network to reach your contacts without relying on messaging servers. It creates a hidden service, which is used to rendezvous with + your contacts without revealing your location or IP address. Instead of a username, you get a unique address that looks like ricochet:rs7ce36jsj24ogfw. Other Ricochet users can use this address to send a contact request - asking to be + added to your contacts list.' + %} + +
+

Worth Mentioning

+
    +
  • ChatSecure - ChatSecure is a free and open source messaging app that features OTR encryption over XMPP.
  • +
  • Cryptocat - Encrypted open source messenger. Supports file sharing and multiple devices. Available for Windows, Linux and macOS.
  • +
  • Kontalk - A community-driven instant messaging network. Supports end-to-end encryption. Both client-to-server and server-to-server channels are fully encrypted.
  • +
  • Conversations - An open source Jabber/XMPP client for Android 4.4+ smartphones. Supports end-to-end encryption with either OMEMO or openPGP. There is also Conversations Legacy which still supports OTR.
  • +
  • Wire experimental (more info) - A free software End-to-End Encrypted chating application that supports instant messaging, voice, and video calls.
  • +
  • List of OTR Clients - Wikipedia
  • +
+ + +

Related Information

+ + +

Encrypted Video & Voice Messenger

+ +
+ {% include components/card.html color="success" + title="Mobile: Signal" + image="/assets/img/tools/Signal.png" + url="https://signal.org" + footer="OS: Android, iOS, macOS, Windows, Linux" + description="Signal is a mobile app developed by Open Whisper Systems. The app provides instant messaging, as well as voice and video calling. + All communications are end-to-end encrypted. Signal is free and open source, enabling anyone to verify its security by auditing the code. The development team is supported by community donations and grants. There are no advertisements, + and it doesn't cost anything to use." + %} + + {% include components/card.html color="primary" + title="Wire" + image="/assets/img/tools/wire.png" + url="https://get.wire.com" + footer="OS: Android, iOS, macOS, Windows, Linux, Web" + description="Wire is an app developed by Wire Swiss GmbH. + The Wire app allows users to exchange end-to-end encrypted instant messages, as well as make voice and video calls. Wire is free and open source, enabling anyone to verify its security by auditing the code. + The development team is backed by Iconical and they will monetize in the future with premium features/services.
+ Caution: The company keeps a list of all the users you contact until you delete your account." + %} + + {% include components/card.html color="warning" + title="Linphone" + image="/assets/img/tools/Linphone.png" + url="https://www.linphone.org/" + footer="OS: iOS, Android, Windows Phone, Linux, Windows, macOS, Browser (Web)" + description="Linphone is an open source SIP Phone and a free voice over IP service, available on mobile and desktop environments and on web browsers. It supports ZRTP for end-to-end encrypted voice and video communication." + %} + +

Worth Mentioning

+
    +
  • Jitsi - Jitsi is a free and open source multiplatform voice (VoIP), videoconferencing and instant messaging application.
  • +
  • Tox - Experimental A free and open-source, peer-to-peer, encrypted instant messaging and video calling software.
  • +
  • Ring (formerly SFLphone) - Gives you a full control over your communications and an unmatched level of privacy.
  • +
+ +

Related Information

+

File Sharing

+
+ {% include components/card.html color="success" + title="OnionShare" + image="/assets/img/tools/OnionShare.png" + url="https://onionshare.org/" + tor="http://elx57ue5uyfplgva.onion/" + footer="OS: Windows, macOS, Linux." + description="OnionShare is an open source tool that lets you securely and anonymously share a file of any size. It works by starting a web server, making it accessible as a Tor onion service, and generating an unguessable URL to access and download the files. It doesn't require setting up a server on the internet somewhere or using a third-party filesharing service. You host the file on your own computer and use a Tor onion service to make it temporarily accessible over the internet." + %} + + {% include components/card.html color="primary" + title="Magic Wormhole" + image="/assets/img/tools/Magic-Wormhole.png" + url="https://github.com/warner/magic-wormhole" + footer='OS: cross-platform (python)' + description='Get things from one computer to another, safely.This package provides a library and a command-line tool named wormhole, which makes it possible to get arbitrary-sized files and directories (or short pieces of text) from one computer to another. The two endpoints are identified by using identical "wormhole codes": in general, the sending machine generates and displays the code, which must then be typed into the receiving machine. The codes are short and human-pronounceable, using a phonetically-distinct wordlist. The receiving side offers tab-completion on the codewords, so usually only a few characters must be typed. Wormhole codes are single-use and do not need to be memorized.' + %} +
+ +

Encrypted Cloud Storage Services

+ + + +
+ + {% include components/card.html color="success" + title="Nextcloud - Choose your hoster" + image="/assets/img/provider/Nextcloud.png" + + description="Similar functionally to the widely used Dropbox, with the difference being that Nextcloud is free and open-source, and thereby allowing anyone to install and operate it without charge on a private server, with no limits on storage space or the number of connected clients." + + url="https://nextcloud.com/" + footer="Client OS: Windows, macOS, Linux, BSD, Unix, iOS, Android, Fire OS. Server: Linux." + %} + + {% include components/card.html color="primary" + title="Least Authority S4 - For Experts" + image="/assets/img/provider/S4.jpg" + + description="S4 (Simple Secure Storage Service) is Least Authority's verifiably secure off-site backup system for individuals and businesses. 100% client-side encryption and open source transparency. 250GB for $9.95/month or 5TB for $25.95/month. Servers are hosted with Amazon S3 in the US." + + url="https://leastauthority.com/" + footer='OS: Linux, Windows, macOS, OpenSolaris, BSD. (Installation for advanced users)' + %} + +
+ +

Related Information

+
    +
  • Cryptomator - Free client-side AES encryption for your cloud files. Open source software: No backdoors, no registration.
  • +
+ +

Self-Hosted Cloud Server Software

+ +
+ + {% include components/card.html color="success" + title="Pydio" + image="/assets/img/tools/Pydio.png" + url="https://pydio.com/" + footer="OS: Windows, macOS, Linux, iOS, Android." + description="Pydio is open source software that turns instantly any server (on-premise, NAS, cloud IaaS or PaaS) into a file sharing platform for your company. It is an alternative + to SaaS Boxes and Drives, with more control, safety and privacy, and favorable TCOs." + %} + + {% include components/card.html color="primary" + title="Tahoe-LAFS" + image="/assets/img/tools/Tahoe-LAFS.png" + url="https://www.tahoe-lafs.org/" + footer="OS: Windows, macOS, Linux." + description="Tahoe-LAFS is a Free and Open decentralized cloud storage system. It distributes your data across multiple servers. Even if some of the servers fail or are + taken over by an attacker, the entire file store continues to function correctly, preserving your privacy and security." + %} + + {% include components/card.html color="warning" + title="Nextcloud" + image="/assets/img/provider/Nextcloud.png" + url="https://nextcloud.com/" + footer="Client OS: Windows, macOS, Linux, BSD, Unix, iOS, Android, Fire OS. Server: Linux." + description="Similar functionally to the widely used Dropbox, with the difference being that Nextcloud is free and open-source, and thereby allowing anyone to install and operate it without charge on a private server, with no limits on storage space or the number of connected clients." + %} + +
+ + +

Secure Hosting Provider

+
+ {% include components/card.html color="success" + title="BAHNHOF" + image="/assets/img/tools/bahnhof.png" + url="https://www.bahnhof.net/" + description="BAHNHOF is a widely known 'bullet-proof' hosting company utilized by Wikileaks." + %} + {% include components/card.html color="primary" + title="Colocation: DataCell" + image="/assets/img/tools/datacell.png" + url="https://datacell.is/" + description="DataCell is a data center providing secure colocating in Switzerland and Iceland." + %} + + {% include components/card.html color="warning" + title="VPS/Web Hosting: Orange Website" + image="/assets/img/tools/orange_hosting.png" + url="https://www.orangewebsite.com/" + description="Orange Website is an Icelandic web hosting provider that prides themselves in protecting online privacy and free speech." + %} +
+ + +

Secure File Sync Software

+
+ + {% include components/card.html color="success" + title="SparkleShare" + image="/assets/img/tools/SparkleShare.png" + url="http://sparkleshare.org/" + footer="OS: Windows, macOS, Linux." + description="SparkleShare creates a special folder on your computer. You can add remotely hosted folders (or \"projects\") to this folder. These projects will be automatically + kept in sync with both the host and all of your peers when someone adds, removes or edits a file." + %} {% include components/card.html color="primary" + title="Syncthing" + image="/assets/img/tools/Syncthing.png" + url="https://syncthing.net/" + footer="OS: Windows, macOS, Linux, Android, BSD, Solaris." + description="Syncthing replaces proprietary sync and cloud services with something open, trustworthy and decentralized. Your data is your data alone and you deserve to + choose where it is stored, if it is shared with some third-party and how it's transmitted over the Internet." + %}
+

Worth Mentioning

+
    +
  • + git-annex - Allows managing files with git, without checking the file contents into git. While that may seem paradoxical, it is useful when dealing with files larger than git can currently easily handle, + whether due to limitations in memory, time, or disk space. +
  • +
+

Password Manager Software

+ +
+ + {% include components/card.html color="success" + title="Bitwarden - Cloud/Self-host" + image="/assets/img/tools/bitwarden.png" + url="https://bitwarden.com/" + footer="OS: Windows, macOS, Linux, iOS, Android, Web." + description="Bitwarden is a free and open source password manager. It aims to solve password management problems for individuals, teams, and business organizations. Bitwarden is among the easiest and safest solutions to store all of your logins and passwords while conveniently keeping them synced between all of your devices. If you don't want to use the Bitwarden cloud, you can easily host your own Bitwarden server." + %} {% include components/card.html color="primary" + title="KeePass / KeePassXC - Local" + image="/assets/img/tools/KeePass.png" + url="https://keepass.info/download.html" + website="keepass.info" + footer="OS: Windows, macOS, Linux, iOS, Android, BSD." + description='KeePass is a free open source password manager, which helps you to manage your passwords in a secure way. All passwords in one database, which is locked with one + master key or a key file. The databases are encrypted using the best and most secure encryption algorithms currently known: AES and Twofish. See also: KeePassXC with official native cross-platform support for Windows/macOS/Linux.' + %} + + {% include components/card.html color="warning" + title="LessPass - Browser" + image="/assets/img/tools/LessPass.png" + url="https://lesspass.com/" + footer="OS: Windows, macOS, Linux, Android." + description="LessPass is a free and open source password manager that generates unique passwords for websites, email accounts, or anything else based on a master password and information you know. No sync needed. Uses PBKDF2 and SHA-256. It's advised to use the browser addons for more security." + %}
+

Worth Mentioning

+
    +
  • + Master Password - Master Password is based on an ingenious password generation algorithm that guarantees your passwords can never be lost. Its passwords aren't stored: they are generated on-demand from your name, the site and your master password. No syncing, backups or internet access needed. +
  • + +
  • + Password Safe - Whether the answer is one or hundreds, Password Safe allows you to safely and easily create a secured and encrypted username/password list. With Password Safe all you have to do is create and remember + a single "Master Password" of your choice in order to unlock and access your entire username/password list. +
  • +
+ +

Related Information

+ + +

Calendar and Contacts Sync

+ +
+ + {% include components/card.html color="success" + title="Nextcloud" + image="/assets/img/provider/Nextcloud.png" + url="https://nextcloud.com/" + footer="Client OS: Windows, macOS, Linux, BSD, Unix, iOS, Android, Fire OS. Server: Linux." + description="NextCloud is a suite of client-server software for creating and using file hosting services. This includes calendar sync via CalDAV and contacts sync via CardDAV. Nextcloud is free and open-source, thereby allowing anyone to install and operate it without charge on a private server." + %} + + {% include components/card.html color="primary" + title="Email Providers" + image="/assets/img/misc/email.png" + url="#email" + website="Email Providers section" + footer="OS: depends on email provider." + description="Many email providers also offer calendar and or contacts sync services. Refer to the Email Providers section to choose an email provider and check if they also offer calendar and or contacts sync." + %} + + {% include components/card.html color="warning" + title="EteSync" + image="/assets/img/provider/etesync.png" + url="https://www.etesync.com/" + footer="Client OS: Android, Web. Server OS: Linux." + description="EteSync is a secure, end-to-end encrypted and journaled personal information (e.g. contacts and calendar) cloud synchronization and backup for Android and any OS that supports CalDAV/CardDAV. It costs $14 per year to use, or you can host the server yourself for free." + %} + +
+

Worth Mentioning

+
    +
  • + fruux - a unified contacts/calendaring system that works across platforms and devices. +
  • + +
  • + Flock - a discontinued calendar and contacts sync service by Open Whisper Systems. Despite being shut down the source code is still available on GitHub. +
  • + +
  • + cloud backups - consider regularly exporting your calendar and or contacts and backing them up on a separate storage drive or uploading them to cloud storage (ideally after encrypting them). +
  • +
+ +

File Encryption Software

+ +
+ + {% include components/card.html color="success" + title="VeraCrypt - Disk Encryption" + image="/assets/img/tools/VeraCrypt.png" + url="https://veracrypt.fr/" + footer="OS: Windows, macOS, Linux." + description="VeraCrypt is a source-available freeware utility used for on-the-fly encryption. It can create a virtual encrypted disk within a file or encrypt a partition + or the entire storage device with pre-boot authentication. VeraCrypt is a fork of the discontinued TrueCrypt project. It was initially released on June 22, 2013. According to its developers, security improvements have been implemented and issues + raised by the initial TrueCrypt code audit have been addressed." + %} + + {% include components/card.html color="primary" + title="GNU Privacy Guard - Email Encryption" + image="/assets/img/tools/GnuPG.png" + url="https://gpgtools.org/" + footer="OS: Windows, macOS, Linux, Android, BSD." + description="GnuPG is a GPL Licensed alternative to the PGP suite of cryptographic software. GnuPG is compliant with RFC 4880, which is the current IETF standards track specification + of OpenPGP. Current versions of PGP (and Veridis' Filecrypt) are interoperable with GnuPG and other OpenPGP-compliant systems. GnuPG is a part of the Free Software Foundation's GNU software project, and has received major funding from the German + government. GPGTools for macOS." + %} + + {% include components/card.html color="warning" + title="PeaZip - File Archive Encryption" + image="/assets/img/tools/PeaZip.png" + url="http://www.peazip.org/" + footer="OS: Windows, Linux, BSD." + description="PeaZip is a free and open-source file manager and file archiver made by Giorgio Tani. It supports its native PEA archive format (featuring compression, multi volume + split and flexible authenticated encryption and integrity check schemes) and other mainstream formats, with special focus on handling open formats. It supports 181 file extensions (as of version 5.5.1).

+

macOS alternative: Keka is a free file archiver." + %} +

+ +

Worth Mentioning

+
    +
  • Cryptomator - Free client-side AES encryption for your cloud files. Open source software: No backdoors, no registration.
  • +
  • miniLock - Browser plugin for Google Chrome / Chromium to encrypt files using a secret passphrase. Easy to use. From the developer of Cryptocat.
  • +
  • AES Crypt - Using a powerful 256-bit encryption algorithm, AES Crypt can safely secure your most sensitive files. For Windows, macOS, Linux and Android.
  • +
  • DiskCryptor - A full disk and partition encryption system for Windows including the ability to encrypt the partition and disk on which the OS is installed.
  • +
  • Linux Unified Key Setup (LUKS) - A full disk encryption system for Linux using dm-crypt as the disk encryption backend. Included by default in Ubuntu. Available for Windows and Linux. +
+ +

Self-contained Networks

+ +
+ + {% include components/card.html color="success" + title="Tor Browser" + image="/assets/img/tools/Tor-Project.png" + url="https://www.torproject.org/" + tor="http://expyuzz4wqqyqhjn.onion" + footer='OS: Windows, macOS, Linux, iOS, Android, OpenBSD.' + description="The Tor network is a group of volunteer-operated servers that allows people to improve their privacy and security on the Internet. Tor's users employ this network by connecting through a series of virtual tunnels rather than making a direct connection, thus allowing both organizations and individuals to share information over public networks without compromising their privacy. Tor is an effective censorship circumvention tool." + %} + + {% include components/card.html color="primary" + title="I2P Anonymous Network" + image="/assets/img/tools/I2P.png" + url="https://geti2p.net/" + footer="OS: Windows, macOS, Linux, Android, BSD / Solaris." + description="The Invisible Internet Project (I2P) is a computer network layer that allows applications to send messages to each other pseudonymously and securely. Uses include anonymous + Web surfing, chatting, blogging and file transfers. The software that implements this layer is called an I2P router and a computer running I2P is called an I2P node. The software is free and open source and is published under multiple licenses." + %} + + {% include components/card.html color="warning" + title="The Freenet Project" + image="/assets/img/tools/Freenet.png" + url="https://freenetproject.org/" + footer="OS: Windows, macOS, Linux." + description="Freenet is a peer-to-peer platform for censorship-resistant communication. It uses a decentralized distributed data store to keep and deliver information, and + has a suite of free software for publishing and communicating on the Web without fear of censorship. Both Freenet and some of its associated tools were originally designed by Ian Clarke, who defined Freenet's goal as providing freedom of speech + on the Internet with strong anonymity protection." + %} + +
+ +

Worth Mentioning

+
    +
  • ZeroNet - Open, free and uncensorable websites, using Bitcoin cryptography and BitTorrent network.
  • +
  • RetroShare - Open Source cross-platform, Friend-2-Friend and secure decentralised communication platform.
  • +
  • GNUnet - GNUnet provides a strong foundation of free software for a global, distributed network that provides security and privacy.
  • +
  • IPFS - A peer-to-peer hypermedia protocol to make the web faster, safer, and more open. (important privacy warning)
  • +

Decentralized Social Networks

+ +
+ + {% include components/card.html color="success" + title="Mastodon" + image="/assets/img/tools/Mastodon.png" + url="https://joinmastodon.org" + website="mastodon.social" + description='Mastodon is a social network based on open web protocols and free, open-source software. It is decentralized like e-mail. It also has the most users, and the most diverse (in terms of interests) users, looks good, and is easy to setup.' + %} + + {% include components/card.html color="primary" + title="diaspora*" + image="/assets/img/tools/diaspora.png" + url="https://diasporafoundation.org/" + description="diaspora* is based on three key philosophies: Decentralization, freedom and privacy. It is intended to address privacy concerns related to centralized social + networks by allowing users set up their own server (or \"pod\") to host content; pods can then interact to share status updates, photographs, and other social data." + %} + + {% include components/card.html color="warning" + title="Friendica" + image="/assets/img/tools/Friendica.png" + url="https://friendi.ca/" + description="Friendica has an emphasis on extensive privacy settings and easy server installation. It aims to federate with as many other social networks as possible. Currently, + Friendica users can integrate contacts from Facebook, Twitter, Diaspora, GNU social, App.net, Pump.io and other services in their social streams." + %} + +
+ +

Worth Mentioning

+
    +
  • GNU Social - An open sourced, free and decentralized social network compatible with Mastodon and Friendica.
  • +
+ +

Related Information

+

Domain Name System (DNS)

+ +
+ + {% include components/card.html color="success" + title="Njalla - Domain Registration" + image="/assets/img/provider/Njalla.png" + url="https://njal.la/" + tor="http://njalladnspotetti.onion" + description="Njalla only needs your email or jabber address in order to register a domain name for you. Created by people from The Pirate Bay and IPredator VPN. Accepted Payments: Bitcoin, Litecoin, Monero, DASH, Bitcoin Cash and PayPal. A privacy-aware domain registration service." + %} + + {% include components/card.html color="primary" + title="DNSCrypt - Tool" + image="/assets/img/tools/DNSCrypt.png" + url="https://dnscrypt.info/" + description="A protocol for securing communications between a client and a DNS resolver. The DNSCrypt protocol uses high-speed high-security elliptic-curve cryptography and + is very similar to DNSCurve, but focuses on securing communications between a client and its first-level resolver." + %} + + {% include components/card.html color="warning" + title="OpenNIC - Service" + image="/assets/img/tools/OpenNIC.png" + url="https://www.opennic.org/" + description="OpenNIC is an alternate network information center/alternative DNS root which lists itself as an alternative to ICANN and its registries. Like all alternative + root DNS systems, OpenNIC-hosted domains are unreachable to the vast majority of the Internet. Only specific configuration in one's DNS resolver makes these reachable, and very few Internet service providers have this configuration." + %} + +
+ +

Worth Mentioning

+
    +
  • NoTrack - A network-wide DNS server which blocks Tracking sites. Currently works in Debian and Ubuntu.
  • +
  • Namecoin - A decentralized DNS open source information registration and transfer system based on the Bitcoin cryptocurrency.
  • +
  • Pi-hole - A network-wide DNS server for the Raspberry Pi. Blocks advertising and tracking domains for all devices on your network.
  • +
+ +

Digital Notebook

+ + + +
+ + {% include components/card.html color="success" + title="Joplin" + image="/assets/img/tools/Laverna.png" + image="/assets/img/tools/Joplin.png" + url="https://laverna.cc/" + url="https://joplin.cozic.net/" + footer="OS: Windows, macOS, Linux, Web." + footer="OS: Windows, macOS, Linux, iOS, Android, Firefox/Chrome (Web Clipper)." + description="Laverna is a JavaScript note-taking web application with a Markdown editor and encryption support. The application stores all your notes in your browser databases, which is good for security and privacy reasons, because only you have access." + description="Joplin is a free, open source, fully featured note taking and to-do application, which can handle a large number of markdown notes organised into notebooks and tags. It offers E2EE encryption and can sync through Nextcloud, Dropbox and more. It also offers easy import from Evernote and plain text notes." + %} + + {% include components/card.html color="primary" + title="Standard Notes" + image="/assets/img/tools/StandardNotes.png" + url="https://standardnotes.org/" + footer="OS: Windows, macOS, Linux, iOS, Android, Web." + description="Standard Notes is a simple and private notes app that makes your notes easy and available everywhere you are. Features end-to-end encryption on every platform, and a powerful desktop experience with themes and custom editors." + %} + + {% include components/card.html color="warning" + title="Turtl" + image="/assets/img/tools/Turtl.png" + url="https://turtlapp.com/" + footer="OS: Windows, macOS, Linux, Android." + description="Turtl lets you take notes, bookmark websites, and store documents for sensitive projects. From sharing passwords with your coworkers to tracking research on an article you're writing, Turtl keeps it all safe from everyone but you and those you share with." + %}
+ +

Warning

+
    +
  • Note: As of Dec 2018, Joplin does not support password/pin protection for the application itself or individual notes/notebooks. Data is still encrypted in transit and at sync location using your master key. See open issue.
  • +
+ +

Worth Mentioning

+
    +
  • Paperwork - Open source and self-hosted solution. For PHP / MySQL servers.
  • +
  • Org-mode - A major mode for GNU Emacs. Org-mode is for keeping notes, maintaining TODO lists, planning projects, and authoring documents with a fast and effective plain-text system.
  • +
+ +

Paste Services

+ +
+ + {% include components/card.html color="success" + title="PrivateBin" + image="/assets/img/tools/PrivateBin.png" + url="https://privatebin.net/" + description="PrivateBin is a minimalist, open source online pastebin where the server has zero knowledge of pasted data. Data is encrypted/decrypted in the browser using 256bit AES. It is the improved version of ZeroBin." + %} + + {% include components/card.html color="primary" + title="Zerobin.net" + image="/assets/img/tools/ZeroBin.png" + url="https://zerobin.net/" + tor="http://zerobinqmdqd236y.onion" + description="Zerobin is a minimalist, open source online pastebin where the server has zero knowledge of pasted data. Data is encrypted/decrypted in the browser using 256bit AES." + %} + + {% include components/card.html color="warning" + title="Ghostbin" + image="/assets/img/tools/Ghostbin.png" + url="https://ghostbin.com/" + description="Ghostbin supports encryption, expiration, sessions, grant users to edit your notes and pastes up to one megabyte. You can also create your own account to keep track of your pastes.
+ The software is good but ghostbin.com's security is worrisome." + %} + +
+ +

Worth Mentioning

+
    +
  • disroot.org - Free privacy-friendly service that offers PrivateBin and other applications.
  • +

Productivity Tools

+
+ + {% include components/card.html color="success" + title="Etherpad" + image="/assets/img/tools/Etherpad.png" + url="http://etherpad.org/" + footer="OS: Windows, macOS, Linux." + description="Etherpad is a highly customizable Open Source online editor providing collaborative editing in really real-time. Etherpad allows you to edit documents collaboratively in real-time, much like a live multi-player editor that runs in your browser. Write articles, press releases, to-do lists, etc." + %} + + {% include components/card.html color="primary" + title="Write.as" + image="/assets/img/tools/WriteAs.png" + url="https://write.as/" + tor="http://writeas7pm7rcdqg.onion" + footer="OS: Windows, macOS, Linux, Android, iOS, Chrome OS, Web." + description="Write.as is a cross-platform, privacy-oriented blogging platform. It's anonymous by default, letting you publish without signing up. If you create an account, it doesn't require any personal information. No ads, distraction-free, and built on a sustainable business model." + %} + + {% include components/card.html color="warning" + title="ProtectedText" + image="/assets/img/tools/ProtectedText.png" + url="https://www.protectedtext.com/" + footer="OS: All Browsers." + description="ProtectedText is an open source web application. It encrypts and decrypts text in the browser, and password (or its hash) is never sent to the server - so that text can't be decrypted even if requested by authorities. No cookies, no sessions, no registration, no users tracking." + %} + +
+ +

Worth Mentioning

+
    +
  • Cryptee - Free privacy-friendly service for storing Documents, files and Photos
  • +
  • EtherCalc - EtherCalc is a web spreadsheet. Data is saved on the web, and people can edit the same document at the same time. Changes are instantly reflected on all screens. Work together on inventories, survey forms, list management, brainstorming sessions.
  • +
  • disroot.org - Free privacy-friendly service that offers Etherpad, EtherCalc and PrivateBin.
  • +
  • dudle - An online scheduling application, which is free and OpenSource. Schedule meetings or make small online polls. No email collection or the need of registration.
  • +
  • LibreOffice - Free and open source office suite
  • +
+

PC Operating Systems

+ +
+ + {% include components/card.html color="success" + title="Qubes OS" + image="/assets/img/tools/Qubes-OS.png" + url="https://www.qubes-os.org/" + tor="http://qubesos4rrrrz6n4.onion" + description="Qubes is an open-source operating system designed to provide strong security for desktop computing. Qubes is based on Xen, the X Window System, and Linux, and can run most Linux applications and utilize most of the Linux drivers." + %} + + {% include components/card.html color="primary" + title="Debian" + image="/assets/img/tools/Debian.png" + url="https://www.debian.org/" + tor="http://sejnfjrq6szgca7v.onion" + description="Debian is a Unix-like computer operating system and a Linux distribution that is composed entirely of free and open-source software, most of which is under the GNU General Public License, and packaged by a group of individuals known as the Debian project." + %} + + {% include components/card.html color="warning" + title="Trisquel" + image="/assets/img/tools/Trisquel.png" + url="https://trisquel.info/" + description="Trisquel is a Linux-based operating system derived from Ubuntu. The project aims for a fully free software system without proprietary software or firmware and uses Linux-libre, a version of the Linux kernel with the non-free code (binary blobs) removed." + %} + +
+ +

Warning

+ + +

Worth Mentioning

+
    +
  • OpenBSD - A project that produces a free, multi-platform 4.4BSD-based UNIX-like operating system. Emphasizes portability, standardization, correctness, proactive security and integrated cryptography.
  • +
  • Arch Linux - A simple, lightweight Linux distribution. It is composed predominantly of free and open-source software, and supports community involvement. Parabola is a + completely open source version of Arch Linux.
  • +
  • Whonix - A Debian GNU/Linux based security-focused Linux distribution. It aims to provide privacy, security and anonymity on the internet. The operating system consists of two virtual machines, a "Workstation" + and a Tor "Gateway". All communication are forced through the Tor network to accomplish this.
  • +
  • Subgraph OS - Another Debian based Linux distribution, it features security hardening which makes it more resistant to security vulnerabilities. Subgraph runs many desktop applications in a security sandbox to limit their risk in case of compromise. + By default, it anonymizes Internet traffic by sending it through the Tor network. Note: It is still in alpha, and much testing and bug fixing still has to be done.
  • +
+ +

Live CD Operating Systems

+
+ + {% include components/card.html color="success" + title="Tails" + image="/assets/img/tools/Tails.png" + url="https://tails.boum.org/" + description="Tails is a live operating system, that starts on almost any computer from a DVD, USB stick, or SD card. It aims at preserving privacy and anonymity, and helps to: Use the Internet anonymously and circumvent censorship; Internet connections go through the Tor network; leave no trace on the computer; use state-of-the-art cryptographic tools to encrypt files, emails and instant messaging." + %} + + {% include components/card.html color="primary" + title="KNOPPIX" + image="/assets/img/tools/KNOPPIX.png" + url="http://www.knopper.net/knoppix/" + website="knopper.net" + description="Knoppix is an operating system based on Debian designed to be run directly from a CD / DVD (Live CD) or a USB flash drive (Live USB), one of the first of its kind for any operating system. When starting a program, it is loaded from the removable medium and decompressed into a RAM drive. The decompression is transparent and on-the-fly." + %} + + {% include components/card.html color="warning" + title="Puppy Linux" + image="/assets/img/tools/Puppy-Linux.png" + url="http://puppylinux.org/" + description="Puppy Linux operating system is a lightweight Linux distribution that focuses on ease of use and minimal memory footprint. The entire system can be run from RAM with current versions generally taking up about 210 MB, allowing the boot medium to be removed after the operating system has started." + %} + +
+

Worth Mentioning

+
    +
  • Tiny Core Linux - A minimal Linux operating system focusing on providing a base system using BusyBox and FLTK. The distribution is notable for its size (15 MB) and minimalism, with additional functionality + provided by extensions.
  • +
+

Mobile Operating Systems

+ + +
+ + {% include components/card.html color="success" + title="LineageOS" + image="/assets/img/tools/LineageOS.png" + url="https://www.lineageos.org/" + description="LineageOS is a free and open-source operating system for smartphones and tablets, based on the official releases of Android by Google. It is the continuation of the CyanogenMod project." + %} + +
+

Worth Mentioning

+
    +
  • Replicant - An open-source operating system based on Android, aiming to replace all proprietary components with free software.
  • +
  • OmniROM - A free software operating system for smartphones and tablet computers, based on the Android mobile platform.
  • +
  • MicroG - A project that aims to reimplement the proprietary Google Play Services in the Android operating system with a FLOSS replacement. +
+ + +

Android Privacy Add-ons

+ + + +

Control your traffic with "NetGuard"

+ NetGuard +

NetGuard provides simple and advanced ways to block certain apps' access to the internet without the help of root privileges. Applications and addresses can individually be allowed or denied access to your Wi-Fi and/or mobile connection, allowing you to control which apps are able to call home or not. + https://www.netguard.me/

+ + +

Manage your apps' permissions with XPrivacyLua

+ XPrivacyLua +

Revoking Android permissions from apps often let apps crash or malfunction. XPrivacyLua solves this by feeding apps fake data instead of real data. + + https://lua.xprivacy.eu/

+

Requirements: Magisk (xda-developers) + Xposed Framework (xda-developers) +

Open Source Router Firmware

+
+ + {% include components/card.html color="success" + title="OpenWrt" + image="/assets/img/tools/OpenWrt.png" + url="https://openwrt.org/" + description="OpenWrt is an operating system (in particular, an embedded operating system) based on the Linux kernel, primarily used on embedded devices to route network traffic. The main components are the Linux kernel, util-linux, uClibc and BusyBox. All components have been optimized for size, to be small enough for fitting into the limited storage and memory available in home routers." + %} + + {% include components/card.html color="primary" + title="pfSense" + image="/assets/img/tools/pfSense.png" + url="https://pfsense.org/" + description="pfSense is an open source firewall/router computer software distribution based on FreeBSD. It is installed on a computer to make a dedicated firewall/router for a network and is noted for its reliability and offering features often only found in expensive commercial firewalls. pfSense is commonly deployed as a perimeter firewall, router, wireless access point, DHCP server, DNS server, and as a VPN endpoint." + %} + + {% include components/card.html color="warning" + title="LibreCMC" + image="/assets/img/tools/LibreCMC.png" + url="https://librecmc.org" + description="LibreCMC is a GNU/Linux-libre distribution for computers with minimal resources, such as the Ben Nanonote, ath9k-based Wi-Fi routers, and other hardware with emphasis on free software. The project's current goal is to aim for compliance with the GNU Free System Distribution Guidelines (GNU FSDG) and ensure that the project continues to meet these requirements set forth by the Free Software Foundation (FSF).." + %} + +
+ +

Worth Mentioning

+
    +
  • OpenBSD - A project that produces a free, multi-platform 4.4BSD-based UNIX-like operating system. Emphasizes portability, standardization, correctness, proactive security and integrated cryptography.
  • +
  • DD-WRT - A is Linux-based firmware for wireless routers and wireless access points. It is compatible with several models of routers and access points.
  • +

Don't use Windows 10 - It's a privacy nightmare

+ + + + Windows 10 Privacy + +
    +
  1. Data syncing is by default enabled. +
      +
    • Browsing history and open websites.
    • +
    • Apps settings.
    • +
    • WiFi hotspot names and passwords.
    • +
    +
  2. + +
  3. Your device is by default tagged with a unique advertising ID. +
      +
    • Used to serve you with personalized advertisements by third-party advertisers and ad networks.
    • +
    +
  4. + +
  5. Cortana can collect any of your data. +
      +
    • Your keystrokes, searches and mic input.
    • +
    +
      +
    • Calendar data.
    • +
    +
      +
    • Music you listen to.
    • +
    +
      +
    • Credit Card information.
    • +
    +
      +
    • Purchases.
    • +
    +
  6. + +
  7. Microsoft can collect any personal data. +
      +
    • Your identity.
    • +
    +
      +
    • Passwords.
    • +
    +
      +
    • Demographics.
    • +
    +
      +
    • Interests and habits.
    • +
    +
      +
    • Usage data.
    • +
    +
      +
    • Contacts and relationships.
    • +
    +
      +
    • Location data.
    • +
    +
      +
    • Content like emails, instant messages, caller list, audio and video recordings.
    • +
    +
  8. + +
  9. Your data can be shared. +
      +
    • When downloading Windows 10, you are authorizing Microsoft to share any of above-mentioned data with any third-party, with or without your consent.
    • +
    +
  10. +

+ + Download: W10Privacy + +

+ + This tool uses some known methods that attempt to disable major tracking features in Windows 10. + + + +

Quotes

+ +
+

Arguing that you don't care about the right to privacy because you have nothing to hide is no different than saying you don't care about free speech because you have nothing to say.

+ +
+ +
+

The NSA has built an infrastructure that allows it to intercept almost everything. With this capability, the vast majority of human communications are automatically ingested without targeting. If I wanted to see your emails or your wife's phone, all + I have to do is use intercepts. I can get your emails, passwords, phone records, credit cards. I don't want to live in a society that does these sort of things... I do not want to live in a world where everything I do and say is recorded. That is + not something I am willing to support or live under.

+ +
+ +
+

We all need places where we can go to explore without the judgmental eyes of other people being cast upon us, only in a realm where we’re not being watched can we really test the limits of who we want to be. It’s really in the private realm where + dissent, creativity and personal exploration lie.

+ +
+ +

Recommended Privacy Resources

Guides

+ + +

Information

+
    +
  • r/privacytoolsIO Wiki - Our Wiki on reddit.com.
  • +
  • Security Now! - Weekly Internet Security Podcast by Steve Gibson and Leo Laporte.
  • +
  • TechSNAP - Weekly Systems, Network, and Administration Podcast. Every week TechSNAP covers the stories that impact those of us in the tech industry.
  • +
  • Keybase.io - Get a public key, safely, starting just with someone's social media username.
  • +
  • Freedom of the Press Foundation - Supporting and defending journalism dedicated to transparency and accountability since 2012.
  • +
  • Erfahrungen.com - German review aggregator website of privacy-related services.
  • +
  • Terms of Service; Didn't Read - “I have read and agree to the Terms” is the biggest lie on the web. We aim to fix that.
  • +
+ +

Tools

+
    +
  • ipleak.net - IP/DNS Detect - What is your IP, what is your DNS, what informations you send to websites.
  • +
  • The ultimate Online Privacy Test Resource List - A collection of Internet sites that check whether your web browser leaks information.
  • +
  • PRISM Break - We all have a right to privacy, which you can exercise today by encrypting your communications and ending your reliance on proprietary services.
  • +
  • Security in-a-Box - A guide to digital security for activists and human rights defenders throughout the world.
  • +
  • SecureDrop - An open-source whistleblower submission system that media organizations can use to securely accept documents from and communicate with anonymous sources. It was originally created + by the late Aaron Swartz and is currently managed by Freedom of the Press Foundation.
  • +
  • Reset The Net - Privacy Pack - Help fight to end mass surveillance. Get these tools to protect yourself and your friends.
  • +
  • Security First - Umbrella is an Android app that provides all the advice needed to operate safely in a hostile environment.
  • +
  • Block Cloudflare MiTM Attack - Firefox add-on to detect and block corporate MITM attack. +
  • Osalt - A directroy to help you find open source alternatives to proprietary tools.
  • +
  • AlternativeTo - A directry to help find alternatives to other software, with the option to only show open source software
  • +
+

Note: Just being open source does not make software secure!

+ +

Spread the word and help your friends

+ +
+ + +
+ +

Copy URL and Description

+ +

+ + For easy copy and paste. Share this text snippet. +

+ +

+ It's important for a website like privacytools.io to be up-to-date. Keep an eye on software updates of the applications listed here. Follow recent news about providers that are recommended. We try our best to keep up but we're not perfect and the internet + is changing fast. If you find an error, or you think a provider should not be listed here, or a qualified service provider is missing or a browser plugin is not the best choice anymore and anything else... Talk to us please.

+ +
+ + {% include components/card.html color="success" + title="Make suggestions on Reddit" + image="/assets/img/icons/reddit.png" + url="https://www.reddit.com/r/privacytoolsIO/" + website="reddit.com" + description='Our active community subreddit to stay up to date or to make suggestions. Join now! (Info)' + %} + + {% include components/card.html color="primary" + title="Follow on Twitter" + image="/assets/img/icons/twitter.png" + url="https://twitter.com/privacytoolsIO" + website="twitter.com" + description="Get the latest privacy-related updates from our Twitter Feed. Follow now!" + %} + + {% include components/card.html color="warning" + title="Develop on GitHub" + image="/assets/img/icons/github.png" + url="https://github.com/privacytoolsIO/privacytools.io" + website="github.com" + description="The complete website source code is available on GitHub. Join our developer team!" + %} + +
+ +

This is a community project and we're aiming to deliver the best information available for a better privacy. Thank you for participating. This project needs you.

+ + +

+ + WTFPLWTFPL + + kopimikopimi (copyme) + + BitcoinDonate: 1N4bKCx3kpvUTBhsvbmthPDssN8ATPEhgt or use PayPal. + +

+ +

privacytools.io is a socially motivated website that provides information for protecting your data security and privacy. never trust any company with your privacy, always encrypt.

+
diff --git a/_includes/language b/_includes/language new file mode 100644 index 00000000..a5e8a46c --- /dev/null +++ b/_includes/language @@ -0,0 +1,2 @@ +{% assign lang = site.data.lang.[include.section].[page.lang] %} +{% assign general = site.data.lang.general.[page.lang] %} \ No newline at end of file diff --git a/_includes/nav.html b/_includes/nav.html deleted file mode 100644 index 81fb1edf..00000000 --- a/_includes/nav.html +++ /dev/null @@ -1,154 +0,0 @@ - diff --git a/_includes/panel.html b/_includes/panel.html deleted file mode 100644 index ed21ee28..00000000 --- a/_includes/panel.html +++ /dev/null @@ -1,14 +0,0 @@ -
-
- {% if include.color == "warning" %} -
- {% else %} -
- {% endif %} -

{{include.title}}

-
-
- {{include.body}} -
-
-
diff --git a/_includes/scripts.html b/_includes/scripts.html deleted file mode 100644 index d5e84077..00000000 --- a/_includes/scripts.html +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - - - - diff --git a/_includes/section b/_includes/section new file mode 100644 index 00000000..05885e88 --- /dev/null +++ b/_includes/section @@ -0,0 +1,5 @@ +{% capture md %} +{% include content/{{include.name}}.md lang=page.lang section=include.name %} +{% endcapture %} + +{{ md | markdownify }} \ No newline at end of file diff --git a/_includes/sections/android-addons.html b/_includes/sections/android-addons.html deleted file mode 100644 index c44a849a..00000000 --- a/_includes/sections/android-addons.html +++ /dev/null @@ -1,37 +0,0 @@ -

Android Privacy Add-ons

- - - -
- -
-
- NetGuard -
-
-

Control your traffic with NetGuard

-

NetGuard provides simple and advanced ways to block certain apps' access to the internet without the help of root privileges. Applications and addresses can individually be allowed or denied access to your Wi-Fi and/or mobile connection, allowing you to control which apps are able to call home or not. -

-
- -
-
- Orbot -
-
-

Tor for Android with Orbot

-

Orbot is a free proxy app that empowers other apps to use the internet more securely. Orbot uses Tor to encrypt your Internet traffic and then hides it by bouncing through a series of computers around the world. Root Mode: Orbot can be configured to transparently proxy all of your Internet traffic through Tor. You can also choose which specific apps you want to use through Tor. -

-
- -
- -

See also

- -
    -
  • - Our DNS page which also has information on encrypting DNS on Android. -
  • -
diff --git a/_includes/sections/browser-addons.html b/_includes/sections/browser-addons.html deleted file mode 100644 index 023f05bf..00000000 --- a/_includes/sections/browser-addons.html +++ /dev/null @@ -1,117 +0,0 @@ -

Recommended Browser Add-ons

- - - -{% include cardv2.html -title="uBlock Origin: Block Ads and Trackers" -image="/assets/img/addons/ublock-origin.png" -description="uBlock Origin is an efficient wide-spectrum blocker that's easy on memory, and yet can load and enforce thousands more filters than other popular blockers out there. It has no monetization strategy and is completely open source." -website="https://addons.mozilla.org/firefox/addon/ublock-origin/" -forum="https://forum.privacytools.io/t/discussion-ublock-origin/266" -github="https://github.com/gorhill/uBlock/" -firefox="https://addons.mozilla.org/en-US/firefox/addon/ublock-origin/" -chrome="https://chrome.google.com/webstore/detail/ublock-origin/cjpalhdlnbpafiamejdnhcphjbkeiagm" -opera="https://addons.opera.com/en/extensions/details/ublock/" -edge="https://www.microsoft.com/en-us/p/ublock-origin/9nblggh444l4" -%} - -{% include cardv2.html -title="Cookie AutoDelete: Automatically Delete Cookies" -image="/assets/img/addons/cookie-autodelete.png" -description="Cookie AutoDelete automatically removes cookies when they are no longer used by open browser tabs. With the cookies, lingering sessions, as well as information used to spy on you, will be expunged." -website="https://addons.mozilla.org/firefox/addon/cookie-autodelete/" -forum="https://forum.privacytools.io/t/discussion-cookie-autodelete/267" -github="https://github.com/Cookie-AutoDelete/Cookie-AutoDelete" -firefox="https://addons.mozilla.org/en-US/firefox/addon/cookie-autodelete" -chrome="https://chrome.google.com/webstore/detail/cookie-autodelete/fhcgjolkccmbidfldomjliifgaodjagh" -%} - -{% include cardv2.html -title="HTTPS Everywhere: Secure Connections" -image="/assets/img/addons/https-everywhere.png" -description="HTTPS Everywhere encrypts your communications with many major websites, making your browsing more secure. A collaboration between The Tor Project and the Electronic Frontier Foundation." -website="https://www.eff.org/https-everywhere" -forum="https://forum.privacytools.io/t/discussion-https-everywhere/268" -github="https://github.com/EFForg/https-everywhere" -firefox="https://addons.mozilla.org/en-US/firefox/addon/https-everywhere" -chrome="https://chrome.google.com/webstore/detail/https-everywhere/gcbommkclmclpchllfjekcdonpmejbdp" -opera="https://addons.opera.com/en/extensions/details/https-everywhere" -%} - -{% include cardv2.html -title="Decentraleyes: Block Content Delivery Networks" -image="/assets/img/addons/decentraleyes.png" -description="Decentraleyes emulates Content Delivery Networks locally by intercepting requests, finding the required resource, and injecting it into the environment. This all happens instantaneously, automatically, and no prior configuration is required." -website="https://decentraleyes.org/" -forum="https://forum.privacytools.io/t/discussion-decentraleyes/269" -gitlab="https://git.synz.io/Synzvato/decentraleyes" -firefox="https://addons.mozilla.org/en-US/firefox/addon/decentraleyes" -chrome="https://chrome.google.com/webstore/detail/decentraleyes/ldpochfccmkkmhdbclfhpagapcfdljkj" -opera="https://addons.opera.com/en/extensions/details/decentraleyes" -%} - -{% include cardv2.html -title="Terms of Service; Didn’t Read: Be Informed" -image="/assets/img/addons/tosdr.png" -description="Terms of Service; Didn’t Read is an addon that aims to fix how “I have read and agree to the Terms” is the biggest lie on the web by grading websites based on their terms of service agreements and privacy policies. It also gives short summaries of those agreements. The analysis and ratings are done transparently by a community of reviewers." -website="https://tosdr.org/" -forum="https://forum.privacytools.io/t/discussion-terms-of-service-didn-t-read/270" -github="https://github.com/tosdr/" -firefox="https://addons.mozilla.org/en-US/firefox/addon/terms-of-service-didnt-read/" -chrome="https://chrome.google.com/webstore/detail/terms-of-service-didn%E2%80%99t-r/hjdoplcnndgiblooccencgcggcoihigg" -opera="https://addons.opera.com/en/extensions/details/terms-of-service-didnt-read" -%} - -{% include cardv2.html -title="Snowflake" -image="/assets/img/addons/snowflake.png" -description="Snowflake is a new pluggable transport from the Tor Project. If you have an uncensored connection, running this extension volunteers your connection to be used as a Snowflake proxy to help users unable to connect to the Tor network. Your IP will not be visible to the sites users visit using your proxy, as this extension will not make you an exit node. If your access to the Tor network is blocked, this extension will not assist you, and you should use the Tor Browser instead." -website="https://snowflake.torproject.org" -forum="https://forum.privacytools.io/t/discussion-snowflake/1146" -git="https://gitweb.torproject.org/pluggable-transports/snowflake.git" -firefox="https://addons.mozilla.org/en-US/firefox/addon/torproject-snowflake" -chrome="https://chrome.google.com/webstore/detail/snowflake/mafpmfcccpbjnhfhjnllmmalhifmlcie" -%} - -{% include cardv2.html -title="Privacy Badger: Stop Tracking" -image="/assets/img/addons/privacy-badger.png" -description="Privacy Badger is a browser add-on that stops advertisers and other third-party trackers from secretly tracking where you go and what pages you look at on the web. Privacy Badger learns about trackers as you browse." -website="https://www.eff.org/privacybadger" -forum="https://forum.privacytools.io/t/discussion-privacy-badger/265" -github="https://github.com/EFForg/privacybadger" -firefox="https://addons.mozilla.org/en-US/firefox/addon/privacy-badger17" -chrome="https://chrome.google.com/webstore/detail/privacy-badger/pkehgijcmpdhfbdbbnkijodmdjhbjlgp" -opera="https://addons.opera.com/en/extensions/details/privacy-badger/" -%} - -

For Power Users Only

- - - -{% include cardv2.html -title="uMatrix: Stop Cross-Site Requests" -image="/assets/img/addons/umatrix.png" -description="uMatrix gives you control over the requests that websites make to other websites. Many websites integrate features which let other websites track you, such as Facebook Like Buttons or Google Analytics." -website="https://addons.mozilla.org/firefox/addon/umatrix/" -forum="https://forum.privacytools.io/t/discussion-umatrix/271" -github="https://github.com/gorhill/uMatrix" -firefox="https://addons.mozilla.org/en-US/firefox/addon/umatrix" -chrome="https://chrome.google.com/webstore/detail/umatrix/ogfcmafjalglgifnmanfmnieipoejdcf" -opera="https://addons.opera.com/en/extensions/details/umatrix" -%} - -{% include cardv2.html -title="NoScript Security Suite: Be in total control" -image="/assets/img/addons/noscript.png" -description="NoScript is a highly customizable plugin to selectively allow JavaScript, Java, and Flash to run only on websites you trust. Not for casual users, it requires technical knowledge to configure." -website="https://addons.mozilla.org/firefox/addon/noscript/" -forum="https://forum.privacytools.io/t/discussion-noscript-security-suite/272" -github="https://github.com/hackademix/noscript" -firefox="https://addons.mozilla.org/en-US/firefox/addon/noscript" -chrome="https://chrome.google.com/webstore/detail/noscript/doojmbjmlfjjnbmnoijecmcbfeoakpjm" -%} diff --git a/_includes/sections/browser-fingerprint.html b/_includes/sections/browser-fingerprint.html deleted file mode 100644 index 6b3e1859..00000000 --- a/_includes/sections/browser-fingerprint.html +++ /dev/null @@ -1,31 +0,0 @@ -

Browser Fingerprint - Is your browser configuration unique?

- - - -

When you visit a web page, your browser voluntarily sends information about its configuration, such as available fonts, browser type, and add-ons. If this combination of information is unique, it may be possible to identify and track you without using cookies. EFF created a Tool called Panopticlick to test your browser to see how unique it is.

- -

- - Test your Browser now - -

- -

You need to find what most browsers are reporting, and then use those variables to bring your browser in the same population. This means having the same fonts, plugins, and extensions installed as the large installed base. You should have a spoofed user-agent string to match what the large userbase has. You need to have the same settings enabled and disabled, such as DNT and WebGL. You need your browser to look as common as everyone else. Disabling JavaScript, using Linux, or even using the Tor Browser Bundle, will make your browser stick out from the masses.

- -

Modern web browsers have not been architected to assure personal web privacy. Rather than worrying about being fingerprinted, it seems more practical to use free software plugins like Privacy Badger and uBlock Origin. They not only respect your freedom, but your privacy also. You can get much further with these than trying to manipulate your browser's fingerprint.

- - -

Firefox Addon: CanvasBlocker

-
    -
  • addons.mozilla.org - CanvasBlocker allows users to prevent websites from using some Javascript APIs to fingerprint them. Users can choose to block the APIs entirely on some or all websites (which may break some websites) or just block or fake its fingerprinting-friendly readout API.
  • -
- -

Related Information

- - diff --git a/_includes/sections/browser-recommendation.html b/_includes/sections/browser-recommendation.html deleted file mode 100644 index 8c5d896f..00000000 --- a/_includes/sections/browser-recommendation.html +++ /dev/null @@ -1,135 +0,0 @@ -

- - Browser Recommendations For Desktop -

- -{% include cardv2.html -title="Firefox" -image="/assets/img/tools/Firefox.png" -description='Firefox is fast, reliable, open-source, and respects your privacy. Don\'t forget to adjust the settings according to our -recommendations: WebRTC and about:config and get the privacy add-ons.' -website="https://firefox.com" -forum="https://forum.privacytools.io/t/discussion-firefox/279" -source="https://hg.mozilla.org/mozilla-central/" -windows="https://www.mozilla.org/firefox/windows/" -mac="https://www.mozilla.org/firefox/mac/" -linux="https://www.mozilla.org/firefox/linux/" -freebsd="https://www.freshports.org/www/firefox" -openbsd="http://openports.se/www/mozilla-firefox" -netbsd="http://pkgsrc.se/www/firefox" -%} - -{% include cardv2.html -title="Tor Browser - Provides Anonymity" -image="/assets/img/tools/Tor-Browser.png" -description='Tor Browser is your choice if you need an extra layer of anonymity. It\'s a modified version of Firefox ESR, which comes with pre-installed privacy add-ons, encryption, and an advanced proxy. How does Tor work?' -website="https://www.torproject.org/" -tor="http://expyuzz4wqqyqhjn.onion/" -forum="https://forum.privacytools.io/t/discussion-tor-browser/278" -git="https://trac.torproject.org/projects/tor" -windows="https://www.torproject.org/download/" -mac="https://www.torproject.org/download/" -linux="https://www.torproject.org/download/" -%} - -

- - Browser Recommendations For Android -

- -{% include cardv2.html -title="Firefox" -image="/assets/img/tools/Firefox.png" -description='Firefox is fast, reliable, open-source, and respects your privacy. Don\'t forget to adjust the settings according to our -recommendations: WebRTC and about:config and get the privacy add-ons.' -website="https://www.mozilla.org/en-US/firefox/mobile/" -forum="https://forum.privacytools.io/t/discussion-firefox/279" -source="https://github.com/mozilla-mobile" -fdroid="https://f-droid.org/en/packages/org.mozilla.fennec_fdroid/" -googleplay="https://play.google.com/store/apps/details?id=org.mozilla.firefox" -android="https://www.mozilla.org/firefox/all/#product-android-release" -%} - -{% include cardv2.html -title="Tor Browser - Provides Anonymity" -image="/assets/img/tools/Tor-Browser.png" -description='Tor Browser is your choice if you need an extra layer of anonymity. It\'s a modified version of Firefox ESR, which comes with pre-installed privacy add-ons, encryption and an advanced proxy. How does Tor work?' -website="https://www.torproject.org/" -tor="http://expyuzz4wqqyqhjn.onion/" -forum="https://forum.privacytools.io/t/discussion-tor-browser-for-android-browsers/1522" -git="https://gitweb.torproject.org/tor-browser.git/" -android="https://www.torproject.org/download/#android" -fdroid="https://guardianproject.info/fdroid/" -googleplay="https://play.google.com/store/apps/details?id=org.torproject.torbrowser" -%} - -{% include cardv2.html -title="Bromite" -image="/assets/img/tools/bromite.png" -description='Bromite is a Chromium-based browser with security enhancement patches from GrapheneOS and built-in adblocking and DNS over HTTPS support. More info can be found here.' -website="https://www.bromite.org/" -forum="https://forum.privacytools.io/t/discussion-bromite-browsers/1521" -github="https://github.com/bromite/bromite" -fdroid="https://www.bromite.org/fdroid" -android="https://www.bromite.org/#download-bromite" -%} - -

Worth Mentioning for Android

- - - - -

Browser Recommendations For iOS

- -{% include cardv2.html -title="Firefox" -image="/assets/img/tools/Firefox.png" -description='Firefox is fast, reliable, open-source, and respects your privacy. Note: Because of limitations set by Apple in iOS, our recommended tweaks cannot be applied. However, Firefox for iOS has an Enhanced Tracking Protection feature that uses a list provided by Disconnect to identify and block ad, social, and analytics trackers, as well as cryptominers and fingerprinters.' -website="https://www.mozilla.org/en-US/firefox/mobile/" -forum="https://forum.privacytools.io/t/discussion-firefox/279" -source="https://github.com/mozilla-mobile/firefox-ios" -ios="https://apps.apple.com/us/app/firefox-private-safe-browser/id989804926" -%} - - -{% include cardv2.html -title="Onion Browser" -image="/assets/img/tools/onionbrowser.png" -description='Onion Browser is an open-source browser that lets you browse the web anonymously over the Tor network on iOS devices and is endorsed by the Tor Project. Warning: there are certain anonymity-related issues with Onion Browser due to iOS limitations.' -website="https://onionbrowser.com/" -forum="https://forum.privacytools.io/t/discussion-onion-browser-browsers/1523" -github="https://github.com/OnionBrowser/OnionBrowser" -ios="https://apps.apple.com/us/app/onion-browser/id519296448" -%} - - -{% include cardv2.html -title="DuckDuckGo Privacy Browser" -image="/assets/img/provider/DuckDuckGo.png" -description='DuckDuckGo Privacy Browser is an open-source web browser that has built-in ad and tracker blocking and utilizes ToS;DR to rate the privacy policies of the sites you visit.' -website="https://duckduckgo.com/app" -tor="https://3g2upl4pq6kufc4m.onion/app" -forum="https://forum.privacytools.io/t/discussion-duckduckgo-privacy-browser-browsers/1524" -github="https://github.com/duckduckgo/iOS" -ios="https://apps.apple.com/us/app/duckduckgo-privacy-browser/id663592361" -%} - -

Worth Mentioning for iOS

- -
    -
  • - SnowHaze - - An open-source web browser with built-in ad, tracker, cookie, and fingerprint blocking, all customizable on a per-site basis. -
  • -
diff --git a/_includes/sections/browser-tweaks.html b/_includes/sections/browser-tweaks.html deleted file mode 100644 index 9bdd6c4c..00000000 --- a/_includes/sections/browser-tweaks.html +++ /dev/null @@ -1,122 +0,0 @@ -

Firefox: Privacy Related "about:config" Tweaks

- - - -

Preparation:

- -
    -
  1. Enter "about:config" in the firefox address bar and press enter.
  2. -
  3. Press the button "I'll be careful, I promise!"
  4. -
  5. Follow the instructions below...
  6. -
- -

Getting started:

- -
-
privacy.firstparty.isolate = true
-
A result of the Tor Uplift effort, this preference isolates all browser identifier sources (e.g. cookies) to the first party domain, with the goal of preventing tracking across different domains. (Don't do this if you are using the Firefox Addon "Cookie AutoDelete" with Firefox v58 or below.)
- -
privacy.resistFingerprinting = true
-
A result of the Tor Uplift effort, this preference makes Firefox more resistant to browser fingerprinting.
- -
privacy.trackingprotection.fingerprinting.enabled = true
-
[FF67+] Blocks Fingerprinting
- -
privacy.trackingprotection.cryptomining.enabled = true
-
[FF67+] Blocks CryptoMining
- -
privacy.trackingprotection.enabled = true
-
This is Mozilla's new built-in tracking protection. It uses Disconnect.me filter list, which is redundant if you are already using uBlock Origin 3rd party filters, therefore you should set it to false if you are using the add-on functionalities.
- -
browser.send_pings = false
-
The attribute would be useful for letting websites track visitors' clicks.
- -
browser.sessionstore.max_tabs_undo = 0
-
Even with Firefox set to not remember history, your closed tabs are stored temporarily at Menu -> History -> Recently Closed Tabs.
- -
browser.urlbar.speculativeConnect.enabled = false
-
Disable preloading of autocomplete URLs. Firefox preloads URLs that autocomplete when a user types into the address bar, which is a concern if URLs are suggested that the user does not want to connect to. Source
- - -
dom.event.clipboardevents.enabled = false
-
Disable that websites can get notifications if you copy, paste, or cut something from a web page, and it lets them know which part of the page had been selected.
- -
media.eme.enabled = false
-
-

Disables playback of DRM-controlled HTML5 content, which, if enabled, automatically downloads the Widevine Content Decryption Module provided by Google Inc. Details

-

DRM-controlled content that requires the Adobe Flash or Microsoft Silverlight NPAPI plugins will still play, if installed and enabled in Firefox.

-
- -
media.gmp-widevinecdm.enabled = false
-
Disables the Widevine Content Decryption Module provided by Google Inc., used for the playback of DRM-controlled HTML5 content. Details
- -
media.navigator.enabled = false
-
Websites can track the microphone and camera status of your device.
- -
network.cookie.cookieBehavior = 1
-
- Disable cookies -
    -
  • 0 = Accept all cookies by default
  • -
  • 1 = Only accept from the originating site (block third-party cookies)
  • -
  • 2 = Block all cookies by default
  • -
-
- - - -
network.http.referer.XOriginPolicy = 2
-
- Only send Referer header when the full hostnames match. (Note: if you notice significant breakage, you might try 1 combined with an XOriginTrimmingPolicy tweak below.) Source -
    -
  • 0 = Send Referer in all cases
  • -
  • 1 = Send Referer to same eTLD sites
  • -
  • 2 = Send Referer only when the full hostnames match
  • -
-
- -
network.http.referer.XOriginTrimmingPolicy = 2
-
- When sending Referer across origins, only send scheme, host, and port in the Referer header of cross-origin requests. Source -
    -
  • 0 = Send full url in Referer
  • -
  • 1 = Send url without query string in Referer
  • -
  • 2 = Only send scheme, host, and port in Referer
  • -
-
- -
Looking for TRR, DoH or ESNI?
-
They have moved to our DNS page.
- -
webgl.disabled = true
-
WebGL is a potential security risk. Source
- -
browser.sessionstore.privacy_level = 2
-
- This preference controls when to store extra information about a session: contents of forms, scrollbar positions, cookies, and POST data. Details -
    -
  • 0 = Store extra session data for any site. (Default starting with Firefox 4.)
  • -
  • 1 = Store extra session data for unencrypted (non-HTTPS) sites only. (Default before Firefox 4.)
  • -
  • 2 = Never store extra session data.
  • -
-
- - -
network.IDN_show_punycode = true
-
Not rendering IDNs as their Punycode equivalent leaves you open to phishing attacks that can be very difficult to notice. Source
- - -

Firefox user.js Templates

-
    -
  • ghacks-user.js - An ongoing comprehensive user.js template for configuring and hardening Firefox privacy, security and anti-fingerprinting.
  • -
- - -

Related Information

- - diff --git a/_includes/sections/browser-webrtc.html b/_includes/sections/browser-webrtc.html deleted file mode 100644 index 9271f5a3..00000000 --- a/_includes/sections/browser-webrtc.html +++ /dev/null @@ -1,47 +0,0 @@ -

WebRTC IP Leak Test - Is your IP address leaking?

- - - -

While software like NoScript prevents this, it's probably a good idea to block this protocol directly as well, just to be safe.

- -

-Test your Browser now -

- -

How to disable WebRTC in Firefox?

- -

In short: Set "media.peerconnection.enabled" to "false" in "about:config".

-

Explained:

- -
    -
  1. Enter "about:config" in the firefox address bar and press enter.
  2. -
  3. Press the button "I'll be careful, I promise!"
  4. -
  5. Search for "media.peerconnection.enabled"
  6. -
  7. Double click the entry, the column "Value" should now be "false"
  8. -
  9. Done. Do the WebRTC leak test again.
  10. -
- -

If you want to make sure every single WebRTC-related setting is really disabled change these settings:

- -
    -
  1. media.peerconnection.turn.disable = true
  2. -
  3. media.peerconnection.use_document_iceservers = false
  4. -
  5. media.peerconnection.video.enabled = false
  6. -
  7. media.peerconnection.identity.timeout = 1
  8. -
- -

Now you can be 100% sure WebRTC is disabled.

- -

-Test your Browser again -

- -

How to fix the WebRTC Leak in Google Chrome?

- -

WebRTC cannot be fully disabled in Chrome; however, it is possible to change its routing settings (and prevent leaks) using an extension. Two open-source solutions include WebRTC Leak Prevent (options may need to be changed depending on the scenario), and uBlock Origin (select "Prevent WebRTC from leaking local IP addresses" in Settings).

- -

What about other browsers?

- -

Chrome on iOS, Internet Explorer and Safari does not implement WebRTC yet. But we recommend using Firefox on all devices.

diff --git a/_includes/sections/calendar-contacts-sync.html b/_includes/sections/calendar-contacts-sync.html deleted file mode 100644 index 40f966ac..00000000 --- a/_includes/sections/calendar-contacts-sync.html +++ /dev/null @@ -1,59 +0,0 @@ -

Calendar and Contacts Sync

- - - -{% - include cardv2.html - title="Nextcloud" - image="/assets/img/provider/Nextcloud.png" - description="Nextcloud is a suite of client-server software for creating and using file hosting services. This includes calendar sync via CalDAV and contacts sync via CardDAV. Nextcloud is free and open-source, thereby allowing anyone to install and operate it without charge on a private server." - website="https://nextcloud.com/" - forum="https://forum.privacytools.io/t/discussion-nextcloud-calender-contacts-sync-tools/1535" - github="https://github.com/nextcloud" - windows="https://nextcloud.com/install/" - linux="https://nextcloud.com/install/" - mac="https://nextcloud.com/install/" - freebsd="https://www.freshports.org/deskutils/nextcloudclient/" - openbsd="http://openports.se/www/nextcloud" - netbsd="http://pkgsrc.se/www/php-nextcloud" - android="https://nextcloud.com/install/" - ios="https://nextcloud.com/install/" -%} - -{% - include cardv2.html - title="Email Providers" - image="/assets/img/misc/email.png" - description='Many email providers also offer calendar and or contacts sync services. Refer to the Email Providers section to choose an email provider and check if they also offer calendar and/or contacts sync.' - website="/providers/email" -%} - -{% - include cardv2.html - title="EteSync" - image="/assets/img/provider/etesync.png" - description="EteSync is a secure, end-to-end encrypted, and journaled personal information (e.g. contacts and calendar) cloud synchronization and backup for Android and any OS that supports CalDAV/CardDAV. It costs $24 per year to use, or you can host the server yourself for free." - website="https://www.etesync.com/" - forum="https://forum.privacytools.io/t/discussion-etesync-calender-contacts-sync-tools/1536" - github="https://github.com/etesync" - web="https://client.etesync.com/" - windows="https://github.com/etesync/etesync-dav/blob/master/README.md#installation" - mac="https://github.com/etesync/etesync-dav/blob/master/README.md#installation" - linux="https://github.com/etesync/etesync-dav/blob/master/README.md#installation" - fdroid="https://f-droid.org/packages/com.etesync.syncadapter/" - googleplay="https://play.google.com/store/apps/details?id=com.etesync.syncadapter" -%} - -

Worth Mentioning

- -
    -
  • - fruux - A unified contacts/calendaring system that works across platforms and devices. -
  • - -
  • - cloud backups - Consider regularly exporting your calendar and or contacts and backing them up on a separate storage drive or uploading them to cloud storage (ideally after encrypting them). -
  • -
diff --git a/_includes/sections/cloud-storage.html b/_includes/sections/cloud-storage.html deleted file mode 100644 index c2cd01c6..00000000 --- a/_includes/sections/cloud-storage.html +++ /dev/null @@ -1,31 +0,0 @@ -

Encrypted Cloud Storage Services

- - - -{% include cardv2.html -title="Nextcloud - Choose your hoster" -image="/assets/img/provider/Nextcloud.png" -description="Nextcloud is similar in functionality to the widely-used Dropbox, with the difference being that Nextcloud is free and open-source, thereby allowing anyone to install and operate it without charge on a private server, with no limits on storage space or the number of connected clients." -website="https://nextcloud.com/" -forum="https://forum.privacytools.io/t/discussion-nextcloud/287" -github="https://github.com/nextcloud" -windows="https://nextcloud.com/install/#install-clients" -mac="https://nextcloud.com/install/#install-clients" -linux="https://nextcloud.com/install/#install-clients" -freebsd="https://www.freshports.org/www/nextcloud/" -openbsd="http://openports.se/www/nextcloud" -netbsd="http://pkgsrc.se/www/php-nextcloud" -ios="https://itunes.apple.com/us/app/nextcloud/id1125420102?mt=8" -fdroid="https://f-droid.org/packages/com.nextcloud.client/" -googleplay="https://play.google.com/store/apps/details?id=com.nextcloud.client" -%} - - -

Worth Mentioning

- -
    -
  • Cryptomator - Free client-side AES encryption for your cloud files. Open source software: No backdoors, no registration.
  • -
  • CryptPad - Free and end-to-end encrypted real time collaboration sharing folders, media, and documents.
  • -
diff --git a/_includes/sections/dns.html b/_includes/sections/dns.html deleted file mode 100644 index d684e70f..00000000 --- a/_includes/sections/dns.html +++ /dev/null @@ -1,623 +0,0 @@ -

Domain Name System (DNS)

- -{% - include cardv2.html - title="Njalla - Domain Registration" - image="/assets/img/provider/Njalla.png" - description="Njalla is a privacy-aware domain registration service based in Nevis that only needs your email or XMPP address in order to register a domain name for you. It is created by people from The Pirate Bay and IPredator VPN. Accepted payments: Bitcoin, Litecoin, Monero, DASH, Bitcoin Cash and PayPal." - website="https://njal.la/" - tor="http://njalladnspotetti.onion" - forum="https://forum.privacytools.io/t/discussion-njalla/339" -%} - -{% - include cardv2.html - title="DNSCrypt-Proxy - Tool" - image="/assets/img/tools/DNSCrypt-Proxy.png" - description="DNSCrypt-Proxy is a command-line DNS proxy with support for the encrypted DNS protocols, DNS over HTTPS and DNSCrypt. Can cache results to improve speed, and allows filtering, forwarding, and cloaking." - website="https://github.com/jedisct1/dnscrypt-proxy/" - forum="https://forum.privacytools.io/t/discussion-dnscrypt-proxy/1498" - github="https://github.com/jedisct1/dnscrypt-proxy/" - windows="https://github.com/jedisct1/dnscrypt-proxy/releases" - linux="" - mac="https://github.com/jedisct1/dnscrypt-proxy/releases" - freebsd="https://www.freshports.org/dns/dnscrypt-proxy2/" - openbsd="http://openports.se/net/dnscrypt-proxy" - netbsd="http://pkgsrc.se/net/dnscrypt-proxy2" - android="" - ios="" -%} - -

Encrypted ICANN DNS Providers

- - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
ICANN DNS ProviderServer LocationsPrivacy PolicyTypeLoggingProtocolsDNSSECQNAME MinimizationFilteringSource CodeHosting Provider
- AdGuard - Anycast (based in - - - Cyprus) - - - - WWW - - CommercialNoDoH, DoT, DNSCryptYesYes - - Ads, trackers, - - - malicious domains - - - - WWW - - - - Serveroid, LLC - -
- BlahDNS - - - - Switzerland, - - - - Japan, - - - - Germany - - - - WWW - - Hobby ProjectNo - - DoH, - - DoT , - - - DNSCrypt - YesYes - - Ads, trackers, - - - malicious domains - - - - - WWW - - - - Choopa, LLC, - - - Data Center Light, - - - Hetzner Online GmbH - -
- Cloudflare - Anycast (based in - - - US) - - - - WWW - - CommercialSomeDoH, DoT, DNSCryptYesYesNo?Self
- CZ.NIC - - - - Czech Republic - - - - WWW - - AssociationNoDoH, DoTYesYes??Self
- dnswarden - - - - Germany - - - - WWW - - Hobby ProjectNo - - DoH, - - DoT , - - - DNSCrypt - YesYes - - Based on server choice - - ? - - Hetzner Online GmbH - -
- Foundation for Applied Privacy - - - - Austria - - - - WWW - - Non-ProfitSome - - DoH, - - DoT - - - YesYesNo? - - IPAX OG - -
- NextDNS - Anycast (based in - - - US) - - - - WWW - - Commercial - Based on user choice - DoH, DoT, DNSCryptYesYes - - Based on server choice - - ?Self
- NixNet - - - Anycast (based in - - US), - - - - US, - - - - Luxembourg - - - - WWW - - - - Informal collective - - NoDoH, DoTYesYes - - Based on server choice - - - - WWW - - - - FranTech Solutions - -
- PowerDNS - - - - The Netherlands - - - - WWW - - Hobby ProjectNoDoHYesNoNo - - WWW - - - - TransIP B.V. Admin - -
- Quad9 - Anycast (based in - - - US) - - - - WWW - - Non-ProfitSomeDoH, DoT, DNSCryptYesYes - - Malicious domains - - ? - Self, - - Packet Clearing House - -
- SecureDNS - - - - The Netherlands - - - - WWW - - Hobby ProjectNoDoH, DoT, DNSCryptYesYes - - Based on server choice - - ? - - DigitalOcean, Inc. - -
- Snopyta - - - - Finland - - - - WWW - - - - Informal collective - - NoDoH, DoTYesYes - - No - - ? - - Hetzner Online GmbH - -
- UncensoredDNS - Anycast (based in - - - Denmark), - - - - - Denmark, - - - - - US - - - - WWW - - Hobby ProjectNoDoT YesNoNo? - Self, - - Telia Company AB - -
-
- -

Terms

- -
    -
  • DNS-over-TLS (DoT) - A security protocol for encrypted DNS on a dedicated port 853. Some providers support port 443 which generally works everywhere while port 853 is often blocked by restrictive firewalls. DoT has two modes:
  • -
      -
    • Oppurtunistic mode: the client attempts to form a DNS-over-TLS connection to the server on port 853 without performing certificate validation. If it fails, it will use unencrypted DNS.
    • -
    • Strict mode: the client connects to a specific hostname and performs certificate validation for it. If it fails, no DNS queries are made until it succeeds.
    • -
    -
  • DNS-over-HTTPS (DoH) - Similar to DoT, but uses HTTPS instead, being indistinguishable from "normal" HTTPS traffic on port 443.
  • -
  • DNSCrypt - An older yet robust method of encrypting DNS.
  • -
- -

How to verify DNS is encrypted

- - - -

Worth Mentioning and Additional Information

- - diff --git a/_includes/sections/email-alternatives.html b/_includes/sections/email-alternatives.html deleted file mode 100644 index fa83fe6d..00000000 --- a/_includes/sections/email-alternatives.html +++ /dev/null @@ -1,34 +0,0 @@ -

Email Alternatives

- -{% include cardv2.html -title="Bitmessage" -image="/assets/img/tools/Bitmessage.png" -description="Bitmessage is a P2P communications protocol used to send encrypted messages to another person or to many subscribers. It is decentralized and trustless, -meaning that you need not inherently trust any entities like root certificate authorities. It uses strong authentication which means that the sender of a message cannot be spoofed, and it aims to hide \"non-content\" data." -website="https://bitmessage.org/" -forum="https://forum.privacytools.io/t/discussion-bitmessage/661" -github="https://github.com/Bitmessage/PyBitmessage" -windows="https://github.com/Bitmessage/PyBitmessage/releases" -mac="https://github.com/Bitmessage/PyBitmessage/releases" -linux="https://repology.org/project/pybitmessage/versions" -%} - -{% include cardv2.html -title="RetroShare" -image="/assets/img/tools/RetroShare.png" -description="Retroshare creates encrypted connections to your friends. Nobody can spy on you. Retroshare is completely decentralized. This means there are no central servers. It is entirely open-source and free. There are no costs, no ads, and no Terms of Service." -website="https://retroshare.cc/" -forum="https://forum.privacytools.io/t/discussion-retroshare/662" -github="https://github.com/RetroShare/RetroShare" -windows="https://retroshare.cc/downloads.html#windows" -mac="https://retroshare.cc/downloads.html#mac" -linux="https://retroshare.cc/downloads.html#gnulinux" -freebsd="https://retroshare.cc/downloads.html#freebsd" -%} - - -

Worth Mentioning

- -
    -
  • I2P-Bote - End-to-end encrypted decentralized mail system within the I2P network.
  • -
diff --git a/_includes/sections/email-clients.html b/_includes/sections/email-clients.html deleted file mode 100644 index f1f8f814..00000000 --- a/_includes/sections/email-clients.html +++ /dev/null @@ -1,50 +0,0 @@ -

Email Clients

- -{% include cardv2.html -title="Thunderbird" -image="/assets/img/tools/Thunderbird.png" -description="Thunderbird is a free, open source, cross-platform email, newsgroup, news feed, and chat (XMPP, IRC, Twitter) client developed by community, previously by the Mozilla Foundation." -website="https://www.thunderbird.net/" -forum="https://forum.privacytools.io/t/discussion-thunderbird/659" -source="https://hg.mozilla.org/comm-central/" -windows="https://www.thunderbird.net/en-US/" -mac="https://www.thunderbird.net/en-US/" -linux="https://www.thunderbird.net/en-US/" -freebsd="https://www.freshports.org/mail/thunderbird/" -openbsd="http://openports.se/mail/mozilla-thunderbird" -netbsd="http://pkgsrc.se/mail/thunderbird" -%} - -{% include cardv2.html -title="Claws Mail" -image="/assets/img/tools/Claws-Mail.png" -description="Claws Mail is a free and open source, GTK-based email and news client. It offers easy configuration and an abundance of features. It is included with Gpg4win, an encryption suite for Windows." -website="https://www.claws-mail.org/" -forum="https://forum.privacytools.io/t/discussion-claws-mail/660" -git="https://git.claws-mail.org/" -windows="https://www.claws-mail.org/win32/" -mac="https://www.claws-mail.org/faq/index.php/Installation_and_Configuration#What_do_I_need_to_compile_Claws_Mail.3F" -linux="https://www.claws-mail.org/downloads.php?section=downloads" -freebsd="https://www.freshports.org/mail/claws-mail/" -openbsd="http://openports.se/mail/claws-mail" -netbsd="http://pkgsrc.se/mail/claws-mail" -%} - - -

Privacy Email Tools

- -
    -
  • gpg4usb - A very easy to use and small portable editor to encrypt and decrypt any text-message or -file. For Windows and Linux. GPG tutorial.
  • -
  • Mailvelope - A browser extension that enables the exchange of encrypted emails following the OpenPGP encryption standard.
  • -
  • Enigmail - A security extension to Thunderbird and Seamonkey. It enables you to write and receive email messages signed and/or encrypted with the OpenPGP standard.
  • -
  • TorBirdy - TorBirdy configures Thunderbird to make connections over the Tor anonymity network. This extension is in beta and should be considered experimental.
  • -
  • Email Privacy Tester - This tool will send an Email to your address and perform privacy-related tests.
  • -
- -

Worth Mentioning

- -
    -
  • K-9 Mail - An independent mail application for Android. It supports both POP3 and IMAP mailboxes, but only supports push mail for IMAP.
  • -
  • GNU Privacy Guard - Email Encryption. GnuPG is a GPL Licensed alternative to the PGP suite of cryptographic software. Tutorial. Use GPGTools for macOS.
  • -
  • Mailpile (Beta) - A modern, fast web-mail client with user-friendly encryption and privacy features.
  • -
diff --git a/_includes/sections/email-providers.html b/_includes/sections/email-providers.html deleted file mode 100644 index a0e9b178..00000000 --- a/_includes/sections/email-providers.html +++ /dev/null @@ -1,270 +0,0 @@ -

Privacy-Conscious Email Providers - No Affiliates

- - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Email ProviderWebsiteSinceJurisdictionStorageYearly PriceBitcoinEncryptionOwn Domain
- Disroot - - WWW - 2015 - - Netherlands - - 1 GBFreeAcceptedBuilt-inYes
- Kolab Now - - WWW - 2010 - - Switzerland - - 2 GB$ 60AcceptedNoYes
- mailbox.org - - - WWW - 2014 - - Germany - - 2 GB12 €AcceptedBuilt-inYes
- Mailfence - - WWW - 2013 - - Belgium - - 500 MBFreeAcceptedBuilt-inYes
- Neomailbox - - WWW - 2003 - - Switzerland - - 1 GB$ 49.95AcceptedBuilt-inYes
- Posteo - - WWW - 2009 - - Germany - - 2 GB12 €NoBuilt-inNo
- Protonmail - - WWW - Tor - 2013 - - Switzerland - - 500 MBFreeAcceptedBuilt-inYes
- Runbox - - - WWW - 1999 - - Norway - - 1 GB$ 19.95AcceptedNoYes
- Soverin - - WWW - 2015 - - Netherlands - - 25 GB29 €NoNoYes
- StartMail - - WWW - 2014 - - Netherlands - - 10 GB$ 59.95AcceptedBuilt-inYes
- Tutanota - - WWW - 2011 - - Germany - - 1 GBFreeNoBuilt-inYes
-
- -

Interesting Email Providers Under Development

- -
    -
  • Confidant Mail - An open-source non-SMTP cryptographic email system optimized for large file attachments. It is a secure and spam-resistant alternative to regular email and online file drop services. It - uses GNU Privacy Guard (GPG) for content encryption and authentication, and TLS 1.2 with ephemeral keys for transport encryption.
  • -

Become Your Own Email Provider with Mail-in-a-Box

-Mail-in-a-Box -

Take it a step further and get control of your email with this easy-to-deploy mail server in a box. Mail-in-a-Box lets you become your own mail service provider in a few easy steps. It's sort of like making your own Gmail, but one you control from top -to bottom. Technically, Mail-in-a-Box turns a fresh cloud computer into a working mail server. But you don't need to be a technology expert to set it up. More: https://mailinabox.email/

- -

Related Information

- -
    -
  • Aging 'Privacy' Law Leaves Cloud E-Mail Open to Cops - Data stored in the cloud for longer than 6 months is considered abandoned and may be accessed by intelligence agencies without - a warrant. Learning: Use an external email client like Thunderbird or Enigmail, download your emails and store them locally. Never leave them on the server.
  • -
  • With May First/Riseup Server Seizure, FBI Overreaches Yet Again
  • -
  • Autistici/Inventati server compromised - The cryptographic services offered by the Autistici/Inventati server have been compromised on 15th June 2004. It was discovered on 21st June 2005. One year - later. During an enquiry on a single mailbox, the Postal Police may have tapped for a whole year every user's private communication going through the server autistici.org/inventati.org.
  • -
diff --git a/_includes/sections/file-encryption.html b/_includes/sections/file-encryption.html deleted file mode 100644 index 96ec5f3f..00000000 --- a/_includes/sections/file-encryption.html +++ /dev/null @@ -1,61 +0,0 @@ -

File Encryption Software

- - - -{% - include cardv2.html - title="VeraCrypt - Disk Encryption" - image="/assets/img/tools/VeraCrypt.png" - description="VeraCrypt is a source-available freeware utility used for on-the-fly encryption. It can create a virtual encrypted disk within a file or encrypt a partition or the entire storage device with pre-boot authentication. VeraCrypt is a fork of the discontinued TrueCrypt project. It was initially released on June 22, 2013. According to its developers, security improvements have been implemented and issues raised by the initial TrueCrypt code audit have been addressed." - website="https://veracrypt.fr/" - forum="https://forum.privacytools.io/t/discussion-veracrypt-file-encryption/1532" - git="https://www.veracrypt.fr/code/" - windows="https://www.veracrypt.fr/en/Downloads.html" - linux="https://www.veracrypt.fr/en/Downloads.html" - mac="https://www.veracrypt.fr/en/Downloads.html" -%} - -{% - include cardv2.html - title="GNU Privacy Guard - Email Encryption" - image="/assets/img/tools/GnuPG.png" - description="GnuPG is a GPL-licensed alternative to the PGP suite of cryptographic software. GnuPG is compliant with RFC 4880, which is the current IETF standards track specification of OpenPGP. Current versions of PGP (and Veridis' Filecrypt) are interoperable with GnuPG and other OpenPGP-compliant systems. GnuPG is a part of the Free Software Foundation's GNU software project, and has received major funding from the German government." - website="https://gnupg.org/" - forum="https://forum.privacytools.io/t/discussion-gnupg-file-encryption/1533" - git="https://git.gnupg.org/cgi-bin/gitweb.cgi?p=gnupg.git" - windows="https://gpg4win.org/download.html" - linux="https://gnupg.org/download/index.html#binary" - freebsd="https://www.freshports.org/security/gnupg/" - openbsd="http://openports.se/security/gnupg" - netbsd="http://pkgsrc.se/security/gnupg" - mac="https://gpgtools.org/" - fdroid="https://f-droid.org/app/org.sufficientlysecure.keychain" - googleplay="https://play.google.com/store/apps/details?id=org.sufficientlysecure.keychain" -%} - -{% - include cardv2.html - title="PeaZip - File Archive Encryption" - image="/assets/img/tools/PeaZip.png" - description="PeaZip is a free and open-source file manager and file archiver made by Giorgio Tani. It supports its native PEA archive format (featuring compression, multi volume split and flexible authenticated encryption and integrity check schemes) and other mainstream formats, with special focus on handling open formats. It also supports 180+ archive formats." - website="http://www.peazip.org" - forum="https://forum.privacytools.io/t/discussion-peazip-file-encryption/1534" - source="https://osdn.net/projects/peazip" - windows="https://www.peazip.org/peazip-64bit.html" - linux="https://www.peazip.org/peazip-linux.html" - freebsd="https://www.freshports.org/archivers/peazip/" - openbsd="https://www.peazip.org/peazip-bsd.html" - netbsd="https://www.peazip.org/peazip-bsd.html" -%} - -

Worth Mentioning

- -
    -
  • Cryptomator - Free client-side AES encryption for your cloud files. Open-source software: No backdoors, no registration.
  • -
  • DiskCryptor - A full disk and partition encryption system for Windows including the ability to encrypt the partition and disk on which the OS is installed.
  • -
  • Linux Unified Key Setup (LUKS) - A full disk encryption system for Linux using dm-crypt as the disk encryption backend. Included by default in Ubuntu. Available for Windows and Linux.
  • -
  • Hat.sh - A cross-platform, serverless JavaScript web application that provides secure file encryption using the AES-256-GCM algorithm in your browser. It can also be downloaded and run offline.
  • -
  • Keka - A macOS-only, open-source file archiver with the ability to encrypt files.
  • -
diff --git a/_includes/sections/file-sharing.html b/_includes/sections/file-sharing.html deleted file mode 100644 index 35660d75..00000000 --- a/_includes/sections/file-sharing.html +++ /dev/null @@ -1,49 +0,0 @@ -

File Sharing

- -{% include cardv2.html -title="Firefox Send" -image="/assets/img/tools/Firefox-Send.png" -website="https://send.firefox.com/" -description="Firefox Send uses end-to-end encryption to keep your data secure from the moment you share to the moment your file is opened. It also offers security controls that you can set. You can choose when your file link expires, the number of downloads, and whether to add an optional password for an extra layer of security." -forum="https://forum.privacytools.io/t/discussion-firefox-send/755" -github="https://github.com/mozilla/send" -web="https://send.firefox.com/" -googleplay="https://play.google.com/store/apps/details?id=org.mozilla.firefoxsend" -%} - -{% include cardv2.html -title="OnionShare" -image="/assets/img/tools/OnionShare.png" -website="https://onionshare.org/" -tor="http://elx57ue5uyfplgva.onion/" -description="OnionShare is an open-source tool that lets you securely and anonymously share a file of any size. It works by starting a web server, making it accessible as a Tor onion service, and generating an unguessable URL for you to share so that the recipients can access and download the files." -forum="https://forum.privacytools.io/t/discussion-onionshare/754" -github="https://github.com/micahflee/onionshare" -windows="https://onionshare.org/#downloads" -mac="https://onionshare.org/#downloads" -linux="https://onionshare.org/#downloads" -freebsd="https://www.freshports.org/www/onionshare/" -openbsd="http://openports.se/net/onionshare" -%} - -{% include cardv2.html -title="Magic Wormhole" -image="/assets/img/tools/Magic-Wormhole.png" -website="https://magic-wormhole.readthedocs.io" -description="Magic Wormhole is a package that provides a library and a command-line tool named wormhole, which makes it possible to get arbitrary-sized files and directories (or short pieces of text) from one computer to another. Their motto: \"Get things from one computer to another, safely.\"" -forum="https://forum.privacytools.io/t/discussion-magic-wormhole/756" -github="https://github.com/warner/magic-wormhole" -windows="https://magic-wormhole.readthedocs.io/en/latest/welcome.html#installation" -mac="https://magic-wormhole.readthedocs.io/en/latest/welcome.html#installation" -linux="https://magic-wormhole.readthedocs.io/en/latest/welcome.html#installation" -freebsd="https://www.freshports.org/net/py-magic-wormhole/" -openbsd="https://pypi.org/project/magic-wormhole/" -netbsd="https://pypi.org/project/magic-wormhole/" -%} - -

Worth Mentioning

- -
    -
  • croc - Easily and securely send things from one computer to another.
  • -
  • FreedomBox - Designed to be your own inexpensive server at home. It runs free software and offers an increasing number of services ranging from a calendar or Jabber server, to a wiki, or VPN.
  • -
diff --git a/_includes/sections/file-sync.html b/_includes/sections/file-sync.html deleted file mode 100644 index 6dea5561..00000000 --- a/_includes/sections/file-sync.html +++ /dev/null @@ -1,42 +0,0 @@ -

- - - - File Sync -

- -{% - include cardv2.html - title="Syncthing" - image="/assets/img/tools/Syncthing.png" - description="Syncthing replaces proprietary sync and cloud services with something open, trustworthy and decentralized. Your data is your data alone and you deserve to choose where it is stored, if it is shared with some third-party and how it's transmitted over the Internet." - website="https://syncthing.net/" - forum="https://forum.privacytools.io/t/discussion-syncthing/1627/2" - github="https://github.com/syncthing?type=source" - windows="https://github.com/syncthing/syncthing-gtk/releases/latest" - linux="https://github.com/syncthing/syncthing-gtk/releases/latest" - mac="https://github.com/syncthing/syncthing-macos/releases/latest" - fdroid="https://f-droid.org/packages/com.github.catfriend1.syncthingandroid/" - googleplay="https://play.google.com/store/apps/details?id=com.github.catfriend1.syncthingandroid" -%} - -{% - include cardv2.html - title="SparkleShare" - image="/assets/img/tools/SparkleShare.png" - description="SparkleShare creates a special folder on your computer. You can add remotely hosted folders (or \"projects\") to this folder. These projects will be automatically kept in sync with both the host and all of your peers when someone adds, removes or edits a file." - website="https://sparkleshare.org/" - forum="https://forum.privacytools.io/t/discussion-sparkleshare/1626" - github="https://github.com/hbons/SparkleShare" - linux="https://www.sparkleshare.org/" - mac="https://github.com/hbons/SparkleShare/releases/" -%} - -

Worth Mentioning

- -
    -
  • - git-annex - Allows managing files with git, without checking the file contents into git. While that may seem paradoxical, it is useful when dealing with files larger than git can currently easily handle, - whether due to limitations in memory, time, or disk space. -
  • -
diff --git a/_includes/sections/fourteen-eyes.html b/_includes/sections/fourteen-eyes.html deleted file mode 100644 index 153921fe..00000000 --- a/_includes/sections/fourteen-eyes.html +++ /dev/null @@ -1,45 +0,0 @@ -

Global Mass Surveillance - The Fourteen Eyes

- -UKUSA Agreement - -

The UKUSA Agreement is an agreement between the United Kingdom, United States, Australia, Canada, and New Zealand to cooperatively collect, analyze, and share intelligence. Members of this group, known as the Five Eyes, focus on gathering and analyzing intelligence from different parts of the world. While Five Eyes countries have agreed to not spy on each other as adversaries, leaks by Snowden have revealed that some Five Eyes members monitor each other's citizens and share intelligence to avoid breaking domestic laws that prohibit them from spying on their own citizens. The Five Eyes alliance also cooperates with groups of third-party countries to share intelligence (forming the Nine Eyes and Fourteen Eyes); however, Five Eyes and third-party countries can and do spy on each other.

- -
- {% include panel.html color="danger" - title="Five Eyes" - body=' -
    -
  1. Australia
  2. -
  3. Canada
  4. -
  5. New Zealand
  6. -
  7. United Kingdom
  8. -
  9. United States of America
  10. -
- ' - %} - - {% include panel.html color="warning" - title="Nine Eyes" - body=' -
    -
  1. Denmark
  2. -
  3. France
  4. -
  5. Netherlands
  6. -
  7. Norway
  8. -
- ' - %} - - {% include panel.html color="secondary" - title="Fourteen Eyes" - body=' -
    -
  1. Belgium
  2. -
  3. Germany
  4. -
  5. Italy
  6. -
  7. Spain
  8. -
  9. Sweden
  10. -
- ' - %} -
diff --git a/_includes/sections/header.html b/_includes/sections/header.html deleted file mode 100644 index bdcef64c..00000000 --- a/_includes/sections/header.html +++ /dev/null @@ -1,17 +0,0 @@ - - -
-

privacytools.io

-

You are being watched. Private and state-sponsored organizations are monitoring and recording your online activities. privacytools.io provides services, tools and knowledge to protect your privacy against global mass surveillance.

-
- - diff --git a/_includes/sections/hosting-provider.html b/_includes/sections/hosting-provider.html deleted file mode 100644 index 276a556d..00000000 --- a/_includes/sections/hosting-provider.html +++ /dev/null @@ -1,34 +0,0 @@ -

Secure Hosting Provider

- -{% include cardv2.html -title="Data Center: Bahnhof" -image="/assets/img/provider/bahnhof.png" -description="Bahnhof is one of Sweden’s largest network operators, founded in 1994. They specialize in innovative data center construction: Extreme security coupled with low-cost green energy has made them world famous." -website="https://www.bahnhof.net/" -forum="https://forum.privacytools.io/t/discussion-bahnhof-net/341" -%} - -{% include cardv2.html -title="VPS & Domain: Njalla" -image="/assets/img/provider/Njalla.png" -description="Njalla is a privacy-aware domain registration service and VPS provider based in Nevis (with VPS data centers in Sweden). It is created by people from The Pirate Bay and IPredator VPN. Accepted payments: Bitcoin, Litecoin, Monero, DASH, Bitcoin Cash and PayPal." -website="https://njal.la/" -tor="http://njalladnspotetti.onion" -forum="https://forum.privacytools.io/t/discussion-njalla/339" -%} - -{% include cardv2.html -title="Colocation: DataCell" -image="/assets/img/provider/datacell.png" -description="DataCell is a data center providing secure colocating in Switzerland and Iceland." -website="https://datacell.is/" -forum="https://forum.privacytools.io/t/discussion-datacell-is/342" -%} - -{% include cardv2.html -title="VPS, Hosting, & Domain: Orange Website" -image="/assets/img/provider/orange_hosting.png" -description="Orange Website is an Icelandic web hosting provider that prides themselves in protecting online privacy and free speech." -website="https://www.orangewebsite.com/" -forum="https://forum.privacytools.io/t/discussion-orange-website/343" -%} diff --git a/_includes/sections/instant-messenger.html b/_includes/sections/instant-messenger.html deleted file mode 100644 index 1602c2b7..00000000 --- a/_includes/sections/instant-messenger.html +++ /dev/null @@ -1,83 +0,0 @@ -

Encrypted Instant Messenger

- - - - -{% include cardv2.html -title="Signal" -image="/assets/img/tools/Signal.png" -description="Signal is a mobile app developed by Open Whisper Systems. The app provides instant messaging, as well as voice and video calling. -All communications are end-to-end encrypted. Signal is free and open source." -labels="success:VoIP" -website="https://signal.org/" -forum="https://forum.privacytools.io/t/discussion-signal/664" -github="https://github.com/signalapp" -windows="https://signal.org/download/" -mac="https://signal.org/download/" -linux="https://signal.org/download/" -googleplay="https://play.google.com/store/apps/details?id=org.thoughtcrime.securesms" -android="https://signal.org/android/apk/#apk-danger" -ios="https://apps.apple.com/us/app/signal-private-messenger/id874139669" -%} - - -{% include cardv2.html -title="Wire" -image="/assets/img/tools/wire.png" -description="Wire is a free and end-to-end encrypted chatting application that supports instant messaging, voice, and video calls. Full source code is available." -labels="warning:Warning:Wire stores some plaintext metadata about its users on their servers. This data includes profile names, profile pictures, usernames, and users' lists of connections and conversations.|success:VoIP" -website="https://wire.com/" -forum="https://forum.privacytools.io/t/discussion-wire/750" -github="https://github.com/wireapp/" -windows="https://wire.com/en/download" -mac="https://wire.com/en/download" -linux="https://wire.com/en/download" -googleplay="https://play.google.com/store/apps/details?id=com.wire" -android="https://wire.com/en/download" -ios="https://itunes.apple.com/app/wire/id930944768?mt=8" -web="https://app.wire.com" -%} - -

Complete Comparison

- - - -

Worth Mentioning

- -
    -
  • Briar - An ultra-secure peer-to-peer instant messenger that connects to contacts via Direct Wi-Fi, Bluetooth, or Tor over the internet, keeping its users protected from surveillance and censorship.
  • -
  • Riot - An open-source, federated messenger that utilizes the Matrix protocol. This application is primarily recommended as a large group/team chat solution. While Riot has the ability to perform 1-on-1 communications we believe there are better solutions for direct communications.
  • -
  • RetroShare - An end-to-end encrypted instant messaging and voice/video call client. RetroShare supports both TOR and I2P.
  • -
  • XMPP - Federated instant messaging protocol with OMEMO, OTR, or OpenPGP end-to-end encryption:
  • -
      -
    • Conversations (Android) - An open-source Jabber/XMPP client for Android 4.4+ smartphones. OMEMO
    • -
    • Gajim (FreeBSD, Linux, Windows) - An open-source fully featured XMPP client. OMEMO
    • -
    • Monal (iOS, MacOS) - An XMPP client in active development. OMEMO VoIP
    • -
    • Other OMEMO-ready clients.
    • -
    -
  • Kontalk - A community-driven instant messaging network. Supports end-to-end encryption. Both client-to-server and server-to-server channels are fully encrypted.
  • -
  • Keybase - Warning End-to-end encrypted messaging with social verification.
  • -
  • Status - Experimental A free and open-source, peer-to-peer, encrypted instant messanger with support for DAPPs.
  • -
  • Tox - Experimental A free and open-source, peer-to-peer, encrypted instant messaging, and video calling software. VoIP
  • -
  • Jami (formerly Ring/SFLphone) - Gives you full control over your communications and an unmatched level of privacy. Jami has text messaging, video and audio calls, file transfer, and video conferencing. VoIP
  • -
- - -

Related Information

- - diff --git a/_includes/sections/key-disclosure-law.html b/_includes/sections/key-disclosure-law.html deleted file mode 100644 index b1f7e698..00000000 --- a/_includes/sections/key-disclosure-law.html +++ /dev/null @@ -1,88 +0,0 @@ -

Key Disclosure Law

- -

Who is required to hand over the encryption keys to authorities?

- -

Mandatory key disclosure laws require individuals to turn over encryption keys to law enforcement conducting a criminal investigation. How these laws are implemented (who may be legally compelled to assist) vary from nation to nation, but a warrant is generally required. Defenses against key disclosure laws include steganography and encrypting data in a way that provides plausible deniability.

Steganography involves hiding sensitive information (which may be encrypted) inside of ordinary data (for example, encrypting an image file and then hiding it in an audio file). With plausible deniability, data is encrypted in a way that prevents an adversary from being able to prove that the information they are after exists (for example, one password may decrypt benign data and another password, used on the same file, could decrypt sensitive data).

- -
- - {% include panel.html color="danger" - title="Key disclosure laws apply" - body=' -
    -
  1. Antigua and Barbuda
  2. -
  3. Australia
  4. -
  5. Canada
  6. -
  7. France
  8. -
  9. India
  10. -
  11. Ireland
  12. -
  13. Norway
  14. -
  15. Russia
  16. -
  17. South Africa
  18. -
  19. United Kingdom
  20. -
- ' - %} - - {% include panel.html color="warning" - title="Key disclosure laws may apply" - body=' -
    -
  1. Belgium *
  2. -
  3. Estonia
  4. -
  5. Finland *
  6. -
  7. New Zealand (unclear)
  8. -
  9. The Netherlands *
  10. -
  11. United States (see related info)
  12. -
- ' - %} - - {% include panel.html color="success" - title="Key disclosure laws don't apply" - body=' -
    -
  1. Czech Republic
  2. -
  3. Germany
  4. -
  5. Iceland
  6. -
  7. Italy
  8. -
  9. Poland
  10. -
  11. Sweden (proposed)
  12. -
  13. Switzerland
  14. -
- ' - %} - -
- -

* (people who know how to access a system may be ordered to share their knowledge, however, this doesn't apply to the suspect itself or family members.)

- -

Related Information

- - - -

Why is it not recommended to choose a US-based service?

- -USA - -

Services based in the United States are not recommended because of the country's surveillance programs and use of National Security Letters (NSLs) with accompanying gag orders, which forbid the recipient from talking about the request. This combination allows the government to secretly force companies to grant complete access to customer data and transform the service into a tool of mass surveillance.

- -

An example of this is Lavabit – a secure email service created by Ladar Levison. The FBI requested Snowden's records after finding out that he used the service. Since Lavabit did not keep logs and email content was stored encrypted, the FBI served a subpoena (with a gag order) for the service's SSL keys. Having the SSL keys would allow them to access -communications (both metadata and unencrypted content) in real time for all of Lavabit's customers, not just Snowden's.

- -

Ultimately, Levison turned over the SSL keys and shut down the service at the same time. The US government then threatened Levison with arrest, saying that shutting down the service was a violation of the court order.

- -

Related Information

- - diff --git a/_includes/sections/live-operating-systems.html b/_includes/sections/live-operating-systems.html deleted file mode 100644 index bf238f36..00000000 --- a/_includes/sections/live-operating-systems.html +++ /dev/null @@ -1,38 +0,0 @@ -

Live CD Operating Systems

- -{% include cardv2.html -title="Tails" -image="/assets/img/tools/Tails.png" -description='Tails is a live operating system that starts on almost any computer from a DVD, USB stick, or SD card. It aims at preserving privacy and anonymity, and circumventing censorship by forcing Internet connections through the Tor network; leaving no trace on the computer; and using state-of-the-art cryptographic tools to encrypt files, emails, and instant messages.' -badges="info:GNU/Linux" -labels="warning:contrib:This software may depend on or recommend non-free software." -website="https://tails.boum.org/" -git="https://git-tails.immerda.ch/tails/" -%} - -{% include cardv2.html -title="KNOPPIX" -image="/assets/img/tools/KNOPPIX.png" -description='Knoppix is an operating system based on Debian designed to be run directly from a CD / DVD (Live CD) or a USB flash drive (Live USB), one of the first of its kind for any operating system. When starting a program, it is loaded from the removable medium and decompressed into a RAM drive. The decompression is transparent and on-the-fly.' -badges="info:GNU/Linux" -labels="warning:contrib:This software may depend on or recommend non-free software." -website="https://www.knopper.net/knoppix/index-en.html" -source="https://www.knopper.net/knoppix-info/index-en.html#license" -%} - -{% include cardv2.html -title="Puppy Linux" -image="/assets/img/tools/Puppy-Linux.png" -description='Puppy Linux operating system is a lightweight Linux distribution that focuses on ease of use and minimal memory footprint. The entire system can be run from RAM with current versions generally taking up about 210 MB, allowing the boot medium to be removed after the operating system has started.' -badges="info:GNU/Linux" -labels="warning:contrib:This software may depend on or recommend non-free software." -website="http://puppylinux.org/" -source="http://distro.ibiblio.org/puppylinux/" -%} - -

Worth Mentioning

- -
    -
  • Tiny Core Linux GNU/Linux contrib - A minimal Linux operating system focusing on providing a base system using BusyBox and FLTK. The distribution is notable for its size (15 MB) and minimalism, with additional functionality - provided by extensions.
  • -
diff --git a/_includes/sections/mobile-operating-systems.html b/_includes/sections/mobile-operating-systems.html deleted file mode 100644 index b48024e7..00000000 --- a/_includes/sections/mobile-operating-systems.html +++ /dev/null @@ -1,44 +0,0 @@ -

Mobile Operating Systems

- - - -{% include cardv2.html -title="GrapheneOS" -image="/assets/img/tools/GrapheneOS.png" -image-dark="/assets/img/tools/GrapheneOS-dark.png" -description='GrapheneOS (formerly known as CopperheadOS) is a free and open-source security- and privacy-focused mobile operating system built on top of the Android Open Source Project. It currently specifically targets devices offering strong hardware security.' -badges="info:AOSP" -labels="warning:contrib:This software may depend on or recommend non-free software." -website="https://grapheneos.org/" -github="https://github.com/GrapheneOS/" -%} - -{% include cardv2.html -title="LineageOS" -image="/assets/img/tools/LineageOS.png" -description='LineageOS is a free and open-source operating system for smartphones and tablets, based on the official releases of the Android Open Source Project. It is the continuation of the CyanogenMod project.' -badges="info:AOSP" -labels="warning:contrib:This software may depend on or recommend non-free software." -website="https://www.lineageos.org/" -github="https://github.com/LineageOS" -%} - -{% include cardv2.html -title="Ubuntu Touch" -image="/assets/img/tools/Ubuntu-Touch.png" -description="Ubuntu Touch is a free and open-source operating system for smartphones and tablets. It's an alternative to the current popular mobile operating systems on the market. Only a few devices are supported." -badges="info:GNU/Linux" -labels="warning:contrib:This software may depend on or recommend non-free software." -website="https://ubuntu-touch.io/" -github="https://github.com/ubports" -%} - -

Worth Mentioning

- -
    -
  • Replicant AOSP - An open-source operating system based on Android, aiming to replace all proprietary components with free software.
  • -
  • OmniROM AOSP contrib - A free-software operating system for smartphones and tablet computers, based on the Android mobile platform.
  • -
  • MicroG Add-on Package contrib - A project that aims to reimplement the proprietary Google Play Services in the Android operating system with a FLOSS replacement. The microG project also maintains a fork of LineageOS with microG and F-Droid preinstalled at Lineage for microG.
  • -
diff --git a/_includes/sections/notebooks.html b/_includes/sections/notebooks.html deleted file mode 100644 index 9930001b..00000000 --- a/_includes/sections/notebooks.html +++ /dev/null @@ -1,66 +0,0 @@ -

Digital Notebook

- - - -{% include cardv2.html -title="Joplin" -image="/assets/img/tools/Joplin.png" -description="Joplin is a free, open-source, and fully-featured note-taking and to-do application which can handle a large number of markdown notes organized into notebooks and tags. It offers end-to-end encryption and can sync through Nextcloud, Dropbox, and more. It also offers easy import from Evernote and plain-text notes." -website="https://joplinapp.org/" -github="https://github.com/laurent22/joplin" -windows="https://joplinapp.org/#desktop-applications" -mac="https://joplinapp.org/#desktop-applications" -linux="https://joplinapp.org/#desktop-applications" -freebsd="https://www.npmjs.com/package/joplin" -googleplay="https://joplinapp.org/images/BadgeAndroid.png" -android="https://joplinapp.org/#mobile-applications" -ios="https://itunes.apple.com/us/app/joplin/id1315599797" -firefox="https://addons.mozilla.org/en-US/firefox/addon/joplin-web-clipper/" -chrome="https://chrome.google.com/webstore/detail/joplin-web-clipper/alofnhikmmkdbbbgpnglcpdollgjjfek" -%} - -{% include cardv2.html -title="Standard Notes" -image="/assets/img/tools/StandardNotes.png" -description="Standard Notes is a simple and private notes app that makes your notes easy and available everywhere you are. Features end-to-end encryption on every platform, and a powerful desktop experience with themes and custom editors." -website="https://standardnotes.org/" -github="https://github.com/standardnotes" -windows="https://standardnotes.org/#get-started" -mac="https://standardnotes.org/#get-started" -linux="https://standardnotes.org/#get-started" -ios="https://itunes.apple.com/us/app/standard-notes/id1285392450" -fdroid="https://f-droid.org/packages/com.standardnotes/" -googleplay="https://play.google.com/store/apps/details?id=com.standardnotes" -web="https://app.standardnotes.org/" -%} - -{% include cardv2.html -title="Turtl" -image="/assets/img/tools/Turtl.png" -description="Turtl lets you take notes, bookmark websites, and store documents for sensitive projects. From sharing passwords with your coworkers to tracking research on an article you're writing, Turtl keeps it all safe from everyone but you and those you share with." -website="https://turtlapp.com/" -github="https://github.com/turtl" -windows="https://turtlapp.com/download/" -mac="https://turtlapp.com/download/" -linux="https://turtlapp.com/download/" -googleplay="https://play.google.com/store/apps/details?id=com.lyonbros.turtl" -android="https://turtlapp.com/download/" -firefox="https://addons.mozilla.org/en-US/firefox/addon/turtl-bookmarking/" -chrome="https://chrome.google.com/webstore/detail/turtl/dgcojenhfdjhieoglmiaheihjadlpcml" -%} - -

Warning

- -
    -
  • Note: As of Dec 2018, Joplin does not support password/pin protection for the application itself or individual notes/notebooks. Data is still encrypted in transit and at sync location using your master key. See open issue.
  • -
- -

Worth Mentioning

- -
    -
  • Notable - The markdown-based note-taking app that doesn't suck.
  • -
  • Paperwork - An open-source and self-hosted solution. For PHP / MySQL servers.
  • -
  • Org-mode - A major mode for GNU Emacs. Org-mode is for keeping notes, maintaining TODO lists, planning projects, and authoring documents with a fast and effective plain-text system.
  • -
diff --git a/_includes/sections/operating-systems.html b/_includes/sections/operating-systems.html deleted file mode 100644 index c6eae044..00000000 --- a/_includes/sections/operating-systems.html +++ /dev/null @@ -1,82 +0,0 @@ -

PC Operating Systems

- - - -{% include cardv2.html -title="Qubes OS" -image="/assets/img/tools/Qubes-OS.png" -description='Qubes is an open-source operating system designed to provide strong security for desktop computing. Qubes is based on Xen, the X Window System, and Linux, and can run most Linux applications and utilize most of the Linux drivers.' -badges="info:Xen" -labels="warning:contrib:This software may depend on or recommend non-free software." -website="https://www.qubes-os.org/" -github="https://github.com/QubesOS" -tor="http://qubesosfasa4zl44o4tws22di6kepyzfeqv3tg4e3ztknltfxqrymdad.onion/" -%} - -{% include cardv2.html -title="Fedora Workstation" -image="/assets/img/tools/Fedora.png" -description='Fedora is a Linux distribution developed by the Fedora Project and sponsored by Red Hat. Fedora Workstation is a secure, reliable, and user-friendly edition developed for desktops and laptops, using GNOME as the default desktop environment.' -badges="info:GNU/Linux" -labels="warning:contrib:This software may depend on or recommend non-free software." -website="https://getfedora.org/" -git="https://src.fedoraproject.org/" -%} - -{% include cardv2.html -title="Debian" -image="/assets/img/tools/Debian.png" -description='Debian is a Unix-like computer operating system and a Linux distribution that is composed entirely of free and open-source software, most of which is under the GNU General Public License, and packaged by a group of individuals known as the Debian project.' -badges="info:GNU/Linux" -website="https://www.debian.org/" -tor="http://sejnfjrq6szgca7v.onion" -gitlab="https://salsa.debian.org/qa/debsources" -%} - -

Worth Mentioning

- -
    -
  • OpenBSD BSD - A project that produces a free, multi-platform 4.4BSD-based UNIX-like operating system. Emphasizes portability, standardization, correctness, proactive security and integrated cryptography.
  • -
  • Arch Linux GNU/Linux contrib - A simple, lightweight Linux distribution. It is composed predominantly of free and open-source software, and supports community involvement. Parabola is a - completely open source version of Arch Linux.
  • -
  • Trisquel GNU/Linux - Derived from Ubuntu, this project aims for a fully free software system without proprietary software or firmware and uses Linux-libre, a version of the Linux kernel with the non-free code (binary blobs) removed.
  • -
  • Whonix GNU/Linux - A Debian-based security-focused Linux distribution. It aims to provide privacy, security and anonymity on the internet. The operating system consists of two virtual machines, a "Workstation" - and a Tor "Gateway". All communication are forced through the Tor network to accomplish this.
  • -
- -

Warning

- - - -

Remember to check CPU vulnerability mitigations

- -

This also affects Windows 10, but it doesn't expose this information or mitigation instructions as easily. MacOS users check How to enable full mitigation for Microarchitectural Data Sampling (MDS) vulnerabilities on Apple Support.

- -

When running a enough recent Linux kernel, you can check the CPU vulnerabilities it detects by tail -n +1 /sys/devices/system/cpu/vulnerabilities/*. By using tail -n +1 instead of cat, the file names are also visible.

- -

- In case you have an Intel CPU, you may notice "SMT vulnerable" display after running the tail command. To mitigate this, disable hyper-threading from the UEFI/BIOS. You can also take the following mitigation steps below if your system/distribution uses GRUB and supports /etc/default/grub.d/: -

- -
    -
  1. sudo mkdir /etc/default/grub.d/ to create a directory for additional grub configuration
  2. -
  3. echo GRUB_CMDLINE_LINUX_DEFAULT="$GRUB_CMDLINE_LINUX_DEFAULT l1tf=full,force mds=full,nosmt mitigations=auto,nosmt nosmt=force" | sudo tee /etc/default/grub.d/mitigations.cfg to create a new grub config file source with the echoed content
  4. -
  5. sudo grub-mkconfig -o /boot/grub/grub.cfg to generate a new grub config file including these new kernel boot flags
  6. -
  7. sudo reboot to reboot
  8. -
  9. after the reboot, check tail -n +1 /sys/devices/system/cpu/vulnerabilities/* again to see that everything referring to SMT now says "SMT disabled."
  10. -
- -
Further reading
- - diff --git a/_includes/sections/participate.html b/_includes/sections/participate.html deleted file mode 100644 index 49e6e206..00000000 --- a/_includes/sections/participate.html +++ /dev/null @@ -1,38 +0,0 @@ - - -

It's important for a website like privacytools.io to stay up-to-date. Keep an eye on software updates for the applications listed on our site. Follow recent news about providers that we recommend. We try our best to keep up, but we're not perfect and the internet is changing fast. If you find an error, or you think a provider should not be listed here, or a qualified service provider is missing, or a browser plugin is not the best choice anymore, or anything else... Talk to us please. You can also find us on our own Mastodon instance or on Matrix at #general:privacytools.io.

- -
- - {% include card.html color="success" - title="Discourse & Reddit" - image="/assets/img/icons/discourse.png" - url="https://forum.privacytools.io/" - website="Discourse" - extra_button='Reddit' - description='Join our Discourse community to stay up to date on privacy news or make suggestions!' - %} - - {% include card.html color="primary" - title="Follow on Mastodon & Twitter" - image="/assets/img/icons/mastodon.png" - url="https://social.privacytools.io/" - website="Mastodon" - extra_button='Twitter' - description="Get the latest privacy-related updates from our Mastodon Feed. Follow us today!" - %} - - {% include card.html color="warning" - title="Develop on GitHub" - font="fab fa-github" - url="https://github.com/privacytoolsIO/privacytools.io" - website="GitHub" - description="The complete website source code is available on GitHub. Join our developer team!" - extra_button='Contributor List' - %} - -
- -

This is a community project aiming to deliver the best information available to improve privacy online. Thank you for participating. This project needs you.

diff --git a/_includes/sections/password-managers.html b/_includes/sections/password-managers.html deleted file mode 100644 index 92c1f385..00000000 --- a/_includes/sections/password-managers.html +++ /dev/null @@ -1,90 +0,0 @@ -

Password Manager Software

- - - -{% - include cardv2.html - title="Bitwarden - Cloud/Self-host" - image="/assets/img/tools/bitwarden.png" - description="Bitwarden is a free and open-source password manager. It aims to solve password management problems for individuals, teams, and business organizations. Bitwarden is among the easiest and safest solutions to store all of your logins and passwords while conveniently keeping them synced between all of your devices. If you don't want to use the Bitwarden cloud, you can easily host your own Bitwarden server." - website="https://bitwarden.com/" - forum="https://forum.privacytools.io/t/discussion-bitwarden/1343" - github="https://github.com/bitwarden" - web="https://vault.bitwarden.com/#/" - windows="https://bitwarden.com/#download" - linux="https://bitwarden.com/#download" - freebsd="https://www.npmjs.com/package/@bitwarden/cli" - openbsd="https://www.npmjs.com/package/@bitwarden/cli" - netbsd="https://www.npmjs.com/package/@bitwarden/cli" - mac="https://bitwarden.com/#download" - firefox="https://addons.mozilla.org/firefox/addon/bitwarden-password-manager/" - chrome="https://chrome.google.com/webstore/detail/bitwarden-free-password-m/nngceckbapebfimnlniiiahkandclblb" - safari="https://safari-extensions.apple.com/details/?id=com.bitwarden.safari-LTZ2PFU5D6" - opera="https://addons.opera.com/extensions/details/bitwarden-free-password-manager/" - edge="https://www.microsoft.com/store/apps/9P6KXL0SVNNL" - fdroid="https://mobileapp.bitwarden.com/fdroid/" - googleplay="https://play.google.com/store/apps/details?id=com.x8bit.bitwarden" - ios="https://itunes.apple.com/app/bitwarden-free-password-manager/id1137397744?mt=8" -%} - -{% - include cardv2.html - title="KeePassXC - Local" - image="/assets/img/tools/keepassxc.png" - description="KeePassXC is a community fork of KeePassX, a native cross-platform port of KeePass Password Safe, with the goal to extend and improve it with new features and bugfixes to provide a feature-rich, fully cross-platform and modern open-source password manager." - website="https://keepassxc.org/" - forum="https://forum.privacytools.io/t/discussion-keepassxc/1344/2" - github="https://github.com/keepassxreboot/keepassxc" - windows="https://keepassxc.org/download/#windows" - linux="https://keepassxc.org/download/#linux" - mac="https://keepassxc.org/download/#mac" - freebsd="https://www.freshports.org/security/keepassxc/" - openbsd="http://openports.se/security/keepassxc" - netbsd="http://pkgsrc.se/security/keepassxc" - fdroid="https://f-droid.org/packages/com.kunzisoft.keepass.libre/" - googleplay="https://play.google.com/store/apps/details?id=com.kunzisoft.keepass.free" - firefox="https://addons.mozilla.org/en-US/firefox/addon/keepassxc-browser" - chrome="https://chrome.google.com/webstore/detail/keepassxc-browser/oboonakemofpalcgghocfoadofidjkkk" -%} - -{% - include cardv2.html - title="LessPass - Browser" - image="/assets/img/tools/LessPass.png" - description="LessPass is a free and open-source password manager that generates unique passwords for websites, email accounts, or anything else based on a master password and information you know. No sync needed. Uses PBKDF2 and SHA-256. It's advised to use the browser addons for more security." - website="https://lesspass.com/" - forum="https://forum.privacytools.io/t/discussion-keepassxc/1344/2" - github="https://github.com/lesspass/lesspass" - windows="https://pypi.org/project/lesspass/" - mac="https://pypi.org/project/lesspass/" - linux="https://pypi.org/project/lesspass/" - freebsd="https://pypi.org/project/lesspass/" - firefox="https://addons.mozilla.org/en-US/firefox/addon/lesspass/" - chrome="https://chrome.google.com/webstore/detail/lesspass/lcmbpoclaodbgkbjafnkbbinogcbnjih" - fdroid="https://f-droid.org/packages/com.lesspass.android" - googleplay="https://play.google.com/store/apps/details?id=com.lesspass.android" -%} - -

Worth Mentioning

- -
    -
  • - Master Password - A password manager based on an ingenious password-generation algorithm that guarantees your passwords can never be lost. Its passwords aren't stored: they are generated on-demand from your name, the site, and your master password. No syncing, backups, or internet access needed. -
  • - -
  • - Psono - Free and open source password manager for teams with client side encryption and secure sharing of passwords, files, bookmarks, emails. All secrets are protected by a master password. Uses NACL Crypto, a combination of Curve25519, Salsa20 and Poly1305. -
  • - -
  • - Password Safe - Whether the answer is one or hundreds, Password Safe allows you to safely and easily create a secured and encrypted username/password list. With Password Safe all you have to do is create and remember a single "Master Password" of your choice in order to unlock and access your entire username/password list. -
  • -
- -

Related Information

- - diff --git a/_includes/sections/paste-services.html b/_includes/sections/paste-services.html deleted file mode 100644 index 5c94fc38..00000000 --- a/_includes/sections/paste-services.html +++ /dev/null @@ -1,20 +0,0 @@ -

Pastebin Services

- -{% include cardv2.html -title="PrivateBin" -image="/assets/img/tools/PrivateBin.png" -description="PrivateBin is a minimalist, open-source online pastebin where the server has zero knowledge of pasted data. Data is encrypted/decrypted in the browser using 256-bit AES. It is the improved version of ZeroBin." -website="https://privatebin.info/" -forum="https://forum.privacytools.io/t/discussion-privatebin/296" -github="https://github.com/PrivateBin/PrivateBin" -%} - - -{% include cardv2.html -title="CryptPad" -image="/assets/img/provider/CryptPad.png" -description="CryptPad is an open-source, zero knowledge, and real-time collaborative editor. Data is encrypted/decrypted in the browser, using Salsa20 with Poly1305 to encrypt pads." -website="https://cryptpad.fr/pad/" -forum="https://forum.privacytools.io/t/discussion-cryptpad/1270" -github="https://github.com/xwiki-labs/cryptpad" -%} diff --git a/_includes/sections/privacy-resources.html b/_includes/sections/privacy-resources.html deleted file mode 100644 index fc4009a6..00000000 --- a/_includes/sections/privacy-resources.html +++ /dev/null @@ -1,43 +0,0 @@ -

More Privacy Resources

- -

Guides

- - - -

Information

- -
    -
  • Freedom of the Press Foundation - Supporting and defending journalism dedicated to transparency and accountability since 2012.
  • -
  • Erfahrungen.com - German review aggregator website of privacy-related services.
  • -
  • Open Wireless Movement - a coalition of Internet freedom advocates, companies, organizations, and technologists working to develop new wireless technologies and to inspire a movement of Internet openness.
  • -
  • privacy.net - What does the US government know about you?
  • -
  • r/privacytoolsIO Wiki - Our Wiki on reddit.com.
  • -
  • Security Now! - Weekly Internet Security Podcast by Steve Gibson and Leo Laporte.
  • -
  • TechSNAP - Weekly Systems, Network, and Administration Podcast. Every week TechSNAP covers the stories that impact those of us in the tech industry.
  • -
  • Terms of Service; Didn't Read - "I have read and agree to the Terms" is the biggest lie on the web. We aim to fix that.
  • -
  • The Great Cloudwall - Critique and information on why to avoid Cloudflare, a big company with a huge portion of the internet behind it.
  • -
- -

Tools

- -
    -
  • ipleak.net - IP/DNS Detect - What is your IP, what is your DNS, what informations you send to websites.
  • -
  • The ultimate Online Privacy Test Resource List - A collection of Internet sites that check whether your web browser leaks information.
  • -
  • PRISM Break - We all have a right to privacy, which you can exercise today by encrypting your communications and ending your reliance on proprietary services.
  • -
  • Security in-a-Box - A guide to digital security for activists and human rights defenders throughout the world.
  • -
  • SecureDrop - An open-source whistleblower submission system that media organizations can use to securely accept documents from and communicate with anonymous sources. It was originally created - by the late Aaron Swartz and is currently managed by Freedom of the Press Foundation.
  • -
  • Reset The Net - Privacy Pack - Help fight to end mass surveillance. Get these tools to protect yourself and your friends.
  • -
  • Security First - Umbrella is an Android app that provides all the advice needed to operate safely in a hostile environment.
  • -
  • Osalt - A directory to help you find open source alternatives to proprietary tools.
  • -
  • AlternativeTo - A directory to help find alternatives to other software, with the option to only show open source software
  • -
- -

Note: Just being open source does not make software secure!

diff --git a/_includes/sections/productivity-tools.html b/_includes/sections/productivity-tools.html deleted file mode 100644 index d2d91af9..00000000 --- a/_includes/sections/productivity-tools.html +++ /dev/null @@ -1,85 +0,0 @@ -

Productivity Tools

- -{% - include cardv2.html - title="CryptPad" - image="/assets/img/provider/CryptPad.png" - description="CryptPad is a private-by-design alternative to popular office tools and cloud services. All content is end-to-end encrypted. It is free and open-source, enabling anyone to verify its security by auditing the code. The development team is supported by donations and grants. No registration is required, and it can be used anonymously via Tor Browser." - website="https://cryptpad.fr/" - forum="https://forum.privacytools.io/t/discussion-cryptpad-productivity-tools/1537" - github="https://github.com/xwiki-labs/cryptpad" - web="https://cryptpad.fr/" -%} - -{% - include cardv2.html - title="Etherpad" - image="/assets/img/tools/Etherpad.png" - image-dark="/assets/img/tools/Etherpad-dark.png" - description="Etherpad is a highly customizable open-source online editor providing collaborative editing in real time. Here are a list of sites that run Etherpad." - website="https://etherpad.org/" - forum="https://forum.privacytools.io/t/discussion-etherpad-productivity-tools/1538" - github="https://github.com/ether/etherpad-lite" - web="https://github.com/ether/etherpad-lite/wiki/Sites-that-run-Etherpad" - windows="https://github.com/ether/etherpad-lite#windows" - linux="https://github.com/ether/etherpad-lite#installation" - mac="https://github.com/ether/etherpad-lite#gnulinux-and-other-unix-like-systems" - freebsd="https://github.com/ether/etherpad-lite#gnulinux-and-other-unix-like-systems" - openbsd="https://github.com/ether/etherpad-lite#gnulinux-and-other-unix-like-systems" - netbsd="https://github.com/ether/etherpad-lite#gnulinux-and-other-unix-like-systems" -%} - -{% - include cardv2.html - title="Write.as" - image="/assets/img/tools/WriteAs.png" - image-dark="/assets/img/tools/WriteAs-dark.png" - description="Write.as is a cross-platform, privacy-oriented blogging platform. It's anonymous by default, letting you publish without signing up. If you create an account, it doesn't require any personal information. No ads, distraction-free, and built on a sustainable business model." - website="https://write.as/" - forum="https://forum.privacytools.io/t/discussion-write-as-productivity-tools/1539" - tor="http://writeas7pm7rcdqg.onion" - git="https://code.as/writeas" - web="https://write.as/pad" - windows="https://github.com/writeas/writeas-cli" - mac="https://github.com/writeas/writeas-cli" - linux="https://write.as/apps" - chrome="https://write.as/apps" - googleplay="https://play.google.com/store/apps/details?id=com.abunchtell.writeas" - ios="https://itunes.apple.com/app/apple-store/id1000755153" -%} - -

Worth Mentioning

- -
    -
  • Cryptee - Free privacy-friendly service for storing Documents, files and Photos
  • -
  • EtherCalc - EtherCalc is a web spreadsheet. Data is saved on the web, and people can edit the same document at the same time. Changes are instantly reflected on all screens. Work together on inventories, survey forms, list management, brainstorming sessions.
  • -
  • Disroot - Free privacy-friendly service that offers Etherpad, EtherCalc and PrivateBin.
  • -
  • dudle - An online scheduling application, free and open-source. Schedule meetings or make small online polls. No email collection or the need of registration.
  • -
  • Framadate - A free and open-source online service for planning an appointment or making a decision quickly and easily. No registration is required.
  • -
  • LibreOffice - Free and open-source office suite.
  • -
  • VSCodium - Fork of Microsoft's Visual Studio Code editor without branding or telemetry.
  • -
- -

- - Metadata Removal Tools -

- -
-{% - include cardv2.html - title="MAT2" - image="/assets/img/tools/MAT2.png" - description="MAT2 is free software, which allows the removal of metadata of image, audio, torrent, and document file types. It provides both a command line tool and a graphical user interface via an extension for Nautilus, the default file manager of GNOME." - website="https://0xacab.org/jvoisin/mat2" - forum="https://forum.privacytools.io/t/discussion-mat/1559" - gitlab="https://0xacab.org/jvoisin/mat2" - windows="https://pypi.org/project/mat2/" - mac="https://pypi.org/project/mat2/" - linux="https://pypi.org/project/mat2/" - freebsd="https://pypi.org/project/mat2/" - openbsd="https://pypi.org/project/mat2/" - netbsd="https://pypi.org/project/mat2/" -%} -
diff --git a/_includes/sections/quotes.html b/_includes/sections/quotes.html deleted file mode 100644 index fed23a8a..00000000 --- a/_includes/sections/quotes.html +++ /dev/null @@ -1,43 +0,0 @@ - -
-

Glenn Greenwald: Why privacy matters - Over the last 16 months, as I've debated this issue around the world, every single time somebody has said to me, "I don't really worry about invasions of privacy because I don't have anything to hide." I always say the same thing to them. I get out a - pen, I write down my email address. I say, "Here's my email address. What I want you to do when you get home is email me the passwords to all of your email accounts, not just the nice, respectable work one in your name, but all of them, because I - want to be able to just troll through what it is you're doing online, read what I want to read and publish whatever I find interesting. After all, if you're not a bad person, if you're doing nothing wrong, you should have nothing to hide." Not a single person has taken me up on that offer.

- -
- -
-

The primary reason for window curtains in our house, is to stop people from being able to see in. The reason we don’t want them to see in is because we consider much of what we do inside our homes to be private. Whether that be having dinner at the table, watching a movie with your kids, or even engaging in intimate or sexual acts with your partner. None of these things are illegal by any means but even knowing this, we still keep the curtains and blinds on our windows. We clearly have this strong desire for privacy when it comes to our personal life and the public.

- -
- -

Read also:

- - - -

Quotes

- -
-

Arguing that you don't care about the right to privacy because you have nothing to hide is no different than saying you don't care about free speech because you have nothing to say.

- -
- -
-

The NSA has built an infrastructure that allows it to intercept almost everything. With this capability, the vast majority of human communications are automatically ingested without targeting. If I wanted to see your emails or your wife's phone, all - I have to do is use intercepts. I can get your emails, passwords, phone records, credit cards. I don't want to live in a society that does these sort of things... I do not want to live in a world where everything I do and say is recorded. That is - not something I am willing to support or live under.

- -
- -
-

We all need places where we can go to explore without the judgmental eyes of other people being cast upon us, only in a realm where we're not being watched can we really test the limits of who we want to be. It's really in the private realm where - dissent, creativity and personal exploration lie.

- -
diff --git a/_includes/sections/resources.html b/_includes/sections/resources.html deleted file mode 100644 index 3cba057a..00000000 --- a/_includes/sections/resources.html +++ /dev/null @@ -1,55 +0,0 @@ -

Privacy Tools

- -

Prefer the classic site? View a single-page layout.

- -
- - {% include card.html color="success" - title="Providers" - icon="fas fa-server" - iconcolor="dark" - page="/providers/" - description="Discover privacy-centric online services, including email providers, VPN operators, DNS administrators, and more!" - %} - - {% include card.html color="primary" - title="Web Browsers" - icon="far fa-compass" - iconcolor="dark" - page="/browsers/" - description="Find a web browser that respects your privacy, and discover how to harden your browser against tracking and leaks." - %} - - {% include card.html color="warning" - title="Software" - icon="far fa-window-restore" - iconcolor="dark" - page="/software/" - description="Discover a variety of open source software built to protect your privacy and keep your digital data secure." - %} - - {% include card.html color="info" - title="Operating Systems" - icon="fas fa-desktop" - iconcolor="dark" - page="/operating-systems/" - description="Find out how your operating system is comprimising your privacy, and what simple alternatives exist." - %} - - {% include card.html color="secondary" - title="privacytoolsIO Services" - icon="far fa-eye-slash" - iconcolor="dark" - page="/services/" - description="The privacytools.io team is proud to launch a variety of privacy-centric online services, including a Mastodon instance, search engine, and more!" - %} - - {% include card.html color="danger" - title="Donate" - icon="fas fa-donate" - iconcolor="dark" - page="/donate/" - description="We can't operate this site without the generous contributions we receive from our viewers. If you love privacy and our website please consider donating." - %} - -
diff --git a/_includes/sections/router-firmware.html b/_includes/sections/router-firmware.html deleted file mode 100644 index 6c9cbd61..00000000 --- a/_includes/sections/router-firmware.html +++ /dev/null @@ -1,37 +0,0 @@ -

Open Source Router Firmware

- -{% include cardv2.html -title="OpenWrt" -image="/assets/img/tools/OpenWrt.png" -description="OpenWrt is an operating system (in particular, an embedded operating system) based on the Linux kernel, primarily used on embedded devices to route network traffic. The main components are the Linux kernel, util-linux, uClibc and BusyBox. All components have been optimized for size, to be small enough for fitting into the limited storage and memory available in home routers." -badges="info:Linux" -labels="warning:contrib:This software may depend on or recommend non-free software." -website="https://openwrt.org/" -git="https://git.openwrt.org/" -%} - -{% include cardv2.html -title="pfSense" -image="/assets/img/tools/pfSense.png" -description="pfSense is an open source firewall/router computer software distribution based on FreeBSD. It is installed on a computer to make a dedicated firewall/router for a network and is noted for its reliability and offering features often only found in expensive commercial firewalls. pfSense is commonly deployed as a perimeter firewall, router, wireless access point, DHCP server, DNS server, and as a VPN endpoint." -badges="info:BSD" -labels="warning:contrib:This software may depend on or recommend non-free software." -website="https://www.pfsense.org/" -github="https://github.com/pfsense/" -%} - -{% include cardv2.html -title="LibreCMC" -image="/assets/img/tools/LibreCMC.png" -description="LibreCMC is a GNU/Linux-libre distribution for computers with minimal resources, such as the Ben Nanonote, ath9k-based Wi-Fi routers, and other hardware with emphasis on free software. The project's current goal is to aim for compliance with the GNU Free System Distribution Guidelines (GNU FSDG) and ensure that the project continues to meet these requirements set forth by the Free Software Foundation (FSF)." -badges="info:GNU/Linux" -website="https://librecmc.org" -git="https://gogs.librecmc.org/libreCMC/libreCMC" -%} - -

Worth Mentioning

- -
    -
  • OpenBSD BSD - A project that produces a free, multi-platform 4.4BSD-based UNIX-like operating system. Emphasizes portability, standardization, correctness, proactive security and integrated cryptography.
  • -
  • DD-WRT Linux contrib - A Linux-based open-source firmware compatible with several models of routers and access points.
  • -
diff --git a/_includes/sections/search-engines.html b/_includes/sections/search-engines.html deleted file mode 100644 index d9b70e8f..00000000 --- a/_includes/sections/search-engines.html +++ /dev/null @@ -1,61 +0,0 @@ -

Privacy Respecting Search Engines

- - - -{% include cardv2.html -title="searx - Decentral" -image="/assets/img/provider/searx.png" -description='searx is an open-source metasearch engine, aggregating the results of other search engines while not storing information about its users. No logs, no ads and no tracking. List of Instances or try search.privacytools.io' -website="https://searx.me/" -tor="http://ulrn6sryqaifefld.onion" -forum="https://forum.privacytools.io/t/discussion-searx/283" -github="https://github.com/asciimoo/searx" -%} - -{% include cardv2.html -title="StartPage - Netherlands" -image="/assets/img/provider/StartPage.png" -description="StartPage is a search engine that provides Google search results with complete privacy protection. Behind StartPage is a European company that has been obsessive about privacy since 2006." -website="https://www.startpage.com/" -forum="https://forum.privacytools.io/t/discussion-startpage/284" -%} - -{% include cardv2.html -title="DuckDuckGo - USA" -image="/assets/img/provider/DuckDuckGo.png" -description='DuckDuckGo is a "search engine that doesn\'t track you." Some of DuckDuckGo\'s code is free software hosted at GitHub, but the core is proprietary. The company is based in the USA.' -website="https://duckduckgo.com/" -tor="http://3g2upl4pq6kufc4m.onion" -forum="https://forum.privacytools.io/t/discussion-duckduckgo/285" -github="https://github.com/duckduckgo" -%} - -{% include cardv2.html -title="Qwant - France" -image="/assets/img/provider/Qwant.png" -description='Qwant is a search engine with its philosophy based on two principles: no user tracking and no filter bubble. Qwant was launched in France in February 2013.' -website="https://www.qwant.com/" -forum="https://forum.privacytools.io/t/discussion-qwant/286" -github="https://github.com/Qwant/" -%} - - -

Firefox Addon

- -
    -
  • - Google search link fix - Firefox extension that prevents Google and Yandex search pages from modifying search result links when you click them. This is useful when - copying links but it also helps privacy by preventing the search engines from recording your clicks. (Open Source) -
  • -
- -

Worth Mentioning

- -
    -
  • YaCy - A free-software P2P search engine powered by its users.
  • -
  • Jive Search - A free-software search engine with a similar look and feel to Google.
  • -
  • MetaGer - An open-source metasearch engine, which is based in Germany. It focuses on protecting the user's privacy.
  • -
  • Mojeek - Independent and unbiased search results with no user tracking.
  • -
diff --git a/_includes/sections/self-contained-networks.html b/_includes/sections/self-contained-networks.html deleted file mode 100644 index 3f053bd1..00000000 --- a/_includes/sections/self-contained-networks.html +++ /dev/null @@ -1,58 +0,0 @@ -

Self-contained Networks

- - - -
- - {% include card.html color="success" - title="Tor" - image="/assets/img/tools/Tor-Project.png" - url="https://www.torproject.org/" - tor="http://expyuzz4wqqyqhjn.onion" - footer='OS: Windows, macOS, Linux, iOS, Android (Tor Browser, Proxy other apps with Orbot), OpenBSD.' - description="The Tor network is a group of volunteer-operated servers that allows people to improve their privacy and security on the Internet. Tor's users employ this network by connecting through a series of virtual tunnels rather than making a direct connection, thus allowing both organizations and individuals to share information over public networks without compromising their privacy. Tor is an effective censorship circumvention tool." - %} - - {% include card.html color="primary" - title="I2P Anonymous Network" - image="/assets/img/tools/I2P.png" - url="https://geti2p.net/" - footer="OS: Windows, macOS, Linux, Android, BSD / Solaris." - description="The Invisible Internet Project (I2P) is a computer network layer that allows applications to send messages to each other pseudonymously and securely. Uses include anonymous - Web surfing, chatting, blogging, and file transfers. The software that implements this layer is called an I2P router and a computer running I2P is called an I2P node. The software is free and open-source and is published under multiple licenses." - %} - - {% include card.html color="warning" - title="The Freenet Project" - image="/assets/img/tools/Freenet.png" - url="https://freenetproject.org/" - footer="OS: Windows, macOS, Linux." - description="Freenet is a peer-to-peer platform for censorship-resistant communication. It uses a decentralized distributed data store to keep and deliver information, and - has a suite of free software for publishing and communicating on the Web without fear of censorship. Both Freenet and some of its associated tools were originally designed by Ian Clarke, who defined Freenet's goal as providing freedom of speech - on the Internet with strong anonymity protection." - %} - -
- -

Related Information

- - - -

Worth Mentioning

- -
    -
  • ZeroNet - Open, free, and uncensorable websites, using Bitcoin cryptography and BitTorrent network.
  • -
  • RetroShare - An open source, cross-platform, friend-to-friend, secure, and decentralized communication platform.
  • -
  • GNUnet - GNUnet provides a strong foundation of free software for a global, distributed network that provides security and privacy.
  • -
  • IPFS and IPFS Companion- A peer-to-peer hypermedia protocol to make the web faster, safer, and more open. IPFS Companion is a browser extension for redirecting queries to a gateway of your choice (generally local). - - - Important privacy warning - -
  • -
  • Yggdrasil - An early-stage implementation of a fully end-to-end encrypted IPv6 network. It is lightweight, self-arranging, supported on multiple platforms, and allows pretty much any IPv6-capable application to communicate securely with other Yggdrasil nodes. Yggdrasil does not require you to have IPv6 Internet connectivity - it also works over IPv4. experimental privacy warning
  • -
diff --git a/_includes/sections/selfhosted-cloud.html b/_includes/sections/selfhosted-cloud.html deleted file mode 100644 index 11f437e6..00000000 --- a/_includes/sections/selfhosted-cloud.html +++ /dev/null @@ -1,42 +0,0 @@ -

Self-Hosted Cloud Server Software

- - - -{% include cardv2.html -title="Nextcloud" -image="/assets/img/provider/Nextcloud.png" -description="Nextcloud has similar functionally to the widely used Dropbox, with the difference being that Nextcloud is free and open-source, thereby allowing anyone to install and operate it without charge on a private server with no limits on storage space or the number of connected clients." -website="https://nextcloud.com/" -forum="https://forum.privacytools.io/t/discussion-nextcloud/287" -windows="https://nextcloud.com/install/#install-clients" -mac="https://nextcloud.com/install/#install-clients" -linux="https://nextcloud.com/install/#install-clients" -freebsd="https://www.freshports.org/www/nextcloud/" -openbsd="http://openports.se/www/nextcloud" -netbsd="http://pkgsrc.se/www/php-nextcloud" -fdroid="https://f-droid.org/packages/com.nextcloud.client/" -googleplay="https://play.google.com/store/apps/details?id=com.nextcloud.client" -ios="https://itunes.apple.com/us/app/nextcloud/id1125420102?mt=8" -github="https://github.com/nextcloud" -%} - -{% include cardv2.html -title="Tahoe-LAFS" -image="/assets/img/tools/Tahoe-LAFS.png" -image-dark="/assets/img/tools/Tahoe-LAFS-dark.png" -website="https://www.tahoe-lafs.org/" -forum="https://forum.privacytools.io/t/discussion-tahoe-lafs/1662" -description="Tahoe-LAFS is a free and open decentralized cloud storage system. It distributes your data across multiple servers. Even if some of the servers fail or are taken over by an attacker, the entire file store continues to function correctly, preserving your privacy and security." -windows="https://github.com/tahoe-lafs/tahoe-lafs#via-pip" -mac="https://github.com/tahoe-lafs/tahoe-lafs#via-pip" -linux="https://github.com/tahoe-lafs/tahoe-lafs#using-os-packages" -netbsd="http://pkgsrc.se/filesystems/tahoe-lafs" -git="https://www.tahoe-lafs.org/trac/tahoe-lafs/browser" -%} - -

Worth Mentioning

-
    -
  • CryptPad - An open-source and end-to-end encrypted real-time collaborative editor that lets you share folders, media, and documents.
  • -
diff --git a/_includes/sections/social-networks.html b/_includes/sections/social-networks.html deleted file mode 100644 index 8bd20aa2..00000000 --- a/_includes/sections/social-networks.html +++ /dev/null @@ -1,90 +0,0 @@ -

Decentralized Social Networks

- - - -{% include cardv2.html -title="Mastodon - Twitter Alternative" -image="/assets/img/tools/Mastodon.png" -description='Mastodon is a social network based on open web protocols and free, open-source software. It is decentralized like email. It also has the most users, and the most diverse (in terms of interests) users; looks good; and is easy to setup. Feel welcome to join our hosted instance: social.privacytools.io' -website="https://joinmastodon.org/" -forum="https://forum.privacytools.io/t/discussion-mastodon/289" -github="https://github.com/tootsuite/mastodon" -windows="https://joinmastodon.org/apps" -mac="https://joinmastodon.org/apps" -linux="https://joinmastodon.org/apps" -freebsd="https://joinmastodon.org/apps" -openbsd="https://joinmastodon.org/apps" -netbsd="https://joinmastodon.org/apps" -android="https://joinmastodon.org/apps" -sailfish="https://joinmastodon.org/apps" -ios="https://joinmastodon.org/apps" -web="https://joinmastodon.org/#getting-started" -%} - -{% include cardv2.html -title="diaspora* - Google+ Alternative" -image="/assets/img/tools/diaspora.png" -description="diaspora* is based on three key philosophies: Decentralization, freedom and privacy. It is intended to address privacy concerns related to centralized social networks by allowing users set up their own server (or \"pod\") to host content; pods can then interact to share status updates, photographs, and other social data." -website="https://diasporafoundation.org/" -forum="https://forum.privacytools.io/t/discussion-diaspora/290" -github="https://github.com/diaspora/diaspora" -android="https://wiki.diasporafoundation.org/Tools_to_use_with_Diaspora#Android" -web="https://diasporafoundation.org/" -%} - -{% include cardv2.html -title="Friendica - Facebook Alternative" -image="/assets/img/tools/Friendica.png" -description="Friendica has an emphasis on extensive privacy settings and easy server installation. It aims to federate with as many other social networks as possible. Currently, Friendica users can integrate contacts from Facebook, Twitter, Diaspora, GNU social, App.net, Pump.io and other services in their social streams." -website="https://friendi.ca/" -forum="https://forum.privacytools.io/t/discussion-friendica/291" -github="https://github.com/friendica/friendica" -windows="https://friendi.ca/resources/mobile-clients/" -linux="https://friendi.ca/resources/mobile-clients/" -android="https://friendi.ca/resources/mobile-clients/" -sailfish="https://friendi.ca/resources/mobile-clients/" -web="https://friendi.ca/" -%} - -{% include cardv2.html -title="PixelFed - Instagram Alternative" -image="/assets/img/provider/pixelfed.png" -description='PixelFed is a free and ethical photo sharing platform, powered by ActivityPub federation. Pixelfed is an open-source, federated platform. You can run your own instance or join one.' -website="https://pixelfed.org/" -forum="https://forum.privacytools.io/t/discussion-pixelfed/293" -github="https://github.com/pixelfed" -web="https://pixelfed.org/" -%} - -{% include cardv2.html -title="GNU social - Twitter Alternative" -image="/assets/img/provider/gnu-social.png" -description="GNU social is social-communication software for both public and private communications. It is widely supported and has a large userbase. It is already used by the Free Software Foundation." -website="https://gnu.io/social/" -forum="https://forum.privacytools.io/t/discussion-gnu-social/292" -gitlab="https://git.gnu.io/gnu/gnu-social/" -web="https://gnu.io/social/" -%} - -

Worth Mentioning

-
    -
  • Minds - An open-source and distributed social networking service, integrating the blockchain to reward the community.
  • -
  • Movim - A federated social platform that relies on the XMPP standard and therefore allows you to exchange with many other clients on all devices.
  • -
- -

Related Information

-
    -
  • Mastodon: Simplified Federation - Firefox Extension to improve usability for remote Mastodon instances.
  • -
  • JustDeleteMe - A directory of direct links to delete your account from web services.
  • -
  • Forget - A service that automatically deletes your old posts on Twitter and Mastodon that everyone has forgotten about.
  • -
- -

Facebook Related

- diff --git a/_includes/sections/social-news-aggregator.html b/_includes/sections/social-news-aggregator.html deleted file mode 100644 index 18de06d1..00000000 --- a/_includes/sections/social-news-aggregator.html +++ /dev/null @@ -1,45 +0,0 @@ -

Social News Aggregators

- - - -{% include cardv2.html -title="Aether" -image="/assets/img/tools/aether.png" -description='Aether is a free and open-source decentralized social news aggregator with a built-in voting system.' -website="https://getaether.net/" -forum="https://forum.privacytools.io/t/discussion-aether/1256" -github="https://github.com/nehbit/aether" -windows="https://getaether.net/download/" -mac="https://getaether.net/download/" -linux="https://getaether.net/download/" -%} - -{% include cardv2.html -title="Tildes" -image="/assets/img/tools/tildes.png" -description='Tildes is a web-based self-hostable online bulletin board. It is licensed under GPL 3.0.' -website="https://tildes.net" -forum="https://forum.privacytools.io/t/discussion-tildes/1257" -gitlab="https://gitlab.com/tildes/tildes" -web="https://tildes.net" -%} - -{% include cardv2.html -title="Raddle" -image="/assets/img/tools/raddle.png" -description="Raddle is a public Postmill instance focused on privacy and anti-censorship." -website="https://raddle.me" -forum="https://forum.privacytools.io/t/discussion-raddle/1258" -gitlab="https://gitlab.com/postmill/" -web="https://raddle.me" -%} - -

Worth Mentioning

- - diff --git a/_includes/sections/teamchat.html b/_includes/sections/teamchat.html deleted file mode 100644 index 632e64e4..00000000 --- a/_includes/sections/teamchat.html +++ /dev/null @@ -1,67 +0,0 @@ -

Team Chat Platforms

- - - -{% - include cardv2.html - title="Riot.im (Matrix)" - image="/assets/img/tools/Riot.png" - description="Riot.im is a federated free-software messaging application based on the Matrix protocol, a recent open protocol for real-time communication offering optional E2E encryption. It also has bridging functionality, allowing you to connect to other chat protocols such as IRC or Telegram." - labels="warning:Experimental E2EE:The end-to-end encryption is currently in beta, and the mobile client states 'End-to-end encryption is in beta and may not be reliable. You should not yet trust it to secure data.'" - website="https://about.riot.im/" - forum="https://forum.privacytools.io/t/discussion-riot-im/665/" - github="https://github.com/vector-im/riot-web/" - windows="https://riot.im/download/desktop/" - mac="https://riot.im/download/desktop/" - linux="https://riot.im/download/desktop/" - fdroid="https://f-droid.org/repository/browse/?fdid=im.vector.alpha" - googleplay="https://play.google.com/store/apps/details?id=im.vector.app" - ios="https://itunes.apple.com/us/app/vector.im/id1083446067" - web="https://riot.im/app/" -%} - -{% - include cardv2.html - title="Rocket.chat" - image="/assets/img/tools/rocket.chat.png" - description="Rocket.chat is an self-hostable open source platform for team communication. It has optional federation and experimental E2EE." - labels="warning:Experimental E2EE:Regarding E2EE their documentation states 'This feature is currently in alpha. It's also not yet supported on mobile'. There is no forward secrecy so compromised decryption password would leak all messages. Federation was also added afterwards, potentially causing room for mistakes." - website="https://rocket.chat/" - forum="https://forum.privacytools.io/t/discussion-rocket-chat/1223" - github="https://github.com/rocketchat/" - windows="https://rocket.chat/install" - mac="https://itunes.apple.com/us/app/rocket-chat/id1086818840" - linux="https://rocket.chat/install" - fdroid="https://f-droid.org/packages/chat.rocket.android" - googleplay="https://play.google.com/store/apps/details?id=chat.rocket.android" - ios="https://itunes.apple.com/app/rocket-chat/id1148741252" -%} - -{% - include cardv2.html - title="Keybase" - image="/assets/img/tools/keybase.png" - description='Keybase provides a hosted team chat with end-to-end encryption. It has also been indepedently audited (PDF).' - labels="warning:Warning:The server side of Keybase runs on proprietary code and is centralized." - website="https://keybase.io/" - forum="https://forum.privacytools.io/t/discussion-keybase/1224" - tor="http://keybase5wmilwokqirssclfnsqrjdsi7jdir5wy7y7iu3tanwmtp6oid.onion/" - github="https://github.com/Keybase" - windows="https://keybase.io/docs/the_app/install_windows" - mac="https://keybase.io/docs/the_app/install_macos" - linux="https://keybase.io/docs/the_app/install_linux" - freebsd="https://www.freshports.org/security/keybase/" - googleplay="https://play.google.com/store/apps/details?id=io.keybase.ossifrage&hl=en_US" - ios="https://keybase.io/_/download/keybase-for-ios" - firefox="https://addons.mozilla.org/en-US/firefox/addon/keybase-for-firefox/" - chrome="https://chrome.google.com/webstore/detail/keybase-for-reddit/ognfafcpbkogffpmmdglhbjboeojlefj" -%} - - -

Worth Mentioning

- -
    -
  • Wire Pro - Paid team communication with E2EE. Untested
  • -
diff --git a/_includes/sections/voice-video-messenger.html b/_includes/sections/voice-video-messenger.html deleted file mode 100644 index cffb7054..00000000 --- a/_includes/sections/voice-video-messenger.html +++ /dev/null @@ -1,50 +0,0 @@ -

Video/Voice Calling

- - - -{% include cardv2.html -title="Linphone" -image="/assets/img/tools/Linphone.png" -website="https://www.linphone.org/" -description="Linphone is an open-source SIP Phone and a free voice over IP service, available on mobile and desktop environments and on web browsers. It supports ZRTP for end-to-end encrypted voice and video communication." -forum="https://forum.privacytools.io/t/discussion-linphone/751" -github="https://github.com/BelledonneCommunications" -windows="https://www.linphone.org/technical-corner/linphone?qt-technical_corner=2#qt-technical_corner" -linux="https://www.linphone.org/technical-corner/linphone?qt-technical_corner=2#qt-technical_corner" -mac="https://www.linphone.org/technical-corner/linphone?qt-technical_corner=2#qt-technical_corner" -fdroid="https://f-droid.org/packages/org.linphone" -googleplay="https://play.google.com/store/apps/details?id=org.linphone" -ios="https://itunes.apple.com/us/app/linphone/id360065638?mt=8" -%} - -{% include cardv2.html -title="Mumble" -image="/assets/img/tools/Mumble.png" -website="https://mumble.info/" -description="Mumble is an open-source, low-latency, and high quality voice chat application primarily intended for use while gaming. Note that while Mumble doesn't log messages or record by default, it's missing end-to-end encryption, so self-hosting is recommended." -forum="https://forum.privacytools.io/t/discussion-mumble/1289" -github="https://github.com/mumble-voip/" -windows="https://www.mumble.info/downloads" -linux="https://www.mumble.info/downloads" -mac="https://www.mumble.info/downloads" -android="https://www.mumble.info/downloads/#third-party-clients" -ios="https://apps.apple.com/us/app/mumble/id443472808?ls=1" -%} - -

Worth Mentioning

- -
    -
  • Jitsi Meet - Jitsi Meet is a free and open-source multiplatform voice (VoIP), video conferencing, and instant messaging application. Requires WebRTC
  • -
- -

Related Information

- - diff --git a/_includes/sections/vpn.html b/_includes/sections/vpn.html deleted file mode 100644 index 81a9b996..00000000 --- a/_includes/sections/vpn.html +++ /dev/null @@ -1,90 +0,0 @@ -

Recommended VPN Service

- - - -
- -
-
- Mullvad -
-
-

Mullvad EUR €60/Year

-

Mullvad is a fast and inexpensive VPN with a serious focus on transparency and security. They have been in operation since 2009. It is the only VPN provider that currently meets our criteria for recommendation. Mullvad is based in Sweden and does not have a free trial. Visit mullvad.net to create an account.

-
406+ Servers
-

Mullvad has 409 servers in 39 countries at the time of writing this page. Typically the more servers a provider offers, the better: With hundreds of servers in operation, you are far more likely to find a fast connection and a server geographically closest to you.

-
WireGuard Support
-

In addition to standard OpenVPN connections, Mullvad supports WireGuard. WireGuard is an experimental protocol with theoretically better security and higher reliability, although it is not currently recommended for production use.

-
Independently Audited
-

Mullvad's VPN clients have been audited by Cure53 and Assured AB in a pentest report published at cure53.de. The security researchers concluded:

-
-

...Cure53 and Assured AB are happy with the results of the audit and the software leaves an overall positive impression. With security dedication of the in-house team at the Mullvad VPN compound, the testers have no doubts about the project being on the right track from a security standpoint.

-
-
Accepts Bitcoin
-

Mullvad in addition to accepting credit/debit cards and PayPal, accepts Bitcoin, Bitcoin Cash, and cash/local currency as anonymous forms of payment. They also accept Swish and bank wire transfers.

-
No Mobile Clients
-

While iOS and Android clients are reportedly in the works, mobile users will need to use a traditional OpenVPN client and configuration files, which are a bit more difficult to configure.

-
Extra Functionality
-

The Mullvad VPN clients have a built-in killswitch to block internet connections outside of the VPN. They also are able to automatically start on boot. The Mullvad website is also accessible via Tor at xcln5hkbriyklr6n.onion.

-
-
- -
- - - -

Other Providers Worth Mentioning

- -
- -
-
- ProtonVPN -
-
-

ProtonVPN Free USD $96/year

-

ProtonVPN is a strong contender in the VPN space, and they have been in operation since 2016. ProtonVPN is based in Switzerland and offers a limited free pricing tier, as well as premium options. Unfortunately due to its lack of an independent security audit it does not meet the complete criteria for recommendation, see our notes below.

-
Not Audited
-

ProtonVPN has not undergone a security audit by an independent third party, and therefore cannot be strongly recommended at this time. We have still chosen to list it on this page with the assumption that an audit will be published soon:

-
-

We are currently undergoing a complete security audit of our VPN applications by a reputable Swiss security company. The results of the audit will be summarized in a public report for cases like this.

-
Marc Loebekken, ProtonVPN AG Legal counsel
-
-

We will reevaluate this listing at the end of 2019 or when the aforementioned report has been published, whichever is sooner. -

526+ Servers
-

ProtonVPN has 526 servers in 42 countries at the time of writing this page. Typically the more servers a provider offers, the better: With hundreds of servers in operation, you are far more likely to find a fast connection and a server geographically closest to you.

-
Accepts Bitcoin
-

ProtonVPN does technically accept Bitcoin payments; however, you either need to have an existing account, or contact their support team in advance to register with Bitcoin.

-
Mobile Clients
-

In addition to providing standard OpenVPN configuration files, ProtonVPN has mobile clients for iOS or Android allowing for easy connections to their servers.

-
Extra Functionality
-

The ProtonVPN clients have a built-in killswitch to block internet connections outside of the VPN. They also are able to automatically start on boot. ProtonVPN also offers "Tor" servers allowing you to easily connect to onion sites, but we still strongly recommend using the official Tor Browser for this purpose.

-
-
- -
-
- IVPN -
-
-

IVPN USD $100/Year

-

IVPN is another strong premium VPN provider, and they have been in operation since 2009. IVPN is based in Gibraltar and offers a 3 day free trial. Unfortunately, due to its lack of an independent security audit, it does not meet the complete criteria for recommendation, see our notes below.

-
No Security Audit
-

IVPN has undergone a no-logging audit from Cure53 which concluded in agreement with IVPN's no-logging claim. However, IVPN has not undergone a more comprehensive security audit by an independent third party, and therefore cannot be strongly recommended at this time. We have still chosen to list it on this page with the assumption that an audit will be published soon: The IVPN team reportedly plans to begin the process in September.

-

We will reevaluate this listing at the end of 2019 or when the aforementioned report has been published, whichever is sooner. -

77+ Servers
-

IVPN has 77 servers in 31 countries at the time of writing this page. Typically the more servers a provider offers, the better. IVPN has a decent (but not exceptional) server count that will most likely provide adequate coverage to most users.

-
Accepts Bitcoin
-

In addition to accepting credit/debit cards and PayPal, IVPN accepts Bitcoin and cash/local currency (on annual plans) as anonymous forms of payment.

-
Mobile Clients
-

In addition to providing standard OpenVPN configuration files, IVPN has mobile clients for iOS or Android allowing for easy connections to their servers.

-
Extra Functionality
-

The IVPN clients have a built-in killswitch to block internet connections outside of the VPN. They also are able to automatically start on boot. IVPN also provides "AntiTracker" functionality, which blocks advertising networks and trackers from the network level.

-
-
- -
diff --git a/_includes/sections/warrant-canary.html b/_includes/sections/warrant-canary.html deleted file mode 100644 index 2f128248..00000000 --- a/_includes/sections/warrant-canary.html +++ /dev/null @@ -1,22 +0,0 @@ -

What is a warrant canary?

- -Warrant Canary Example - -

A warrant canary is a posted document stating that an organization has not received any secret subpoenas during a specific period of time. If this document fails to be updated during the specified time then the user is to assume that the service has received such a subpoena and should stop using the service.

- -

Warrant Canary Examples:

- -
    -
  1. https://proxy.sh/canary
  2. -
  3. https://www.ivpn.net/resources/canary.txt
  4. -
  5. https://www.bolehvpn.net/canary.txt
  6. -
  7. https://www.ipredator.se/static/downloads/canary.txt
  8. -
- -

Related Warrant Canary Information

- - diff --git a/_includes/sections/windows10.html b/_includes/sections/windows10.html deleted file mode 100644 index 6d4987b4..00000000 --- a/_includes/sections/windows10.html +++ /dev/null @@ -1,107 +0,0 @@ -

Don't use Windows 10 - It's a privacy nightmare

- - - -Windows 10 Privacy - -
    -
  1. Data syncing is by default enabled. -
      -
    • Browsing history and open websites.
    • -
    • Apps settings.
    • -
    • WiFi hotspot names and passwords.
    • -
    -
  2. - -
  3. Your device is by default tagged with a unique advertising ID. -
      -
    • Used to serve you with personalized advertisements by third-party advertisers and ad networks.
    • -
    -
  4. - -
  5. Cortana can collect any of your data. -
      -
    • Your keystrokes, searches and mic input.
    • -
    -
      -
    • Calendar data.
    • -
    -
      -
    • Music you listen to.
    • -
    -
      -
    • Credit Card information.
    • -
    -
      -
    • Purchases.
    • -
    -
  6. - -
  7. Microsoft can collect any personal data. -
      -
    • Your identity.
    • -
    -
      -
    • Passwords.
    • -
    -
      -
    • Demographics.
    • -
    -
      -
    • Interests and habits.
    • -
    -
      -
    • Usage data.
    • -
    -
      -
    • Contacts and relationships.
    • -
    -
      -
    • Location data.
    • -
    -
      -
    • Content like emails, instant messages, caller list, audio and video recordings.
    • -
    -
  8. - -
  9. Your data can be shared. -
      -
    • When downloading Windows 10, you are authorizing Microsoft to share any of above-mentioned data with any third-party, with or without your consent.
    • -
    -
  10. -
- -

Download: W10Privacy

- -

This tool uses some known methods that attempt to disable major tracking features in Windows 10.

- -

Related Information

- -
    -
  • Microsoft Privacy Statement - Microsoft collects, uses and discloses personal information as described here. This allows OneDrive data, Cortana searches, and MS browser history to be sold to third parties.
  • -
  • Cortana and privacy - To personalize your experience and provide the best possible suggestions, Cortana accesses your email and other communications and collects data about your contacts (People), like their title, suffix, first name, last name, middle name, nicknames, and company name. If you call, email, or text someone or they call, email, or text you, Cortana collects that person’s email address or phone number.
  • -
- - diff --git a/_layouts/default.html b/_layouts/default.html index 89882cde..5fb71e99 100644 --- a/_layouts/default.html +++ b/_layouts/default.html @@ -1,11 +1,225 @@ ---- -layout: minimal ---- -
-
- {{ content }} -
-
- {% include footer.html %} -
-
\ No newline at end of file + + + + + + + + + + + + + + + + + + + {% if page.title %} + {{ page.title }} | {{ site.title }} + {% else %} + {{ site.title }} + {% endif %} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+{{ content }} +
+ + + + + + + + + + + + + + diff --git a/_layouts/minimal.html b/_layouts/minimal.html deleted file mode 100644 index 470aa55f..00000000 --- a/_layouts/minimal.html +++ /dev/null @@ -1,13 +0,0 @@ - - -{% include head.html %} - - -
- {% include nav.html %} -
-
- {{ content }} - {% include scripts.html %} - - diff --git a/_layouts/page.html b/_layouts/page.html deleted file mode 100644 index 4a137c66..00000000 --- a/_layouts/page.html +++ /dev/null @@ -1,10 +0,0 @@ ---- -layout: default ---- - -
-

{{ page.title }}

- {% if page.description and page.hidedesc != true %}

{{ page.description }}

{% endif %} -
- -{{ content }} diff --git a/_sass/_vars.scss b/_sass/_vars.scss index e3f4d624..a331de68 100644 --- a/_sass/_vars.scss +++ b/_sass/_vars.scss @@ -19,7 +19,7 @@ $share-btn-active: #e2e2e2; $twitter: #55acee; $mastodon: #3088d4; $facebook: #3b5998; -$mix: #ff8126; +$stumbleupon: #eb4823; $reddit: #ff5700; $linkedin: #4875b4; $email: #444; diff --git a/_sass/bootstrap.scss b/_sass/bootstrap.scss index 33b05797..58a6c30c 100644 --- a/_sass/bootstrap.scss +++ b/_sass/bootstrap.scss @@ -3,4 +3,4 @@ * Copyright 2011-2018 The Bootstrap Authors * 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;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}} + */: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}} diff --git a/_sass/flag-icon.scss b/_sass/flag-icon.scss index 70821a40..e704908b 100644 --- a/_sass/flag-icon.scss +++ b/_sass/flag-icon.scss @@ -1 +1 @@ -.flag-icon,.flag-icon-background{background-repeat:no-repeat;background-size:contain;background-position:50%}.flag-icon{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(../img/flags/ad.svg)}.flag-icon-ad.flag-icon-squared{background-image:url(../img/flags/1x1/ad.svg)}.flag-icon-ae{background-image:url(../img/flags/ae.svg)}.flag-icon-ae.flag-icon-squared{background-image:url(../img/flags/1x1/ae.svg)}.flag-icon-af{background-image:url(../img/flags/af.svg)}.flag-icon-af.flag-icon-squared{background-image:url(../img/flags/1x1/af.svg)}.flag-icon-ag{background-image:url(../img/flags/ag.svg)}.flag-icon-ag.flag-icon-squared{background-image:url(../img/flags/1x1/ag.svg)}.flag-icon-ai{background-image:url(../img/flags/ai.svg)}.flag-icon-ai.flag-icon-squared{background-image:url(../img/flags/1x1/ai.svg)}.flag-icon-al{background-image:url(../img/flags/al.svg)}.flag-icon-al.flag-icon-squared{background-image:url(../img/flags/1x1/al.svg)}.flag-icon-am{background-image:url(../img/flags/am.svg)}.flag-icon-am.flag-icon-squared{background-image:url(../img/flags/1x1/am.svg)}.flag-icon-ao{background-image:url(../img/flags/ao.svg)}.flag-icon-ao.flag-icon-squared{background-image:url(../img/flags/1x1/ao.svg)}.flag-icon-aq{background-image:url(../img/flags/aq.svg)}.flag-icon-aq.flag-icon-squared{background-image:url(../img/flags/1x1/aq.svg)}.flag-icon-ar{background-image:url(../img/flags/ar.svg)}.flag-icon-ar.flag-icon-squared{background-image:url(../img/flags/1x1/ar.svg)}.flag-icon-as{background-image:url(../img/flags/as.svg)}.flag-icon-as.flag-icon-squared{background-image:url(../img/flags/1x1/as.svg)}.flag-icon-at{background-image:url(../img/flags/at.svg)}.flag-icon-at.flag-icon-squared{background-image:url(../img/flags/1x1/at.svg)}.flag-icon-au{background-image:url(../img/flags/au.svg)}.flag-icon-au.flag-icon-squared{background-image:url(../img/flags/1x1/au.svg)}.flag-icon-aw{background-image:url(../img/flags/aw.svg)}.flag-icon-aw.flag-icon-squared{background-image:url(../img/flags/1x1/aw.svg)}.flag-icon-ax{background-image:url(../img/flags/ax.svg)}.flag-icon-ax.flag-icon-squared{background-image:url(../img/flags/1x1/ax.svg)}.flag-icon-az{background-image:url(../img/flags/az.svg)}.flag-icon-az.flag-icon-squared{background-image:url(../img/flags/1x1/az.svg)}.flag-icon-ba{background-image:url(../img/flags/ba.svg)}.flag-icon-ba.flag-icon-squared{background-image:url(../img/flags/1x1/ba.svg)}.flag-icon-bb{background-image:url(../img/flags/bb.svg)}.flag-icon-bb.flag-icon-squared{background-image:url(../img/flags/1x1/bb.svg)}.flag-icon-bd{background-image:url(../img/flags/bd.svg)}.flag-icon-bd.flag-icon-squared{background-image:url(../img/flags/1x1/bd.svg)}.flag-icon-be{background-image:url(../img/flags/be.svg)}.flag-icon-be.flag-icon-squared{background-image:url(../img/flags/1x1/be.svg)}.flag-icon-bf{background-image:url(../img/flags/bf.svg)}.flag-icon-bf.flag-icon-squared{background-image:url(../img/flags/1x1/bf.svg)}.flag-icon-bg{background-image:url(../img/flags/bg.svg)}.flag-icon-bg.flag-icon-squared{background-image:url(../img/flags/1x1/bg.svg)}.flag-icon-bh{background-image:url(../img/flags/bh.svg)}.flag-icon-bh.flag-icon-squared{background-image:url(../img/flags/1x1/bh.svg)}.flag-icon-bi{background-image:url(../img/flags/bi.svg)}.flag-icon-bi.flag-icon-squared{background-image:url(../img/flags/1x1/bi.svg)}.flag-icon-bj{background-image:url(../img/flags/bj.svg)}.flag-icon-bj.flag-icon-squared{background-image:url(../img/flags/1x1/bj.svg)}.flag-icon-bl{background-image:url(../img/flags/bl.svg)}.flag-icon-bl.flag-icon-squared{background-image:url(../img/flags/1x1/bl.svg)}.flag-icon-bm{background-image:url(../img/flags/bm.svg)}.flag-icon-bm.flag-icon-squared{background-image:url(../img/flags/1x1/bm.svg)}.flag-icon-bn{background-image:url(../img/flags/bn.svg)}.flag-icon-bn.flag-icon-squared{background-image:url(../img/flags/1x1/bn.svg)}.flag-icon-bo{background-image:url(../img/flags/bo.svg)}.flag-icon-bo.flag-icon-squared{background-image:url(../img/flags/1x1/bo.svg)}.flag-icon-bq{background-image:url(../img/flags/bq.svg)}.flag-icon-bq.flag-icon-squared{background-image:url(../img/flags/1x1/bq.svg)}.flag-icon-br{background-image:url(../img/flags/br.svg)}.flag-icon-br.flag-icon-squared{background-image:url(../img/flags/1x1/br.svg)}.flag-icon-bs{background-image:url(../img/flags/bs.svg)}.flag-icon-bs.flag-icon-squared{background-image:url(../img/flags/1x1/bs.svg)}.flag-icon-bt{background-image:url(../img/flags/bt.svg)}.flag-icon-bt.flag-icon-squared{background-image:url(../img/flags/1x1/bt.svg)}.flag-icon-bv{background-image:url(../img/flags/bv.svg)}.flag-icon-bv.flag-icon-squared{background-image:url(../img/flags/1x1/bv.svg)}.flag-icon-bw{background-image:url(../img/flags/bw.svg)}.flag-icon-bw.flag-icon-squared{background-image:url(../img/flags/1x1/bw.svg)}.flag-icon-by{background-image:url(../img/flags/by.svg)}.flag-icon-by.flag-icon-squared{background-image:url(../img/flags/1x1/by.svg)}.flag-icon-bz{background-image:url(../img/flags/bz.svg)}.flag-icon-bz.flag-icon-squared{background-image:url(../img/flags/1x1/bz.svg)}.flag-icon-ca{background-image:url(../img/flags/ca.svg)}.flag-icon-ca.flag-icon-squared{background-image:url(../img/flags/1x1/ca.svg)}.flag-icon-cc{background-image:url(../img/flags/cc.svg)}.flag-icon-cc.flag-icon-squared{background-image:url(../img/flags/1x1/cc.svg)}.flag-icon-cd{background-image:url(../img/flags/cd.svg)}.flag-icon-cd.flag-icon-squared{background-image:url(../img/flags/1x1/cd.svg)}.flag-icon-cf{background-image:url(../img/flags/cf.svg)}.flag-icon-cf.flag-icon-squared{background-image:url(../img/flags/1x1/cf.svg)}.flag-icon-cg{background-image:url(../img/flags/cg.svg)}.flag-icon-cg.flag-icon-squared{background-image:url(../img/flags/1x1/cg.svg)}.flag-icon-ch{background-image:url(../img/flags/ch.svg)}.flag-icon-ch.flag-icon-squared{background-image:url(../img/flags/1x1/ch.svg)}.flag-icon-ci{background-image:url(../img/flags/ci.svg)}.flag-icon-ci.flag-icon-squared{background-image:url(../img/flags/1x1/ci.svg)}.flag-icon-ck{background-image:url(../img/flags/ck.svg)}.flag-icon-ck.flag-icon-squared{background-image:url(../img/flags/1x1/ck.svg)}.flag-icon-cl{background-image:url(../img/flags/cl.svg)}.flag-icon-cl.flag-icon-squared{background-image:url(../img/flags/1x1/cl.svg)}.flag-icon-cm{background-image:url(../img/flags/cm.svg)}.flag-icon-cm.flag-icon-squared{background-image:url(../img/flags/1x1/cm.svg)}.flag-icon-cn{background-image:url(../img/flags/cn.svg)}.flag-icon-cn.flag-icon-squared{background-image:url(../img/flags/1x1/cn.svg)}.flag-icon-co{background-image:url(../img/flags/co.svg)}.flag-icon-co.flag-icon-squared{background-image:url(../img/flags/1x1/co.svg)}.flag-icon-cr{background-image:url(../img/flags/cr.svg)}.flag-icon-cr.flag-icon-squared{background-image:url(../img/flags/1x1/cr.svg)}.flag-icon-cu{background-image:url(../img/flags/cu.svg)}.flag-icon-cu.flag-icon-squared{background-image:url(../img/flags/1x1/cu.svg)}.flag-icon-cv{background-image:url(../img/flags/cv.svg)}.flag-icon-cv.flag-icon-squared{background-image:url(../img/flags/1x1/cv.svg)}.flag-icon-cw{background-image:url(../img/flags/cw.svg)}.flag-icon-cw.flag-icon-squared{background-image:url(../img/flags/1x1/cw.svg)}.flag-icon-cx{background-image:url(../img/flags/cx.svg)}.flag-icon-cx.flag-icon-squared{background-image:url(../img/flags/1x1/cx.svg)}.flag-icon-cy{background-image:url(../img/flags/cy.svg)}.flag-icon-cy.flag-icon-squared{background-image:url(../img/flags/1x1/cy.svg)}.flag-icon-cz{background-image:url(../img/flags/cz.svg)}.flag-icon-cz.flag-icon-squared{background-image:url(../img/flags/1x1/cz.svg)}.flag-icon-de{background-image:url(../img/flags/de.svg)}.flag-icon-de.flag-icon-squared{background-image:url(../img/flags/1x1/de.svg)}.flag-icon-dj{background-image:url(../img/flags/dj.svg)}.flag-icon-dj.flag-icon-squared{background-image:url(../img/flags/1x1/dj.svg)}.flag-icon-dk{background-image:url(../img/flags/dk.svg)}.flag-icon-dk.flag-icon-squared{background-image:url(../img/flags/1x1/dk.svg)}.flag-icon-dm{background-image:url(../img/flags/dm.svg)}.flag-icon-dm.flag-icon-squared{background-image:url(../img/flags/1x1/dm.svg)}.flag-icon-do{background-image:url(../img/flags/do.svg)}.flag-icon-do.flag-icon-squared{background-image:url(../img/flags/1x1/do.svg)}.flag-icon-dz{background-image:url(../img/flags/dz.svg)}.flag-icon-dz.flag-icon-squared{background-image:url(../img/flags/1x1/dz.svg)}.flag-icon-ec{background-image:url(../img/flags/ec.svg)}.flag-icon-ec.flag-icon-squared{background-image:url(../img/flags/1x1/ec.svg)}.flag-icon-ee{background-image:url(../img/flags/ee.svg)}.flag-icon-ee.flag-icon-squared{background-image:url(../img/flags/1x1/ee.svg)}.flag-icon-eg{background-image:url(../img/flags/eg.svg)}.flag-icon-eg.flag-icon-squared{background-image:url(../img/flags/1x1/eg.svg)}.flag-icon-eh{background-image:url(../img/flags/eh.svg)}.flag-icon-eh.flag-icon-squared{background-image:url(../img/flags/1x1/eh.svg)}.flag-icon-er{background-image:url(../img/flags/er.svg)}.flag-icon-er.flag-icon-squared{background-image:url(../img/flags/1x1/er.svg)}.flag-icon-es{background-image:url(../img/flags/es.svg)}.flag-icon-es.flag-icon-squared{background-image:url(../img/flags/1x1/es.svg)}.flag-icon-et{background-image:url(../img/flags/et.svg)}.flag-icon-et.flag-icon-squared{background-image:url(../img/flags/1x1/et.svg)}.flag-icon-fi{background-image:url(../img/flags/fi.svg)}.flag-icon-fi.flag-icon-squared{background-image:url(../img/flags/1x1/fi.svg)}.flag-icon-fj{background-image:url(../img/flags/fj.svg)}.flag-icon-fj.flag-icon-squared{background-image:url(../img/flags/1x1/fj.svg)}.flag-icon-fk{background-image:url(../img/flags/fk.svg)}.flag-icon-fk.flag-icon-squared{background-image:url(../img/flags/1x1/fk.svg)}.flag-icon-fm{background-image:url(../img/flags/fm.svg)}.flag-icon-fm.flag-icon-squared{background-image:url(../img/flags/1x1/fm.svg)}.flag-icon-fo{background-image:url(../img/flags/fo.svg)}.flag-icon-fo.flag-icon-squared{background-image:url(../img/flags/1x1/fo.svg)}.flag-icon-fr{background-image:url(../img/flags/fr.svg)}.flag-icon-fr.flag-icon-squared{background-image:url(../img/flags/1x1/fr.svg)}.flag-icon-ga{background-image:url(../img/flags/ga.svg)}.flag-icon-ga.flag-icon-squared{background-image:url(../img/flags/1x1/ga.svg)}.flag-icon-gb{background-image:url(../img/flags/gb.svg)}.flag-icon-gb.flag-icon-squared{background-image:url(../img/flags/1x1/gb.svg)}.flag-icon-gd{background-image:url(../img/flags/gd.svg)}.flag-icon-gd.flag-icon-squared{background-image:url(../img/flags/1x1/gd.svg)}.flag-icon-ge{background-image:url(../img/flags/ge.svg)}.flag-icon-ge.flag-icon-squared{background-image:url(../img/flags/1x1/ge.svg)}.flag-icon-gf{background-image:url(../img/flags/gf.svg)}.flag-icon-gf.flag-icon-squared{background-image:url(../img/flags/1x1/gf.svg)}.flag-icon-gg{background-image:url(../img/flags/gg.svg)}.flag-icon-gg.flag-icon-squared{background-image:url(../img/flags/1x1/gg.svg)}.flag-icon-gh{background-image:url(../img/flags/gh.svg)}.flag-icon-gh.flag-icon-squared{background-image:url(../img/flags/1x1/gh.svg)}.flag-icon-gi{background-image:url(../img/flags/gi.svg)}.flag-icon-gi.flag-icon-squared{background-image:url(../img/flags/1x1/gi.svg)}.flag-icon-gl{background-image:url(../img/flags/gl.svg)}.flag-icon-gl.flag-icon-squared{background-image:url(../img/flags/1x1/gl.svg)}.flag-icon-gm{background-image:url(../img/flags/gm.svg)}.flag-icon-gm.flag-icon-squared{background-image:url(../img/flags/1x1/gm.svg)}.flag-icon-gn{background-image:url(../img/flags/gn.svg)}.flag-icon-gn.flag-icon-squared{background-image:url(../img/flags/1x1/gn.svg)}.flag-icon-gp{background-image:url(../img/flags/gp.svg)}.flag-icon-gp.flag-icon-squared{background-image:url(../img/flags/1x1/gp.svg)}.flag-icon-gq{background-image:url(../img/flags/gq.svg)}.flag-icon-gq.flag-icon-squared{background-image:url(../img/flags/1x1/gq.svg)}.flag-icon-gr{background-image:url(../img/flags/gr.svg)}.flag-icon-gr.flag-icon-squared{background-image:url(../img/flags/1x1/gr.svg)}.flag-icon-gs{background-image:url(../img/flags/gs.svg)}.flag-icon-gs.flag-icon-squared{background-image:url(../img/flags/1x1/gs.svg)}.flag-icon-gt{background-image:url(../img/flags/gt.svg)}.flag-icon-gt.flag-icon-squared{background-image:url(../img/flags/1x1/gt.svg)}.flag-icon-gu{background-image:url(../img/flags/gu.svg)}.flag-icon-gu.flag-icon-squared{background-image:url(../img/flags/1x1/gu.svg)}.flag-icon-gw{background-image:url(../img/flags/gw.svg)}.flag-icon-gw.flag-icon-squared{background-image:url(../img/flags/1x1/gw.svg)}.flag-icon-gy{background-image:url(../img/flags/gy.svg)}.flag-icon-gy.flag-icon-squared{background-image:url(../img/flags/1x1/gy.svg)}.flag-icon-hk{background-image:url(../img/flags/hk.svg)}.flag-icon-hk.flag-icon-squared{background-image:url(../img/flags/1x1/hk.svg)}.flag-icon-hm{background-image:url(../img/flags/hm.svg)}.flag-icon-hm.flag-icon-squared{background-image:url(../img/flags/1x1/hm.svg)}.flag-icon-hn{background-image:url(../img/flags/hn.svg)}.flag-icon-hn.flag-icon-squared{background-image:url(../img/flags/1x1/hn.svg)}.flag-icon-hr{background-image:url(../img/flags/hr.svg)}.flag-icon-hr.flag-icon-squared{background-image:url(../img/flags/1x1/hr.svg)}.flag-icon-ht{background-image:url(../img/flags/ht.svg)}.flag-icon-ht.flag-icon-squared{background-image:url(../img/flags/1x1/ht.svg)}.flag-icon-hu{background-image:url(../img/flags/hu.svg)}.flag-icon-hu.flag-icon-squared{background-image:url(../img/flags/1x1/hu.svg)}.flag-icon-id{background-image:url(../img/flags/id.svg)}.flag-icon-id.flag-icon-squared{background-image:url(../img/flags/1x1/id.svg)}.flag-icon-ie{background-image:url(../img/flags/ie.svg)}.flag-icon-ie.flag-icon-squared{background-image:url(../img/flags/1x1/ie.svg)}.flag-icon-il{background-image:url(../img/flags/il.svg)}.flag-icon-il.flag-icon-squared{background-image:url(../img/flags/1x1/il.svg)}.flag-icon-im{background-image:url(../img/flags/im.svg)}.flag-icon-im.flag-icon-squared{background-image:url(../img/flags/1x1/im.svg)}.flag-icon-in{background-image:url(../img/flags/in.svg)}.flag-icon-in.flag-icon-squared{background-image:url(../img/flags/1x1/in.svg)}.flag-icon-io{background-image:url(../img/flags/io.svg)}.flag-icon-io.flag-icon-squared{background-image:url(../img/flags/1x1/io.svg)}.flag-icon-iq{background-image:url(../img/flags/iq.svg)}.flag-icon-iq.flag-icon-squared{background-image:url(../img/flags/1x1/iq.svg)}.flag-icon-ir{background-image:url(../img/flags/ir.svg)}.flag-icon-ir.flag-icon-squared{background-image:url(../img/flags/1x1/ir.svg)}.flag-icon-is{background-image:url(../img/flags/is.svg)}.flag-icon-is.flag-icon-squared{background-image:url(../img/flags/1x1/is.svg)}.flag-icon-it{background-image:url(../img/flags/it.svg)}.flag-icon-it.flag-icon-squared{background-image:url(../img/flags/1x1/it.svg)}.flag-icon-je{background-image:url(../img/flags/je.svg)}.flag-icon-je.flag-icon-squared{background-image:url(../img/flags/1x1/je.svg)}.flag-icon-jm{background-image:url(../img/flags/jm.svg)}.flag-icon-jm.flag-icon-squared{background-image:url(../img/flags/1x1/jm.svg)}.flag-icon-jo{background-image:url(../img/flags/jo.svg)}.flag-icon-jo.flag-icon-squared{background-image:url(../img/flags/1x1/jo.svg)}.flag-icon-jp{background-image:url(../img/flags/jp.svg)}.flag-icon-jp.flag-icon-squared{background-image:url(../img/flags/1x1/jp.svg)}.flag-icon-ke{background-image:url(../img/flags/ke.svg)}.flag-icon-ke.flag-icon-squared{background-image:url(../img/flags/1x1/ke.svg)}.flag-icon-kg{background-image:url(../img/flags/kg.svg)}.flag-icon-kg.flag-icon-squared{background-image:url(../img/flags/1x1/kg.svg)}.flag-icon-kh{background-image:url(../img/flags/kh.svg)}.flag-icon-kh.flag-icon-squared{background-image:url(../img/flags/1x1/kh.svg)}.flag-icon-ki{background-image:url(../img/flags/ki.svg)}.flag-icon-ki.flag-icon-squared{background-image:url(../img/flags/1x1/ki.svg)}.flag-icon-km{background-image:url(../img/flags/km.svg)}.flag-icon-km.flag-icon-squared{background-image:url(../img/flags/1x1/km.svg)}.flag-icon-kn{background-image:url(../img/flags/kn.svg)}.flag-icon-kn.flag-icon-squared{background-image:url(../img/flags/1x1/kn.svg)}.flag-icon-kp{background-image:url(../img/flags/kp.svg)}.flag-icon-kp.flag-icon-squared{background-image:url(../img/flags/1x1/kp.svg)}.flag-icon-kr{background-image:url(../img/flags/kr.svg)}.flag-icon-kr.flag-icon-squared{background-image:url(../img/flags/1x1/kr.svg)}.flag-icon-kw{background-image:url(../img/flags/kw.svg)}.flag-icon-kw.flag-icon-squared{background-image:url(../img/flags/1x1/kw.svg)}.flag-icon-ky{background-image:url(../img/flags/ky.svg)}.flag-icon-ky.flag-icon-squared{background-image:url(../img/flags/1x1/ky.svg)}.flag-icon-kz{background-image:url(../img/flags/kz.svg)}.flag-icon-kz.flag-icon-squared{background-image:url(../img/flags/1x1/kz.svg)}.flag-icon-la{background-image:url(../img/flags/la.svg)}.flag-icon-la.flag-icon-squared{background-image:url(../img/flags/1x1/la.svg)}.flag-icon-lb{background-image:url(../img/flags/lb.svg)}.flag-icon-lb.flag-icon-squared{background-image:url(../img/flags/1x1/lb.svg)}.flag-icon-lc{background-image:url(../img/flags/lc.svg)}.flag-icon-lc.flag-icon-squared{background-image:url(../img/flags/1x1/lc.svg)}.flag-icon-li{background-image:url(../img/flags/li.svg)}.flag-icon-li.flag-icon-squared{background-image:url(../img/flags/1x1/li.svg)}.flag-icon-lk{background-image:url(../img/flags/lk.svg)}.flag-icon-lk.flag-icon-squared{background-image:url(../img/flags/1x1/lk.svg)}.flag-icon-lr{background-image:url(../img/flags/lr.svg)}.flag-icon-lr.flag-icon-squared{background-image:url(../img/flags/1x1/lr.svg)}.flag-icon-ls{background-image:url(../img/flags/ls.svg)}.flag-icon-ls.flag-icon-squared{background-image:url(../img/flags/1x1/ls.svg)}.flag-icon-lt{background-image:url(../img/flags/lt.svg)}.flag-icon-lt.flag-icon-squared{background-image:url(../img/flags/1x1/lt.svg)}.flag-icon-lu{background-image:url(../img/flags/lu.svg)}.flag-icon-lu.flag-icon-squared{background-image:url(../img/flags/1x1/lu.svg)}.flag-icon-lv{background-image:url(../img/flags/lv.svg)}.flag-icon-lv.flag-icon-squared{background-image:url(../img/flags/1x1/lv.svg)}.flag-icon-ly{background-image:url(../img/flags/ly.svg)}.flag-icon-ly.flag-icon-squared{background-image:url(../img/flags/1x1/ly.svg)}.flag-icon-ma{background-image:url(../img/flags/ma.svg)}.flag-icon-ma.flag-icon-squared{background-image:url(../img/flags/1x1/ma.svg)}.flag-icon-mc{background-image:url(../img/flags/mc.svg)}.flag-icon-mc.flag-icon-squared{background-image:url(../img/flags/1x1/mc.svg)}.flag-icon-md{background-image:url(../img/flags/md.svg)}.flag-icon-md.flag-icon-squared{background-image:url(../img/flags/1x1/md.svg)}.flag-icon-me{background-image:url(../img/flags/me.svg)}.flag-icon-me.flag-icon-squared{background-image:url(../img/flags/1x1/me.svg)}.flag-icon-mf{background-image:url(../img/flags/mf.svg)}.flag-icon-mf.flag-icon-squared{background-image:url(../img/flags/1x1/mf.svg)}.flag-icon-mg{background-image:url(../img/flags/mg.svg)}.flag-icon-mg.flag-icon-squared{background-image:url(../img/flags/1x1/mg.svg)}.flag-icon-mh{background-image:url(../img/flags/mh.svg)}.flag-icon-mh.flag-icon-squared{background-image:url(../img/flags/1x1/mh.svg)}.flag-icon-mk{background-image:url(../img/flags/mk.svg)}.flag-icon-mk.flag-icon-squared{background-image:url(../img/flags/1x1/mk.svg)}.flag-icon-ml{background-image:url(../img/flags/ml.svg)}.flag-icon-ml.flag-icon-squared{background-image:url(../img/flags/1x1/ml.svg)}.flag-icon-mm{background-image:url(../img/flags/mm.svg)}.flag-icon-mm.flag-icon-squared{background-image:url(../img/flags/1x1/mm.svg)}.flag-icon-mn{background-image:url(../img/flags/mn.svg)}.flag-icon-mn.flag-icon-squared{background-image:url(../img/flags/1x1/mn.svg)}.flag-icon-mo{background-image:url(../img/flags/mo.svg)}.flag-icon-mo.flag-icon-squared{background-image:url(../img/flags/1x1/mo.svg)}.flag-icon-mp{background-image:url(../img/flags/mp.svg)}.flag-icon-mp.flag-icon-squared{background-image:url(../img/flags/1x1/mp.svg)}.flag-icon-mq{background-image:url(../img/flags/mq.svg)}.flag-icon-mq.flag-icon-squared{background-image:url(../img/flags/1x1/mq.svg)}.flag-icon-mr{background-image:url(../img/flags/mr.svg)}.flag-icon-mr.flag-icon-squared{background-image:url(../img/flags/1x1/mr.svg)}.flag-icon-ms{background-image:url(../img/flags/ms.svg)}.flag-icon-ms.flag-icon-squared{background-image:url(../img/flags/1x1/ms.svg)}.flag-icon-mt{background-image:url(../img/flags/mt.svg)}.flag-icon-mt.flag-icon-squared{background-image:url(../img/flags/1x1/mt.svg)}.flag-icon-mu{background-image:url(../img/flags/mu.svg)}.flag-icon-mu.flag-icon-squared{background-image:url(../img/flags/1x1/mu.svg)}.flag-icon-mv{background-image:url(../img/flags/mv.svg)}.flag-icon-mv.flag-icon-squared{background-image:url(../img/flags/1x1/mv.svg)}.flag-icon-mw{background-image:url(../img/flags/mw.svg)}.flag-icon-mw.flag-icon-squared{background-image:url(../img/flags/1x1/mw.svg)}.flag-icon-mx{background-image:url(../img/flags/mx.svg)}.flag-icon-mx.flag-icon-squared{background-image:url(../img/flags/1x1/mx.svg)}.flag-icon-my{background-image:url(../img/flags/my.svg)}.flag-icon-my.flag-icon-squared{background-image:url(../img/flags/1x1/my.svg)}.flag-icon-mz{background-image:url(../img/flags/mz.svg)}.flag-icon-mz.flag-icon-squared{background-image:url(../img/flags/1x1/mz.svg)}.flag-icon-na{background-image:url(../img/flags/na.svg)}.flag-icon-na.flag-icon-squared{background-image:url(../img/flags/1x1/na.svg)}.flag-icon-nc{background-image:url(../img/flags/nc.svg)}.flag-icon-nc.flag-icon-squared{background-image:url(../img/flags/1x1/nc.svg)}.flag-icon-ne{background-image:url(../img/flags/ne.svg)}.flag-icon-ne.flag-icon-squared{background-image:url(../img/flags/1x1/ne.svg)}.flag-icon-nf{background-image:url(../img/flags/nf.svg)}.flag-icon-nf.flag-icon-squared{background-image:url(../img/flags/1x1/nf.svg)}.flag-icon-ng{background-image:url(../img/flags/ng.svg)}.flag-icon-ng.flag-icon-squared{background-image:url(../img/flags/1x1/ng.svg)}.flag-icon-ni{background-image:url(../img/flags/ni.svg)}.flag-icon-ni.flag-icon-squared{background-image:url(../img/flags/1x1/ni.svg)}.flag-icon-nl{background-image:url(../img/flags/nl.svg)}.flag-icon-nl.flag-icon-squared{background-image:url(../img/flags/1x1/nl.svg)}.flag-icon-no{background-image:url(../img/flags/no.svg)}.flag-icon-no.flag-icon-squared{background-image:url(../img/flags/1x1/no.svg)}.flag-icon-np{background-image:url(../img/flags/np.svg)}.flag-icon-np.flag-icon-squared{background-image:url(../img/flags/1x1/np.svg)}.flag-icon-nr{background-image:url(../img/flags/nr.svg)}.flag-icon-nr.flag-icon-squared{background-image:url(../img/flags/1x1/nr.svg)}.flag-icon-nu{background-image:url(../img/flags/nu.svg)}.flag-icon-nu.flag-icon-squared{background-image:url(../img/flags/1x1/nu.svg)}.flag-icon-nz{background-image:url(../img/flags/nz.svg)}.flag-icon-nz.flag-icon-squared{background-image:url(../img/flags/1x1/nz.svg)}.flag-icon-om{background-image:url(../img/flags/om.svg)}.flag-icon-om.flag-icon-squared{background-image:url(../img/flags/1x1/om.svg)}.flag-icon-pa{background-image:url(../img/flags/pa.svg)}.flag-icon-pa.flag-icon-squared{background-image:url(../img/flags/1x1/pa.svg)}.flag-icon-pe{background-image:url(../img/flags/pe.svg)}.flag-icon-pe.flag-icon-squared{background-image:url(../img/flags/1x1/pe.svg)}.flag-icon-pf{background-image:url(../img/flags/pf.svg)}.flag-icon-pf.flag-icon-squared{background-image:url(../img/flags/1x1/pf.svg)}.flag-icon-pg{background-image:url(../img/flags/pg.svg)}.flag-icon-pg.flag-icon-squared{background-image:url(../img/flags/1x1/pg.svg)}.flag-icon-ph{background-image:url(../img/flags/ph.svg)}.flag-icon-ph.flag-icon-squared{background-image:url(../img/flags/1x1/ph.svg)}.flag-icon-pk{background-image:url(../img/flags/pk.svg)}.flag-icon-pk.flag-icon-squared{background-image:url(../img/flags/1x1/pk.svg)}.flag-icon-pl{background-image:url(../img/flags/pl.svg)}.flag-icon-pl.flag-icon-squared{background-image:url(../img/flags/1x1/pl.svg)}.flag-icon-pm{background-image:url(../img/flags/pm.svg)}.flag-icon-pm.flag-icon-squared{background-image:url(../img/flags/1x1/pm.svg)}.flag-icon-pn{background-image:url(../img/flags/pn.svg)}.flag-icon-pn.flag-icon-squared{background-image:url(../img/flags/1x1/pn.svg)}.flag-icon-pr{background-image:url(../img/flags/pr.svg)}.flag-icon-pr.flag-icon-squared{background-image:url(../img/flags/1x1/pr.svg)}.flag-icon-ps{background-image:url(../img/flags/ps.svg)}.flag-icon-ps.flag-icon-squared{background-image:url(../img/flags/1x1/ps.svg)}.flag-icon-pt{background-image:url(../img/flags/pt.svg)}.flag-icon-pt.flag-icon-squared{background-image:url(../img/flags/1x1/pt.svg)}.flag-icon-pw{background-image:url(../img/flags/pw.svg)}.flag-icon-pw.flag-icon-squared{background-image:url(../img/flags/1x1/pw.svg)}.flag-icon-py{background-image:url(../img/flags/py.svg)}.flag-icon-py.flag-icon-squared{background-image:url(../img/flags/1x1/py.svg)}.flag-icon-qa{background-image:url(../img/flags/qa.svg)}.flag-icon-qa.flag-icon-squared{background-image:url(../img/flags/1x1/qa.svg)}.flag-icon-re{background-image:url(../img/flags/re.svg)}.flag-icon-re.flag-icon-squared{background-image:url(../img/flags/1x1/re.svg)}.flag-icon-ro{background-image:url(../img/flags/ro.svg)}.flag-icon-ro.flag-icon-squared{background-image:url(../img/flags/1x1/ro.svg)}.flag-icon-rs{background-image:url(../img/flags/rs.svg)}.flag-icon-rs.flag-icon-squared{background-image:url(../img/flags/1x1/rs.svg)}.flag-icon-ru{background-image:url(../img/flags/ru.svg)}.flag-icon-ru.flag-icon-squared{background-image:url(../img/flags/1x1/ru.svg)}.flag-icon-rw{background-image:url(../img/flags/rw.svg)}.flag-icon-rw.flag-icon-squared{background-image:url(../img/flags/1x1/rw.svg)}.flag-icon-sa{background-image:url(../img/flags/sa.svg)}.flag-icon-sa.flag-icon-squared{background-image:url(../img/flags/1x1/sa.svg)}.flag-icon-sb{background-image:url(../img/flags/sb.svg)}.flag-icon-sb.flag-icon-squared{background-image:url(../img/flags/1x1/sb.svg)}.flag-icon-sc{background-image:url(../img/flags/sc.svg)}.flag-icon-sc.flag-icon-squared{background-image:url(../img/flags/1x1/sc.svg)}.flag-icon-sd{background-image:url(../img/flags/sd.svg)}.flag-icon-sd.flag-icon-squared{background-image:url(../img/flags/1x1/sd.svg)}.flag-icon-se{background-image:url(../img/flags/se.svg)}.flag-icon-se.flag-icon-squared{background-image:url(../img/flags/1x1/se.svg)}.flag-icon-sg{background-image:url(../img/flags/sg.svg)}.flag-icon-sg.flag-icon-squared{background-image:url(../img/flags/1x1/sg.svg)}.flag-icon-sh{background-image:url(../img/flags/sh.svg)}.flag-icon-sh.flag-icon-squared{background-image:url(../img/flags/1x1/sh.svg)}.flag-icon-si{background-image:url(../img/flags/si.svg)}.flag-icon-si.flag-icon-squared{background-image:url(../img/flags/1x1/si.svg)}.flag-icon-sj{background-image:url(../img/flags/sj.svg)}.flag-icon-sj.flag-icon-squared{background-image:url(../img/flags/1x1/sj.svg)}.flag-icon-sk{background-image:url(../img/flags/sk.svg)}.flag-icon-sk.flag-icon-squared{background-image:url(../img/flags/1x1/sk.svg)}.flag-icon-sl{background-image:url(../img/flags/sl.svg)}.flag-icon-sl.flag-icon-squared{background-image:url(../img/flags/1x1/sl.svg)}.flag-icon-sm{background-image:url(../img/flags/sm.svg)}.flag-icon-sm.flag-icon-squared{background-image:url(../img/flags/1x1/sm.svg)}.flag-icon-sn{background-image:url(../img/flags/sn.svg)}.flag-icon-sn.flag-icon-squared{background-image:url(../img/flags/1x1/sn.svg)}.flag-icon-so{background-image:url(../img/flags/so.svg)}.flag-icon-so.flag-icon-squared{background-image:url(../img/flags/1x1/so.svg)}.flag-icon-sr{background-image:url(../img/flags/sr.svg)}.flag-icon-sr.flag-icon-squared{background-image:url(../img/flags/1x1/sr.svg)}.flag-icon-ss{background-image:url(../img/flags/ss.svg)}.flag-icon-ss.flag-icon-squared{background-image:url(../img/flags/1x1/ss.svg)}.flag-icon-st{background-image:url(../img/flags/st.svg)}.flag-icon-st.flag-icon-squared{background-image:url(../img/flags/1x1/st.svg)}.flag-icon-sv{background-image:url(../img/flags/sv.svg)}.flag-icon-sv.flag-icon-squared{background-image:url(../img/flags/1x1/sv.svg)}.flag-icon-sx{background-image:url(../img/flags/sx.svg)}.flag-icon-sx.flag-icon-squared{background-image:url(../img/flags/1x1/sx.svg)}.flag-icon-sy{background-image:url(../img/flags/sy.svg)}.flag-icon-sy.flag-icon-squared{background-image:url(../img/flags/1x1/sy.svg)}.flag-icon-sz{background-image:url(../img/flags/sz.svg)}.flag-icon-sz.flag-icon-squared{background-image:url(../img/flags/1x1/sz.svg)}.flag-icon-tc{background-image:url(../img/flags/tc.svg)}.flag-icon-tc.flag-icon-squared{background-image:url(../img/flags/1x1/tc.svg)}.flag-icon-td{background-image:url(../img/flags/td.svg)}.flag-icon-td.flag-icon-squared{background-image:url(../img/flags/1x1/td.svg)}.flag-icon-tf{background-image:url(../img/flags/tf.svg)}.flag-icon-tf.flag-icon-squared{background-image:url(../img/flags/1x1/tf.svg)}.flag-icon-tg{background-image:url(../img/flags/tg.svg)}.flag-icon-tg.flag-icon-squared{background-image:url(../img/flags/1x1/tg.svg)}.flag-icon-th{background-image:url(../img/flags/th.svg)}.flag-icon-th.flag-icon-squared{background-image:url(../img/flags/1x1/th.svg)}.flag-icon-tj{background-image:url(../img/flags/tj.svg)}.flag-icon-tj.flag-icon-squared{background-image:url(../img/flags/1x1/tj.svg)}.flag-icon-tk{background-image:url(../img/flags/tk.svg)}.flag-icon-tk.flag-icon-squared{background-image:url(../img/flags/1x1/tk.svg)}.flag-icon-tl{background-image:url(../img/flags/tl.svg)}.flag-icon-tl.flag-icon-squared{background-image:url(../img/flags/1x1/tl.svg)}.flag-icon-tm{background-image:url(../img/flags/tm.svg)}.flag-icon-tm.flag-icon-squared{background-image:url(../img/flags/1x1/tm.svg)}.flag-icon-tn{background-image:url(../img/flags/tn.svg)}.flag-icon-tn.flag-icon-squared{background-image:url(../img/flags/1x1/tn.svg)}.flag-icon-to{background-image:url(../img/flags/to.svg)}.flag-icon-to.flag-icon-squared{background-image:url(../img/flags/1x1/to.svg)}.flag-icon-tr{background-image:url(../img/flags/tr.svg)}.flag-icon-tr.flag-icon-squared{background-image:url(../img/flags/1x1/tr.svg)}.flag-icon-tt{background-image:url(../img/flags/tt.svg)}.flag-icon-tt.flag-icon-squared{background-image:url(../img/flags/1x1/tt.svg)}.flag-icon-tv{background-image:url(../img/flags/tv.svg)}.flag-icon-tv.flag-icon-squared{background-image:url(../img/flags/1x1/tv.svg)}.flag-icon-tw{background-image:url(../img/flags/tw.svg)}.flag-icon-tw.flag-icon-squared{background-image:url(../img/flags/1x1/tw.svg)}.flag-icon-tz{background-image:url(../img/flags/tz.svg)}.flag-icon-tz.flag-icon-squared{background-image:url(../img/flags/1x1/tz.svg)}.flag-icon-ua{background-image:url(../img/flags/ua.svg)}.flag-icon-ua.flag-icon-squared{background-image:url(../img/flags/1x1/ua.svg)}.flag-icon-ug{background-image:url(../img/flags/ug.svg)}.flag-icon-ug.flag-icon-squared{background-image:url(../img/flags/1x1/ug.svg)}.flag-icon-um{background-image:url(../img/flags/um.svg)}.flag-icon-um.flag-icon-squared{background-image:url(../img/flags/1x1/um.svg)}.flag-icon-us{background-image:url(../img/flags/us.svg)}.flag-icon-us.flag-icon-squared{background-image:url(../img/flags/1x1/us.svg)}.flag-icon-uy{background-image:url(../img/flags/uy.svg)}.flag-icon-uy.flag-icon-squared{background-image:url(../img/flags/1x1/uy.svg)}.flag-icon-uz{background-image:url(../img/flags/uz.svg)}.flag-icon-uz.flag-icon-squared{background-image:url(../img/flags/1x1/uz.svg)}.flag-icon-va{background-image:url(../img/flags/va.svg)}.flag-icon-va.flag-icon-squared{background-image:url(../img/flags/1x1/va.svg)}.flag-icon-vc{background-image:url(../img/flags/vc.svg)}.flag-icon-vc.flag-icon-squared{background-image:url(../img/flags/1x1/vc.svg)}.flag-icon-ve{background-image:url(../img/flags/ve.svg)}.flag-icon-ve.flag-icon-squared{background-image:url(../img/flags/1x1/ve.svg)}.flag-icon-vg{background-image:url(../img/flags/vg.svg)}.flag-icon-vg.flag-icon-squared{background-image:url(../img/flags/1x1/vg.svg)}.flag-icon-vi{background-image:url(../img/flags/vi.svg)}.flag-icon-vi.flag-icon-squared{background-image:url(../img/flags/1x1/vi.svg)}.flag-icon-vn{background-image:url(../img/flags/vn.svg)}.flag-icon-vn.flag-icon-squared{background-image:url(../img/flags/1x1/vn.svg)}.flag-icon-vu{background-image:url(../img/flags/vu.svg)}.flag-icon-vu.flag-icon-squared{background-image:url(../img/flags/1x1/vu.svg)}.flag-icon-wf{background-image:url(../img/flags/wf.svg)}.flag-icon-wf.flag-icon-squared{background-image:url(../img/flags/1x1/wf.svg)}.flag-icon-ws{background-image:url(../img/flags/ws.svg)}.flag-icon-ws.flag-icon-squared{background-image:url(../img/flags/1x1/ws.svg)}.flag-icon-ye{background-image:url(../img/flags/ye.svg)}.flag-icon-ye.flag-icon-squared{background-image:url(../img/flags/1x1/ye.svg)}.flag-icon-yt{background-image:url(../img/flags/yt.svg)}.flag-icon-yt.flag-icon-squared{background-image:url(../img/flags/1x1/yt.svg)}.flag-icon-za{background-image:url(../img/flags/za.svg)}.flag-icon-za.flag-icon-squared{background-image:url(../img/flags/1x1/za.svg)}.flag-icon-zm{background-image:url(../img/flags/zm.svg)}.flag-icon-zm.flag-icon-squared{background-image:url(../img/flags/1x1/zm.svg)}.flag-icon-zw{background-image:url(../img/flags/zw.svg)}.flag-icon-zw.flag-icon-squared{background-image:url(../img/flags/1x1/zw.svg)}.flag-icon-eu{background-image:url(../img/flags/eu.svg)}.flag-icon-eu.flag-icon-squared{background-image:url(../img/flags/1x1/eu.svg)}.flag-icon-gb-eng{background-image:url(../img/flags/gb-eng.svg)}.flag-icon-gb-eng.flag-icon-squared{background-image:url(../img/flags/1x1/gb-eng.svg)}.flag-icon-gb-sct{background-image:url(../img/flags/gb-sct.svg)}.flag-icon-gb-sct.flag-icon-squared{background-image:url(../img/flags/1x1/gb-sct.svg)}.flag-icon-gb-wls{background-image:url(../img/flags/gb-wls.svg)}.flag-icon-gb-wls.flag-icon-squared{background-image:url(../img/flags/1x1/gb-wls.svg)}.flag-icon-un{background-image:url(../img/flags/un.svg)}.flag-icon-un.flag-icon-squared{background-image:url(../img/flags/1x1/un.svg)} +.flag-icon,.flag-icon-background{background-repeat:no-repeat;background-size:contain;background-position:50%}.flag-icon{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(../img/flags/4x3/ad.svg)}.flag-icon-ad.flag-icon-squared{background-image:url(../img/flags/1x1/ad.svg)}.flag-icon-ae{background-image:url(../img/flags/4x3/ae.svg)}.flag-icon-ae.flag-icon-squared{background-image:url(../img/flags/1x1/ae.svg)}.flag-icon-af{background-image:url(../img/flags/4x3/af.svg)}.flag-icon-af.flag-icon-squared{background-image:url(../img/flags/1x1/af.svg)}.flag-icon-ag{background-image:url(../img/flags/4x3/ag.svg)}.flag-icon-ag.flag-icon-squared{background-image:url(../img/flags/1x1/ag.svg)}.flag-icon-ai{background-image:url(../img/flags/4x3/ai.svg)}.flag-icon-ai.flag-icon-squared{background-image:url(../img/flags/1x1/ai.svg)}.flag-icon-al{background-image:url(../img/flags/4x3/al.svg)}.flag-icon-al.flag-icon-squared{background-image:url(../img/flags/1x1/al.svg)}.flag-icon-am{background-image:url(../img/flags/4x3/am.svg)}.flag-icon-am.flag-icon-squared{background-image:url(../img/flags/1x1/am.svg)}.flag-icon-ao{background-image:url(../img/flags/4x3/ao.svg)}.flag-icon-ao.flag-icon-squared{background-image:url(../img/flags/1x1/ao.svg)}.flag-icon-aq{background-image:url(../img/flags/4x3/aq.svg)}.flag-icon-aq.flag-icon-squared{background-image:url(../img/flags/1x1/aq.svg)}.flag-icon-ar{background-image:url(../img/flags/4x3/ar.svg)}.flag-icon-ar.flag-icon-squared{background-image:url(../img/flags/1x1/ar.svg)}.flag-icon-as{background-image:url(../img/flags/4x3/as.svg)}.flag-icon-as.flag-icon-squared{background-image:url(../img/flags/1x1/as.svg)}.flag-icon-at{background-image:url(../img/flags/4x3/at.svg)}.flag-icon-at.flag-icon-squared{background-image:url(../img/flags/1x1/at.svg)}.flag-icon-au{background-image:url(../img/flags/4x3/au.svg)}.flag-icon-au.flag-icon-squared{background-image:url(../img/flags/1x1/au.svg)}.flag-icon-aw{background-image:url(../img/flags/4x3/aw.svg)}.flag-icon-aw.flag-icon-squared{background-image:url(../img/flags/1x1/aw.svg)}.flag-icon-ax{background-image:url(../img/flags/4x3/ax.svg)}.flag-icon-ax.flag-icon-squared{background-image:url(../img/flags/1x1/ax.svg)}.flag-icon-az{background-image:url(../img/flags/4x3/az.svg)}.flag-icon-az.flag-icon-squared{background-image:url(../img/flags/1x1/az.svg)}.flag-icon-ba{background-image:url(../img/flags/4x3/ba.svg)}.flag-icon-ba.flag-icon-squared{background-image:url(../img/flags/1x1/ba.svg)}.flag-icon-bb{background-image:url(../img/flags/4x3/bb.svg)}.flag-icon-bb.flag-icon-squared{background-image:url(../img/flags/1x1/bb.svg)}.flag-icon-bd{background-image:url(../img/flags/4x3/bd.svg)}.flag-icon-bd.flag-icon-squared{background-image:url(../img/flags/1x1/bd.svg)}.flag-icon-be{background-image:url(../img/flags/4x3/be.svg)}.flag-icon-be.flag-icon-squared{background-image:url(../img/flags/1x1/be.svg)}.flag-icon-bf{background-image:url(../img/flags/4x3/bf.svg)}.flag-icon-bf.flag-icon-squared{background-image:url(../img/flags/1x1/bf.svg)}.flag-icon-bg{background-image:url(../img/flags/4x3/bg.svg)}.flag-icon-bg.flag-icon-squared{background-image:url(../img/flags/1x1/bg.svg)}.flag-icon-bh{background-image:url(../img/flags/4x3/bh.svg)}.flag-icon-bh.flag-icon-squared{background-image:url(../img/flags/1x1/bh.svg)}.flag-icon-bi{background-image:url(../img/flags/4x3/bi.svg)}.flag-icon-bi.flag-icon-squared{background-image:url(../img/flags/1x1/bi.svg)}.flag-icon-bj{background-image:url(../img/flags/4x3/bj.svg)}.flag-icon-bj.flag-icon-squared{background-image:url(../img/flags/1x1/bj.svg)}.flag-icon-bl{background-image:url(../img/flags/4x3/bl.svg)}.flag-icon-bl.flag-icon-squared{background-image:url(../img/flags/1x1/bl.svg)}.flag-icon-bm{background-image:url(../img/flags/4x3/bm.svg)}.flag-icon-bm.flag-icon-squared{background-image:url(../img/flags/1x1/bm.svg)}.flag-icon-bn{background-image:url(../img/flags/4x3/bn.svg)}.flag-icon-bn.flag-icon-squared{background-image:url(../img/flags/1x1/bn.svg)}.flag-icon-bo{background-image:url(../img/flags/4x3/bo.svg)}.flag-icon-bo.flag-icon-squared{background-image:url(../img/flags/1x1/bo.svg)}.flag-icon-bq{background-image:url(../img/flags/4x3/bq.svg)}.flag-icon-bq.flag-icon-squared{background-image:url(../img/flags/1x1/bq.svg)}.flag-icon-br{background-image:url(../img/flags/4x3/br.svg)}.flag-icon-br.flag-icon-squared{background-image:url(../img/flags/1x1/br.svg)}.flag-icon-bs{background-image:url(../img/flags/4x3/bs.svg)}.flag-icon-bs.flag-icon-squared{background-image:url(../img/flags/1x1/bs.svg)}.flag-icon-bt{background-image:url(../img/flags/4x3/bt.svg)}.flag-icon-bt.flag-icon-squared{background-image:url(../img/flags/1x1/bt.svg)}.flag-icon-bv{background-image:url(../img/flags/4x3/bv.svg)}.flag-icon-bv.flag-icon-squared{background-image:url(../img/flags/1x1/bv.svg)}.flag-icon-bw{background-image:url(../img/flags/4x3/bw.svg)}.flag-icon-bw.flag-icon-squared{background-image:url(../img/flags/1x1/bw.svg)}.flag-icon-by{background-image:url(../img/flags/4x3/by.svg)}.flag-icon-by.flag-icon-squared{background-image:url(../img/flags/1x1/by.svg)}.flag-icon-bz{background-image:url(../img/flags/4x3/bz.svg)}.flag-icon-bz.flag-icon-squared{background-image:url(../img/flags/1x1/bz.svg)}.flag-icon-ca{background-image:url(../img/flags/4x3/ca.svg)}.flag-icon-ca.flag-icon-squared{background-image:url(../img/flags/1x1/ca.svg)}.flag-icon-cc{background-image:url(../img/flags/4x3/cc.svg)}.flag-icon-cc.flag-icon-squared{background-image:url(../img/flags/1x1/cc.svg)}.flag-icon-cd{background-image:url(../img/flags/4x3/cd.svg)}.flag-icon-cd.flag-icon-squared{background-image:url(../img/flags/1x1/cd.svg)}.flag-icon-cf{background-image:url(../img/flags/4x3/cf.svg)}.flag-icon-cf.flag-icon-squared{background-image:url(../img/flags/1x1/cf.svg)}.flag-icon-cg{background-image:url(../img/flags/4x3/cg.svg)}.flag-icon-cg.flag-icon-squared{background-image:url(../img/flags/1x1/cg.svg)}.flag-icon-ch{background-image:url(../img/flags/4x3/ch.svg)}.flag-icon-ch.flag-icon-squared{background-image:url(../img/flags/1x1/ch.svg)}.flag-icon-ci{background-image:url(../img/flags/4x3/ci.svg)}.flag-icon-ci.flag-icon-squared{background-image:url(../img/flags/1x1/ci.svg)}.flag-icon-ck{background-image:url(../img/flags/4x3/ck.svg)}.flag-icon-ck.flag-icon-squared{background-image:url(../img/flags/1x1/ck.svg)}.flag-icon-cl{background-image:url(../img/flags/4x3/cl.svg)}.flag-icon-cl.flag-icon-squared{background-image:url(../img/flags/1x1/cl.svg)}.flag-icon-cm{background-image:url(../img/flags/4x3/cm.svg)}.flag-icon-cm.flag-icon-squared{background-image:url(../img/flags/1x1/cm.svg)}.flag-icon-cn{background-image:url(../img/flags/4x3/cn.svg)}.flag-icon-cn.flag-icon-squared{background-image:url(../img/flags/1x1/cn.svg)}.flag-icon-co{background-image:url(../img/flags/4x3/co.svg)}.flag-icon-co.flag-icon-squared{background-image:url(../img/flags/1x1/co.svg)}.flag-icon-cr{background-image:url(../img/flags/4x3/cr.svg)}.flag-icon-cr.flag-icon-squared{background-image:url(../img/flags/1x1/cr.svg)}.flag-icon-cu{background-image:url(../img/flags/4x3/cu.svg)}.flag-icon-cu.flag-icon-squared{background-image:url(../img/flags/1x1/cu.svg)}.flag-icon-cv{background-image:url(../img/flags/4x3/cv.svg)}.flag-icon-cv.flag-icon-squared{background-image:url(../img/flags/1x1/cv.svg)}.flag-icon-cw{background-image:url(../img/flags/4x3/cw.svg)}.flag-icon-cw.flag-icon-squared{background-image:url(../img/flags/1x1/cw.svg)}.flag-icon-cx{background-image:url(../img/flags/4x3/cx.svg)}.flag-icon-cx.flag-icon-squared{background-image:url(../img/flags/1x1/cx.svg)}.flag-icon-cy{background-image:url(../img/flags/4x3/cy.svg)}.flag-icon-cy.flag-icon-squared{background-image:url(../img/flags/1x1/cy.svg)}.flag-icon-cz{background-image:url(../img/flags/4x3/cz.svg)}.flag-icon-cz.flag-icon-squared{background-image:url(../img/flags/1x1/cz.svg)}.flag-icon-de{background-image:url(../img/flags/4x3/de.svg)}.flag-icon-de.flag-icon-squared{background-image:url(../img/flags/1x1/de.svg)}.flag-icon-dj{background-image:url(../img/flags/4x3/dj.svg)}.flag-icon-dj.flag-icon-squared{background-image:url(../img/flags/1x1/dj.svg)}.flag-icon-dk{background-image:url(../img/flags/4x3/dk.svg)}.flag-icon-dk.flag-icon-squared{background-image:url(../img/flags/1x1/dk.svg)}.flag-icon-dm{background-image:url(../img/flags/4x3/dm.svg)}.flag-icon-dm.flag-icon-squared{background-image:url(../img/flags/1x1/dm.svg)}.flag-icon-do{background-image:url(../img/flags/4x3/do.svg)}.flag-icon-do.flag-icon-squared{background-image:url(../img/flags/1x1/do.svg)}.flag-icon-dz{background-image:url(../img/flags/4x3/dz.svg)}.flag-icon-dz.flag-icon-squared{background-image:url(../img/flags/1x1/dz.svg)}.flag-icon-ec{background-image:url(../img/flags/4x3/ec.svg)}.flag-icon-ec.flag-icon-squared{background-image:url(../img/flags/1x1/ec.svg)}.flag-icon-ee{background-image:url(../img/flags/4x3/ee.svg)}.flag-icon-ee.flag-icon-squared{background-image:url(../img/flags/1x1/ee.svg)}.flag-icon-eg{background-image:url(../img/flags/4x3/eg.svg)}.flag-icon-eg.flag-icon-squared{background-image:url(../img/flags/1x1/eg.svg)}.flag-icon-eh{background-image:url(../img/flags/4x3/eh.svg)}.flag-icon-eh.flag-icon-squared{background-image:url(../img/flags/1x1/eh.svg)}.flag-icon-er{background-image:url(../img/flags/4x3/er.svg)}.flag-icon-er.flag-icon-squared{background-image:url(../img/flags/1x1/er.svg)}.flag-icon-es{background-image:url(../img/flags/4x3/es.svg)}.flag-icon-es.flag-icon-squared{background-image:url(../img/flags/1x1/es.svg)}.flag-icon-et{background-image:url(../img/flags/4x3/et.svg)}.flag-icon-et.flag-icon-squared{background-image:url(../img/flags/1x1/et.svg)}.flag-icon-fi{background-image:url(../img/flags/4x3/fi.svg)}.flag-icon-fi.flag-icon-squared{background-image:url(../img/flags/1x1/fi.svg)}.flag-icon-fj{background-image:url(../img/flags/4x3/fj.svg)}.flag-icon-fj.flag-icon-squared{background-image:url(../img/flags/1x1/fj.svg)}.flag-icon-fk{background-image:url(../img/flags/4x3/fk.svg)}.flag-icon-fk.flag-icon-squared{background-image:url(../img/flags/1x1/fk.svg)}.flag-icon-fm{background-image:url(../img/flags/4x3/fm.svg)}.flag-icon-fm.flag-icon-squared{background-image:url(../img/flags/1x1/fm.svg)}.flag-icon-fo{background-image:url(../img/flags/4x3/fo.svg)}.flag-icon-fo.flag-icon-squared{background-image:url(../img/flags/1x1/fo.svg)}.flag-icon-fr{background-image:url(../img/flags/4x3/fr.svg)}.flag-icon-fr.flag-icon-squared{background-image:url(../img/flags/1x1/fr.svg)}.flag-icon-ga{background-image:url(../img/flags/4x3/ga.svg)}.flag-icon-ga.flag-icon-squared{background-image:url(../img/flags/1x1/ga.svg)}.flag-icon-gb{background-image:url(../img/flags/4x3/gb.svg)}.flag-icon-gb.flag-icon-squared{background-image:url(../img/flags/1x1/gb.svg)}.flag-icon-gd{background-image:url(../img/flags/4x3/gd.svg)}.flag-icon-gd.flag-icon-squared{background-image:url(../img/flags/1x1/gd.svg)}.flag-icon-ge{background-image:url(../img/flags/4x3/ge.svg)}.flag-icon-ge.flag-icon-squared{background-image:url(../img/flags/1x1/ge.svg)}.flag-icon-gf{background-image:url(../img/flags/4x3/gf.svg)}.flag-icon-gf.flag-icon-squared{background-image:url(../img/flags/1x1/gf.svg)}.flag-icon-gg{background-image:url(../img/flags/4x3/gg.svg)}.flag-icon-gg.flag-icon-squared{background-image:url(../img/flags/1x1/gg.svg)}.flag-icon-gh{background-image:url(../img/flags/4x3/gh.svg)}.flag-icon-gh.flag-icon-squared{background-image:url(../img/flags/1x1/gh.svg)}.flag-icon-gi{background-image:url(../img/flags/4x3/gi.svg)}.flag-icon-gi.flag-icon-squared{background-image:url(../img/flags/1x1/gi.svg)}.flag-icon-gl{background-image:url(../img/flags/4x3/gl.svg)}.flag-icon-gl.flag-icon-squared{background-image:url(../img/flags/1x1/gl.svg)}.flag-icon-gm{background-image:url(../img/flags/4x3/gm.svg)}.flag-icon-gm.flag-icon-squared{background-image:url(../img/flags/1x1/gm.svg)}.flag-icon-gn{background-image:url(../img/flags/4x3/gn.svg)}.flag-icon-gn.flag-icon-squared{background-image:url(../img/flags/1x1/gn.svg)}.flag-icon-gp{background-image:url(../img/flags/4x3/gp.svg)}.flag-icon-gp.flag-icon-squared{background-image:url(../img/flags/1x1/gp.svg)}.flag-icon-gq{background-image:url(../img/flags/4x3/gq.svg)}.flag-icon-gq.flag-icon-squared{background-image:url(../img/flags/1x1/gq.svg)}.flag-icon-gr{background-image:url(../img/flags/4x3/gr.svg)}.flag-icon-gr.flag-icon-squared{background-image:url(../img/flags/1x1/gr.svg)}.flag-icon-gs{background-image:url(../img/flags/4x3/gs.svg)}.flag-icon-gs.flag-icon-squared{background-image:url(../img/flags/1x1/gs.svg)}.flag-icon-gt{background-image:url(../img/flags/4x3/gt.svg)}.flag-icon-gt.flag-icon-squared{background-image:url(../img/flags/1x1/gt.svg)}.flag-icon-gu{background-image:url(../img/flags/4x3/gu.svg)}.flag-icon-gu.flag-icon-squared{background-image:url(../img/flags/1x1/gu.svg)}.flag-icon-gw{background-image:url(../img/flags/4x3/gw.svg)}.flag-icon-gw.flag-icon-squared{background-image:url(../img/flags/1x1/gw.svg)}.flag-icon-gy{background-image:url(../img/flags/4x3/gy.svg)}.flag-icon-gy.flag-icon-squared{background-image:url(../img/flags/1x1/gy.svg)}.flag-icon-hk{background-image:url(../img/flags/4x3/hk.svg)}.flag-icon-hk.flag-icon-squared{background-image:url(../img/flags/1x1/hk.svg)}.flag-icon-hm{background-image:url(../img/flags/4x3/hm.svg)}.flag-icon-hm.flag-icon-squared{background-image:url(../img/flags/1x1/hm.svg)}.flag-icon-hn{background-image:url(../img/flags/4x3/hn.svg)}.flag-icon-hn.flag-icon-squared{background-image:url(../img/flags/1x1/hn.svg)}.flag-icon-hr{background-image:url(../img/flags/4x3/hr.svg)}.flag-icon-hr.flag-icon-squared{background-image:url(../img/flags/1x1/hr.svg)}.flag-icon-ht{background-image:url(../img/flags/4x3/ht.svg)}.flag-icon-ht.flag-icon-squared{background-image:url(../img/flags/1x1/ht.svg)}.flag-icon-hu{background-image:url(../img/flags/4x3/hu.svg)}.flag-icon-hu.flag-icon-squared{background-image:url(../img/flags/1x1/hu.svg)}.flag-icon-id{background-image:url(../img/flags/4x3/id.svg)}.flag-icon-id.flag-icon-squared{background-image:url(../img/flags/1x1/id.svg)}.flag-icon-ie{background-image:url(../img/flags/4x3/ie.svg)}.flag-icon-ie.flag-icon-squared{background-image:url(../img/flags/1x1/ie.svg)}.flag-icon-il{background-image:url(../img/flags/4x3/il.svg)}.flag-icon-il.flag-icon-squared{background-image:url(../img/flags/1x1/il.svg)}.flag-icon-im{background-image:url(../img/flags/4x3/im.svg)}.flag-icon-im.flag-icon-squared{background-image:url(../img/flags/1x1/im.svg)}.flag-icon-in{background-image:url(../img/flags/4x3/in.svg)}.flag-icon-in.flag-icon-squared{background-image:url(../img/flags/1x1/in.svg)}.flag-icon-io{background-image:url(../img/flags/4x3/io.svg)}.flag-icon-io.flag-icon-squared{background-image:url(../img/flags/1x1/io.svg)}.flag-icon-iq{background-image:url(../img/flags/4x3/iq.svg)}.flag-icon-iq.flag-icon-squared{background-image:url(../img/flags/1x1/iq.svg)}.flag-icon-ir{background-image:url(../img/flags/4x3/ir.svg)}.flag-icon-ir.flag-icon-squared{background-image:url(../img/flags/1x1/ir.svg)}.flag-icon-is{background-image:url(../img/flags/4x3/is.svg)}.flag-icon-is.flag-icon-squared{background-image:url(../img/flags/1x1/is.svg)}.flag-icon-it{background-image:url(../img/flags/4x3/it.svg)}.flag-icon-it.flag-icon-squared{background-image:url(../img/flags/1x1/it.svg)}.flag-icon-je{background-image:url(../img/flags/4x3/je.svg)}.flag-icon-je.flag-icon-squared{background-image:url(../img/flags/1x1/je.svg)}.flag-icon-jm{background-image:url(../img/flags/4x3/jm.svg)}.flag-icon-jm.flag-icon-squared{background-image:url(../img/flags/1x1/jm.svg)}.flag-icon-jo{background-image:url(../img/flags/4x3/jo.svg)}.flag-icon-jo.flag-icon-squared{background-image:url(../img/flags/1x1/jo.svg)}.flag-icon-jp{background-image:url(../img/flags/4x3/jp.svg)}.flag-icon-jp.flag-icon-squared{background-image:url(../img/flags/1x1/jp.svg)}.flag-icon-ke{background-image:url(../img/flags/4x3/ke.svg)}.flag-icon-ke.flag-icon-squared{background-image:url(../img/flags/1x1/ke.svg)}.flag-icon-kg{background-image:url(../img/flags/4x3/kg.svg)}.flag-icon-kg.flag-icon-squared{background-image:url(../img/flags/1x1/kg.svg)}.flag-icon-kh{background-image:url(../img/flags/4x3/kh.svg)}.flag-icon-kh.flag-icon-squared{background-image:url(../img/flags/1x1/kh.svg)}.flag-icon-ki{background-image:url(../img/flags/4x3/ki.svg)}.flag-icon-ki.flag-icon-squared{background-image:url(../img/flags/1x1/ki.svg)}.flag-icon-km{background-image:url(../img/flags/4x3/km.svg)}.flag-icon-km.flag-icon-squared{background-image:url(../img/flags/1x1/km.svg)}.flag-icon-kn{background-image:url(../img/flags/4x3/kn.svg)}.flag-icon-kn.flag-icon-squared{background-image:url(../img/flags/1x1/kn.svg)}.flag-icon-kp{background-image:url(../img/flags/4x3/kp.svg)}.flag-icon-kp.flag-icon-squared{background-image:url(../img/flags/1x1/kp.svg)}.flag-icon-kr{background-image:url(../img/flags/4x3/kr.svg)}.flag-icon-kr.flag-icon-squared{background-image:url(../img/flags/1x1/kr.svg)}.flag-icon-kw{background-image:url(../img/flags/4x3/kw.svg)}.flag-icon-kw.flag-icon-squared{background-image:url(../img/flags/1x1/kw.svg)}.flag-icon-ky{background-image:url(../img/flags/4x3/ky.svg)}.flag-icon-ky.flag-icon-squared{background-image:url(../img/flags/1x1/ky.svg)}.flag-icon-kz{background-image:url(../img/flags/4x3/kz.svg)}.flag-icon-kz.flag-icon-squared{background-image:url(../img/flags/1x1/kz.svg)}.flag-icon-la{background-image:url(../img/flags/4x3/la.svg)}.flag-icon-la.flag-icon-squared{background-image:url(../img/flags/1x1/la.svg)}.flag-icon-lb{background-image:url(../img/flags/4x3/lb.svg)}.flag-icon-lb.flag-icon-squared{background-image:url(../img/flags/1x1/lb.svg)}.flag-icon-lc{background-image:url(../img/flags/4x3/lc.svg)}.flag-icon-lc.flag-icon-squared{background-image:url(../img/flags/1x1/lc.svg)}.flag-icon-li{background-image:url(../img/flags/4x3/li.svg)}.flag-icon-li.flag-icon-squared{background-image:url(../img/flags/1x1/li.svg)}.flag-icon-lk{background-image:url(../img/flags/4x3/lk.svg)}.flag-icon-lk.flag-icon-squared{background-image:url(../img/flags/1x1/lk.svg)}.flag-icon-lr{background-image:url(../img/flags/4x3/lr.svg)}.flag-icon-lr.flag-icon-squared{background-image:url(../img/flags/1x1/lr.svg)}.flag-icon-ls{background-image:url(../img/flags/4x3/ls.svg)}.flag-icon-ls.flag-icon-squared{background-image:url(../img/flags/1x1/ls.svg)}.flag-icon-lt{background-image:url(../img/flags/4x3/lt.svg)}.flag-icon-lt.flag-icon-squared{background-image:url(../img/flags/1x1/lt.svg)}.flag-icon-lu{background-image:url(../img/flags/4x3/lu.svg)}.flag-icon-lu.flag-icon-squared{background-image:url(../img/flags/1x1/lu.svg)}.flag-icon-lv{background-image:url(../img/flags/4x3/lv.svg)}.flag-icon-lv.flag-icon-squared{background-image:url(../img/flags/1x1/lv.svg)}.flag-icon-ly{background-image:url(../img/flags/4x3/ly.svg)}.flag-icon-ly.flag-icon-squared{background-image:url(../img/flags/1x1/ly.svg)}.flag-icon-ma{background-image:url(../img/flags/4x3/ma.svg)}.flag-icon-ma.flag-icon-squared{background-image:url(../img/flags/1x1/ma.svg)}.flag-icon-mc{background-image:url(../img/flags/4x3/mc.svg)}.flag-icon-mc.flag-icon-squared{background-image:url(../img/flags/1x1/mc.svg)}.flag-icon-md{background-image:url(../img/flags/4x3/md.svg)}.flag-icon-md.flag-icon-squared{background-image:url(../img/flags/1x1/md.svg)}.flag-icon-me{background-image:url(../img/flags/4x3/me.svg)}.flag-icon-me.flag-icon-squared{background-image:url(../img/flags/1x1/me.svg)}.flag-icon-mf{background-image:url(../img/flags/4x3/mf.svg)}.flag-icon-mf.flag-icon-squared{background-image:url(../img/flags/1x1/mf.svg)}.flag-icon-mg{background-image:url(../img/flags/4x3/mg.svg)}.flag-icon-mg.flag-icon-squared{background-image:url(../img/flags/1x1/mg.svg)}.flag-icon-mh{background-image:url(../img/flags/4x3/mh.svg)}.flag-icon-mh.flag-icon-squared{background-image:url(../img/flags/1x1/mh.svg)}.flag-icon-mk{background-image:url(../img/flags/4x3/mk.svg)}.flag-icon-mk.flag-icon-squared{background-image:url(../img/flags/1x1/mk.svg)}.flag-icon-ml{background-image:url(../img/flags/4x3/ml.svg)}.flag-icon-ml.flag-icon-squared{background-image:url(../img/flags/1x1/ml.svg)}.flag-icon-mm{background-image:url(../img/flags/4x3/mm.svg)}.flag-icon-mm.flag-icon-squared{background-image:url(../img/flags/1x1/mm.svg)}.flag-icon-mn{background-image:url(../img/flags/4x3/mn.svg)}.flag-icon-mn.flag-icon-squared{background-image:url(../img/flags/1x1/mn.svg)}.flag-icon-mo{background-image:url(../img/flags/4x3/mo.svg)}.flag-icon-mo.flag-icon-squared{background-image:url(../img/flags/1x1/mo.svg)}.flag-icon-mp{background-image:url(../img/flags/4x3/mp.svg)}.flag-icon-mp.flag-icon-squared{background-image:url(../img/flags/1x1/mp.svg)}.flag-icon-mq{background-image:url(../img/flags/4x3/mq.svg)}.flag-icon-mq.flag-icon-squared{background-image:url(../img/flags/1x1/mq.svg)}.flag-icon-mr{background-image:url(../img/flags/4x3/mr.svg)}.flag-icon-mr.flag-icon-squared{background-image:url(../img/flags/1x1/mr.svg)}.flag-icon-ms{background-image:url(../img/flags/4x3/ms.svg)}.flag-icon-ms.flag-icon-squared{background-image:url(../img/flags/1x1/ms.svg)}.flag-icon-mt{background-image:url(../img/flags/4x3/mt.svg)}.flag-icon-mt.flag-icon-squared{background-image:url(../img/flags/1x1/mt.svg)}.flag-icon-mu{background-image:url(../img/flags/4x3/mu.svg)}.flag-icon-mu.flag-icon-squared{background-image:url(../img/flags/1x1/mu.svg)}.flag-icon-mv{background-image:url(../img/flags/4x3/mv.svg)}.flag-icon-mv.flag-icon-squared{background-image:url(../img/flags/1x1/mv.svg)}.flag-icon-mw{background-image:url(../img/flags/4x3/mw.svg)}.flag-icon-mw.flag-icon-squared{background-image:url(../img/flags/1x1/mw.svg)}.flag-icon-mx{background-image:url(../img/flags/4x3/mx.svg)}.flag-icon-mx.flag-icon-squared{background-image:url(../img/flags/1x1/mx.svg)}.flag-icon-my{background-image:url(../img/flags/4x3/my.svg)}.flag-icon-my.flag-icon-squared{background-image:url(../img/flags/1x1/my.svg)}.flag-icon-mz{background-image:url(../img/flags/4x3/mz.svg)}.flag-icon-mz.flag-icon-squared{background-image:url(../img/flags/1x1/mz.svg)}.flag-icon-na{background-image:url(../img/flags/4x3/na.svg)}.flag-icon-na.flag-icon-squared{background-image:url(../img/flags/1x1/na.svg)}.flag-icon-nc{background-image:url(../img/flags/4x3/nc.svg)}.flag-icon-nc.flag-icon-squared{background-image:url(../img/flags/1x1/nc.svg)}.flag-icon-ne{background-image:url(../img/flags/4x3/ne.svg)}.flag-icon-ne.flag-icon-squared{background-image:url(../img/flags/1x1/ne.svg)}.flag-icon-nf{background-image:url(../img/flags/4x3/nf.svg)}.flag-icon-nf.flag-icon-squared{background-image:url(../img/flags/1x1/nf.svg)}.flag-icon-ng{background-image:url(../img/flags/4x3/ng.svg)}.flag-icon-ng.flag-icon-squared{background-image:url(../img/flags/1x1/ng.svg)}.flag-icon-ni{background-image:url(../img/flags/4x3/ni.svg)}.flag-icon-ni.flag-icon-squared{background-image:url(../img/flags/1x1/ni.svg)}.flag-icon-nl{background-image:url(../img/flags/4x3/nl.svg)}.flag-icon-nl.flag-icon-squared{background-image:url(../img/flags/1x1/nl.svg)}.flag-icon-no{background-image:url(../img/flags/4x3/no.svg)}.flag-icon-no.flag-icon-squared{background-image:url(../img/flags/1x1/no.svg)}.flag-icon-np{background-image:url(../img/flags/4x3/np.svg)}.flag-icon-np.flag-icon-squared{background-image:url(../img/flags/1x1/np.svg)}.flag-icon-nr{background-image:url(../img/flags/4x3/nr.svg)}.flag-icon-nr.flag-icon-squared{background-image:url(../img/flags/1x1/nr.svg)}.flag-icon-nu{background-image:url(../img/flags/4x3/nu.svg)}.flag-icon-nu.flag-icon-squared{background-image:url(../img/flags/1x1/nu.svg)}.flag-icon-nz{background-image:url(../img/flags/4x3/nz.svg)}.flag-icon-nz.flag-icon-squared{background-image:url(../img/flags/1x1/nz.svg)}.flag-icon-om{background-image:url(../img/flags/4x3/om.svg)}.flag-icon-om.flag-icon-squared{background-image:url(../img/flags/1x1/om.svg)}.flag-icon-pa{background-image:url(../img/flags/4x3/pa.svg)}.flag-icon-pa.flag-icon-squared{background-image:url(../img/flags/1x1/pa.svg)}.flag-icon-pe{background-image:url(../img/flags/4x3/pe.svg)}.flag-icon-pe.flag-icon-squared{background-image:url(../img/flags/1x1/pe.svg)}.flag-icon-pf{background-image:url(../img/flags/4x3/pf.svg)}.flag-icon-pf.flag-icon-squared{background-image:url(../img/flags/1x1/pf.svg)}.flag-icon-pg{background-image:url(../img/flags/4x3/pg.svg)}.flag-icon-pg.flag-icon-squared{background-image:url(../img/flags/1x1/pg.svg)}.flag-icon-ph{background-image:url(../img/flags/4x3/ph.svg)}.flag-icon-ph.flag-icon-squared{background-image:url(../img/flags/1x1/ph.svg)}.flag-icon-pk{background-image:url(../img/flags/4x3/pk.svg)}.flag-icon-pk.flag-icon-squared{background-image:url(../img/flags/1x1/pk.svg)}.flag-icon-pl{background-image:url(../img/flags/4x3/pl.svg)}.flag-icon-pl.flag-icon-squared{background-image:url(../img/flags/1x1/pl.svg)}.flag-icon-pm{background-image:url(../img/flags/4x3/pm.svg)}.flag-icon-pm.flag-icon-squared{background-image:url(../img/flags/1x1/pm.svg)}.flag-icon-pn{background-image:url(../img/flags/4x3/pn.svg)}.flag-icon-pn.flag-icon-squared{background-image:url(../img/flags/1x1/pn.svg)}.flag-icon-pr{background-image:url(../img/flags/4x3/pr.svg)}.flag-icon-pr.flag-icon-squared{background-image:url(../img/flags/1x1/pr.svg)}.flag-icon-ps{background-image:url(../img/flags/4x3/ps.svg)}.flag-icon-ps.flag-icon-squared{background-image:url(../img/flags/1x1/ps.svg)}.flag-icon-pt{background-image:url(../img/flags/4x3/pt.svg)}.flag-icon-pt.flag-icon-squared{background-image:url(../img/flags/1x1/pt.svg)}.flag-icon-pw{background-image:url(../img/flags/4x3/pw.svg)}.flag-icon-pw.flag-icon-squared{background-image:url(../img/flags/1x1/pw.svg)}.flag-icon-py{background-image:url(../img/flags/4x3/py.svg)}.flag-icon-py.flag-icon-squared{background-image:url(../img/flags/1x1/py.svg)}.flag-icon-qa{background-image:url(../img/flags/4x3/qa.svg)}.flag-icon-qa.flag-icon-squared{background-image:url(../img/flags/1x1/qa.svg)}.flag-icon-re{background-image:url(../img/flags/4x3/re.svg)}.flag-icon-re.flag-icon-squared{background-image:url(../img/flags/1x1/re.svg)}.flag-icon-ro{background-image:url(../img/flags/4x3/ro.svg)}.flag-icon-ro.flag-icon-squared{background-image:url(../img/flags/1x1/ro.svg)}.flag-icon-rs{background-image:url(../img/flags/4x3/rs.svg)}.flag-icon-rs.flag-icon-squared{background-image:url(../img/flags/1x1/rs.svg)}.flag-icon-ru{background-image:url(../img/flags/4x3/ru.svg)}.flag-icon-ru.flag-icon-squared{background-image:url(../img/flags/1x1/ru.svg)}.flag-icon-rw{background-image:url(../img/flags/4x3/rw.svg)}.flag-icon-rw.flag-icon-squared{background-image:url(../img/flags/1x1/rw.svg)}.flag-icon-sa{background-image:url(../img/flags/4x3/sa.svg)}.flag-icon-sa.flag-icon-squared{background-image:url(../img/flags/1x1/sa.svg)}.flag-icon-sb{background-image:url(../img/flags/4x3/sb.svg)}.flag-icon-sb.flag-icon-squared{background-image:url(../img/flags/1x1/sb.svg)}.flag-icon-sc{background-image:url(../img/flags/4x3/sc.svg)}.flag-icon-sc.flag-icon-squared{background-image:url(../img/flags/1x1/sc.svg)}.flag-icon-sd{background-image:url(../img/flags/4x3/sd.svg)}.flag-icon-sd.flag-icon-squared{background-image:url(../img/flags/1x1/sd.svg)}.flag-icon-se{background-image:url(../img/flags/4x3/se.svg)}.flag-icon-se.flag-icon-squared{background-image:url(../img/flags/1x1/se.svg)}.flag-icon-sg{background-image:url(../img/flags/4x3/sg.svg)}.flag-icon-sg.flag-icon-squared{background-image:url(../img/flags/1x1/sg.svg)}.flag-icon-sh{background-image:url(../img/flags/4x3/sh.svg)}.flag-icon-sh.flag-icon-squared{background-image:url(../img/flags/1x1/sh.svg)}.flag-icon-si{background-image:url(../img/flags/4x3/si.svg)}.flag-icon-si.flag-icon-squared{background-image:url(../img/flags/1x1/si.svg)}.flag-icon-sj{background-image:url(../img/flags/4x3/sj.svg)}.flag-icon-sj.flag-icon-squared{background-image:url(../img/flags/1x1/sj.svg)}.flag-icon-sk{background-image:url(../img/flags/4x3/sk.svg)}.flag-icon-sk.flag-icon-squared{background-image:url(../img/flags/1x1/sk.svg)}.flag-icon-sl{background-image:url(../img/flags/4x3/sl.svg)}.flag-icon-sl.flag-icon-squared{background-image:url(../img/flags/1x1/sl.svg)}.flag-icon-sm{background-image:url(../img/flags/4x3/sm.svg)}.flag-icon-sm.flag-icon-squared{background-image:url(../img/flags/1x1/sm.svg)}.flag-icon-sn{background-image:url(../img/flags/4x3/sn.svg)}.flag-icon-sn.flag-icon-squared{background-image:url(../img/flags/1x1/sn.svg)}.flag-icon-so{background-image:url(../img/flags/4x3/so.svg)}.flag-icon-so.flag-icon-squared{background-image:url(../img/flags/1x1/so.svg)}.flag-icon-sr{background-image:url(../img/flags/4x3/sr.svg)}.flag-icon-sr.flag-icon-squared{background-image:url(../img/flags/1x1/sr.svg)}.flag-icon-ss{background-image:url(../img/flags/4x3/ss.svg)}.flag-icon-ss.flag-icon-squared{background-image:url(../img/flags/1x1/ss.svg)}.flag-icon-st{background-image:url(../img/flags/4x3/st.svg)}.flag-icon-st.flag-icon-squared{background-image:url(../img/flags/1x1/st.svg)}.flag-icon-sv{background-image:url(../img/flags/4x3/sv.svg)}.flag-icon-sv.flag-icon-squared{background-image:url(../img/flags/1x1/sv.svg)}.flag-icon-sx{background-image:url(../img/flags/4x3/sx.svg)}.flag-icon-sx.flag-icon-squared{background-image:url(../img/flags/1x1/sx.svg)}.flag-icon-sy{background-image:url(../img/flags/4x3/sy.svg)}.flag-icon-sy.flag-icon-squared{background-image:url(../img/flags/1x1/sy.svg)}.flag-icon-sz{background-image:url(../img/flags/4x3/sz.svg)}.flag-icon-sz.flag-icon-squared{background-image:url(../img/flags/1x1/sz.svg)}.flag-icon-tc{background-image:url(../img/flags/4x3/tc.svg)}.flag-icon-tc.flag-icon-squared{background-image:url(../img/flags/1x1/tc.svg)}.flag-icon-td{background-image:url(../img/flags/4x3/td.svg)}.flag-icon-td.flag-icon-squared{background-image:url(../img/flags/1x1/td.svg)}.flag-icon-tf{background-image:url(../img/flags/4x3/tf.svg)}.flag-icon-tf.flag-icon-squared{background-image:url(../img/flags/1x1/tf.svg)}.flag-icon-tg{background-image:url(../img/flags/4x3/tg.svg)}.flag-icon-tg.flag-icon-squared{background-image:url(../img/flags/1x1/tg.svg)}.flag-icon-th{background-image:url(../img/flags/4x3/th.svg)}.flag-icon-th.flag-icon-squared{background-image:url(../img/flags/1x1/th.svg)}.flag-icon-tj{background-image:url(../img/flags/4x3/tj.svg)}.flag-icon-tj.flag-icon-squared{background-image:url(../img/flags/1x1/tj.svg)}.flag-icon-tk{background-image:url(../img/flags/4x3/tk.svg)}.flag-icon-tk.flag-icon-squared{background-image:url(../img/flags/1x1/tk.svg)}.flag-icon-tl{background-image:url(../img/flags/4x3/tl.svg)}.flag-icon-tl.flag-icon-squared{background-image:url(../img/flags/1x1/tl.svg)}.flag-icon-tm{background-image:url(../img/flags/4x3/tm.svg)}.flag-icon-tm.flag-icon-squared{background-image:url(../img/flags/1x1/tm.svg)}.flag-icon-tn{background-image:url(../img/flags/4x3/tn.svg)}.flag-icon-tn.flag-icon-squared{background-image:url(../img/flags/1x1/tn.svg)}.flag-icon-to{background-image:url(../img/flags/4x3/to.svg)}.flag-icon-to.flag-icon-squared{background-image:url(../img/flags/1x1/to.svg)}.flag-icon-tr{background-image:url(../img/flags/4x3/tr.svg)}.flag-icon-tr.flag-icon-squared{background-image:url(../img/flags/1x1/tr.svg)}.flag-icon-tt{background-image:url(../img/flags/4x3/tt.svg)}.flag-icon-tt.flag-icon-squared{background-image:url(../img/flags/1x1/tt.svg)}.flag-icon-tv{background-image:url(../img/flags/4x3/tv.svg)}.flag-icon-tv.flag-icon-squared{background-image:url(../img/flags/1x1/tv.svg)}.flag-icon-tw{background-image:url(../img/flags/4x3/tw.svg)}.flag-icon-tw.flag-icon-squared{background-image:url(../img/flags/1x1/tw.svg)}.flag-icon-tz{background-image:url(../img/flags/4x3/tz.svg)}.flag-icon-tz.flag-icon-squared{background-image:url(../img/flags/1x1/tz.svg)}.flag-icon-ua{background-image:url(../img/flags/4x3/ua.svg)}.flag-icon-ua.flag-icon-squared{background-image:url(../img/flags/1x1/ua.svg)}.flag-icon-ug{background-image:url(../img/flags/4x3/ug.svg)}.flag-icon-ug.flag-icon-squared{background-image:url(../img/flags/1x1/ug.svg)}.flag-icon-um{background-image:url(../img/flags/4x3/um.svg)}.flag-icon-um.flag-icon-squared{background-image:url(../img/flags/1x1/um.svg)}.flag-icon-us{background-image:url(../img/flags/4x3/us.svg)}.flag-icon-us.flag-icon-squared{background-image:url(../img/flags/1x1/us.svg)}.flag-icon-uy{background-image:url(../img/flags/4x3/uy.svg)}.flag-icon-uy.flag-icon-squared{background-image:url(../img/flags/1x1/uy.svg)}.flag-icon-uz{background-image:url(../img/flags/4x3/uz.svg)}.flag-icon-uz.flag-icon-squared{background-image:url(../img/flags/1x1/uz.svg)}.flag-icon-va{background-image:url(../img/flags/4x3/va.svg)}.flag-icon-va.flag-icon-squared{background-image:url(../img/flags/1x1/va.svg)}.flag-icon-vc{background-image:url(../img/flags/4x3/vc.svg)}.flag-icon-vc.flag-icon-squared{background-image:url(../img/flags/1x1/vc.svg)}.flag-icon-ve{background-image:url(../img/flags/4x3/ve.svg)}.flag-icon-ve.flag-icon-squared{background-image:url(../img/flags/1x1/ve.svg)}.flag-icon-vg{background-image:url(../img/flags/4x3/vg.svg)}.flag-icon-vg.flag-icon-squared{background-image:url(../img/flags/1x1/vg.svg)}.flag-icon-vi{background-image:url(../img/flags/4x3/vi.svg)}.flag-icon-vi.flag-icon-squared{background-image:url(../img/flags/1x1/vi.svg)}.flag-icon-vn{background-image:url(../img/flags/4x3/vn.svg)}.flag-icon-vn.flag-icon-squared{background-image:url(../img/flags/1x1/vn.svg)}.flag-icon-vu{background-image:url(../img/flags/4x3/vu.svg)}.flag-icon-vu.flag-icon-squared{background-image:url(../img/flags/1x1/vu.svg)}.flag-icon-wf{background-image:url(../img/flags/4x3/wf.svg)}.flag-icon-wf.flag-icon-squared{background-image:url(../img/flags/1x1/wf.svg)}.flag-icon-ws{background-image:url(../img/flags/4x3/ws.svg)}.flag-icon-ws.flag-icon-squared{background-image:url(../img/flags/1x1/ws.svg)}.flag-icon-ye{background-image:url(../img/flags/4x3/ye.svg)}.flag-icon-ye.flag-icon-squared{background-image:url(../img/flags/1x1/ye.svg)}.flag-icon-yt{background-image:url(../img/flags/4x3/yt.svg)}.flag-icon-yt.flag-icon-squared{background-image:url(../img/flags/1x1/yt.svg)}.flag-icon-za{background-image:url(../img/flags/4x3/za.svg)}.flag-icon-za.flag-icon-squared{background-image:url(../img/flags/1x1/za.svg)}.flag-icon-zm{background-image:url(../img/flags/4x3/zm.svg)}.flag-icon-zm.flag-icon-squared{background-image:url(../img/flags/1x1/zm.svg)}.flag-icon-zw{background-image:url(../img/flags/4x3/zw.svg)}.flag-icon-zw.flag-icon-squared{background-image:url(../img/flags/1x1/zw.svg)}.flag-icon-eu{background-image:url(../img/flags/4x3/eu.svg)}.flag-icon-eu.flag-icon-squared{background-image:url(../img/flags/1x1/eu.svg)}.flag-icon-gb-eng{background-image:url(../img/flags/4x3/gb-eng.svg)}.flag-icon-gb-eng.flag-icon-squared{background-image:url(../img/flags/1x1/gb-eng.svg)}.flag-icon-gb-sct{background-image:url(../img/flags/4x3/gb-sct.svg)}.flag-icon-gb-sct.flag-icon-squared{background-image:url(../img/flags/1x1/gb-sct.svg)}.flag-icon-gb-wls{background-image:url(../img/flags/4x3/gb-wls.svg)}.flag-icon-gb-wls.flag-icon-squared{background-image:url(../img/flags/1x1/gb-wls.svg)}.flag-icon-un{background-image:url(../img/flags/4x3/un.svg)}.flag-icon-un.flag-icon-squared{background-image:url(../img/flags/1x1/un.svg)} \ No newline at end of file diff --git a/_sass/ptio-font.scss b/_sass/ptio-font.scss deleted file mode 100644 index 059f8285..00000000 --- a/_sass/ptio-font.scss +++ /dev/null @@ -1,56 +0,0 @@ -/* - Icon Font: ptio-font -*/ - -@font-face { - font-family: "ptio-font"; - src: url("../webfonts/ptio-font.eot"); - src: url("../webfonts/ptio-font.eot?#iefix") format("embedded-opentype"), - url("../webfonts/ptio-font.woff2") format("woff2"), - url("../webfonts/ptio-font.woff") format("woff"), - url("../webfonts/ptio-font.ttf") format("truetype"), - url("../webfonts/ptio-font.svg#ptio-font") format("svg"); - font-weight: normal; - font-style: normal; -} - -@media screen and (-webkit-min-device-pixel-ratio:0) { - @font-face { - font-family: "ptio-font"; - src: url("../webfonts/ptio-font.svg#ptio-font") format("svg"); - } -} - -[data-icon]:before { content: attr(data-icon); } - -[data-icon]:before, -.ptio-f-droid:before, -.ptio-ios:before, -.ptio-linux:before, -.ptio-macos:before, -.ptio-mix:before, -.ptio-netbsd:before, -.ptio-openbsd:before, -.ptio-sailfish-os:before { - display: inline-block; - font-family: "ptio-font"; - font-style: normal; - font-weight: normal; - font-variant: normal; - line-height: 1; - text-decoration: inherit; - text-rendering: optimizeLegibility; - text-transform: none; - -moz-osx-font-smoothing: grayscale; - -webkit-font-smoothing: antialiased; - font-smoothing: antialiased; -} - -.ptio-f-droid:before { content: "\f100"; } -.ptio-ios:before { content: "\f101"; } -.ptio-linux:before { content: "\f102"; } -.ptio-macos:before { content: "\f103"; } -.ptio-mix:before { content: "\f107"; } -.ptio-netbsd:before { content: "\f104"; } -.ptio-openbsd:before { content: "\f105"; } -.ptio-sailfish-os:before { content: "\f106"; } diff --git a/activist.py b/activist.py new file mode 100755 index 00000000..5d4fe4b7 --- /dev/null +++ b/activist.py @@ -0,0 +1,66 @@ +#!/usr/bin/env python3 +from sys import argv +from yaml import safe_load as yaml_safe_load + +""" +A tool to make working with localized sections easier. + +Inspired by Laravel's artisan. +""" + +class Activist: + def help(self): + print(""" +Available commands: + make:section name Creates all files needed for a new section. + """) + + def handle(self, args): + try: + command, *arguments = args + except: + self.help() + exit() + + self.run(command, arguments) + + def run(self, command, arguments): + commands = { + "make:section": self.make_section + } + + if command not in commands: + self.help() + exit("Wrong command.") + + commands[command](arguments) + + def make_section(self, arguments): + try: + name, *_ = arguments + except: + exit("Please supply a section name.") + + # create files + with open("_data/lang/%s.yml" % name, 'w') as f: + f.write("---\n") + f.write("en: &base\n title: Section Title\n\n") + with open(".activist.yml", "r") as config: + # get list of languages except "en" + for language in filter(lambda lang: lang != "en", yaml_safe_load(config.read())['languages']): + f.write("{0}:\n <<: *base\n # title: Section Title in {0}\n\n".format(language)) + f.write("---") + with open("_includes/content/%s.md" % name, 'w') as f: + f.write("{% include language %}\n\n") + print("""Add this line to index.html: + + {% include section name=\""""+ name + """\" %}""") + print("\nAnd don't forge to add the section to the navbar in _layouts/default.html!") + + +def main(args): + activist = Activist() + activist.handle(args) + +if __name__ == "__main__": + main(argv[1:]) diff --git a/assets/css/dark.scss b/assets/css/dark.scss deleted file mode 100644 index b4bd072e..00000000 --- a/assets/css/dark.scss +++ /dev/null @@ -1,192 +0,0 @@ ---- ---- -@import '_vars'; - -$dark-900: #181b21; -$dark-800: #22262e; -$dark-700: #343a46; -$dark-600: #464f60; -$light: #d8d8d8; -$primary: #345e8e; -$danger: #b63f4a; -$secondary: $dark-600; -$success: #2c7f40; -$warning: #c6a339; -$info: #218899; - - -/* - * HTML - */ - -body { - background: $dark-900; - color: $light; -} -a { - color: lighten($primary, 25%); -} -a:hover { - color: lighten($primary, 10%); -} -img { - filter: saturate(80%); -} - - -/* - * Bootstrap - */ - -.alert a { - color: lighten($primary, 30%); -} - -.bg-secondary, .btn-secondary, .badge-secondary { background-color: $secondary !important; } -.btn-secondary, .card-secondary .card-header { border-color: $secondary !important; } -.alert-secondary, .btn-secondary:hover { - color: $light; - background-color: darken($secondary, 10%); - border-color: darken($secondary, 10%); -} - -.bg-primary, .btn-primary, .badge-primary { background-color: $primary !important; } -.btn-primary, .card-primary .card-header { border-color: $primary !important; } -.text-primary { color: $primary !important; } -.alert-primary, .btn-primary:hover { - color: $light; - background-color: darken($primary, 10%); - border-color: darken($primary, 10%); -} - -.bg-warning, .btn-warning, .badge-warning { background-color: $warning !important; } -.btn-warning, .card-warning .card-header { border-color: $warning !important; } -.btn-warning:hover { color: $dark-700 !important } -.text-warning { color: $warning !important; } -.card-warning > .text-dark { color: $dark-900 !important; } -.alert-warning a { color: darken($primary, 6%); } -.badge-warning a { color: $primary; } -.alert-warning, .btn-warning:hover { - color: $dark-900; - background-color: darken($warning, 8%); - border-color: darken($warning, 8%); -} - -.bg-info, .btn-info, .badge-info { background-color: $info !important; } -.btn-info, .card-info .card-header { border-color: $info !important; } -.text-info { color: $info !important; } -.alert-info, .btn-info:hover { - color: $light; - background-color: darken($info, 10%); - border-color: darken($info, 10%); -} - -.bg-success, .btn-success, .badge-success { background-color: $success !important; } -.btn-success, .card-success .card-header { border-color: $success !important; } -.text-success { color: $success !important; } -.alert-success, .btn-success { - color: $light; - background-color: darken($success, 10%); - border-color: darken($success, 10%); -} - -.bg-danger, .btn-danger, .badge-danger { background-color: $danger !important; } -.btn-danger, .card-danger .card-header { border-color: $danger !important; } -.text-danger { color: $danger !important; } -.alert-danger, .btn-danger:hover { - color: $light; - background-color: darken($danger, 10%); - border-color: darken($danger, 10%); -} - -.card { - box-shadow: none !important; -} - -.dropdown-item:hover { - color: $light; - background-color: $dark-800; -} - -.form-control, -.form-control:focus { - color: $light; - background: $dark-800; - border-color: $dark-800; -} - -.form-control[readonly], -.form-control:disabled { - background: $dark-800; -} - -.card, -.jumbotron, -.list-group-item { - background: $dark-800; -} - -.blockquote { - border-color: $dark-800; -} - -.bg-dark { - background-color: $dark-800 !important; -} - -.dropdown-item { - color: $light; -} - -.list-group-item { - border-color: $dark-700; -} - -.text-dark { - color: $light !important; -} - -table[data-sortable].sortable-theme-bootstrap { - color: $light; - background-color: $dark-800; -} -table[data-sortable].sortable-theme-bootstrap th, -table[data-sortable].sortable-theme-bootstrap td { - border-color: $dark-600 !important; -} -table[data-sortable].sortable-theme-bootstrap th[data-sorted="true"] { - color: $light; - background: $dark-700; -} -table[data-sortable].sortable-theme-bootstrap th[data-sorted="true"][data-sorted-direction="ascending"]::after, { - border-bottom-color: $light; -} -table[data-sortable].sortable-theme-bootstrap th[data-sorted="true"][data-sorted-direction="descending"]::after { - border-top-color: $light; -} - - -/* - * Other - */ - -.nav-dropdown { - color: $light; - background-color: $dark-900; - border-color: $dark-800; -} - -.nav-theme-icon:before { - color: $warning; - font-size: 1em; - content: "\f185"; -} - -.twitter { background: desaturate($twitter, 25%); } -.mastodon { background: desaturate($mastodon, 25%); } -.facebook { background: desaturate($facebook, 25%); } -.mix { background: desaturate($mix, 25%); } -.reddit { background: desaturate($reddit, 25%); } -.linkedin { background: desaturate($linkedin, 25%); } -.email { background: desaturate($email, 25%); } -.diaspora { background: desaturate($diaspora, 25%); } diff --git a/assets/css/style.scss b/assets/css/style.scss index 8a8d4c63..5fd41179 100644 --- a/assets/css/style.scss +++ b/assets/css/style.scss @@ -5,16 +5,9 @@ @import 'bootstrap'; @import 'flag-icon'; @import 'fontawesome'; -@import 'ptio-font'; @import 'sortable-theme-bootstrap'; -body { - word-wrap: break-word; -} - -dt { - overflow-wrap: break-word; -} +/* BS4 */ .card { box-shadow: $card-shadow !important; @@ -39,25 +32,20 @@ a, } } +/*.card-primary, */ .card-primary { .card-header { border-color: $card-primary-border !important; } } +/*.card-warning, */ .card-warning { .card-header { border-color: $card-warning-border !important; } } -.card-list { - margin-top: 2em; - margin-bottom: 2em; - margin-left: 1em; - margin-right: 1em; -} - .blockquote { border-left: 5px solid $blockquote-border; font-size: 1.2rem; @@ -85,28 +73,13 @@ a, } } -.anchor, .page-header h1 { - margin-top: 3.5rem; - margin-bottom: 2rem; +.anchor { &:target { margin-top: -4rem; - padding-top: 7.5rem; + padding-top: 4rem; } } -h2, h3:not(.h5), h4, h5 { - margin-top: 1.5rem; - margin-bottom: 1rem; -} - -.h5 { - margin-bottom: 0rem; -} - -.header-404 { - font-size: 10rem; -} - .anchor-icon { font-size: .8em; } @@ -116,21 +89,6 @@ h2, h3:not(.h5), h4, h5 { margin-left: 5px; } -.panel-pic { - float: left; - margin-right: 15px; -} - -.panel-icon { - float: right; - margin: 15px; - font-size: 5.5em; -} - -.panel-font { - font-size: 120px; -} - .share-btn { border: 0; box-shadow: $share-btn-shadow; @@ -155,216 +113,12 @@ h2, h3:not(.h5), h4, h5 { } } -#top { - margin-bottom: 3rem !important; -} - .twitter { background: $twitter; } .mastodon { background: $mastodon; } .facebook { background: $facebook; } -.mix { background: $mix; } +.stumbleupon { background: $stumbleupon; } .reddit { background: $reddit; } .linkedin { background: $linkedin; } .email { background: $email; } .diaspora { background: $diaspora; } -.footer-divider { - margin-top: 3em; - margin-bottom: 3em; - border: none; - height: 1px; - background-color: #343A40; -} - -.copyright-text { - margin-top: 1em; - margin-bottom: 3em; - text-align: justify; -} - -.no-text-wrap { - white-space: nowrap; -} - -footer { - img, - i { - margin-right: 1rem; - } -} - -.hover-text-decoration-none:hover { - text-decoration: none; - -webkit-text-decoration-skip: object; -} - -.table td, .table th { - vertical-align: middle; -} - - -/* - * Navbar - */ - -#navbar { - margin-left: auto; - margin-right: auto; - max-width: 1140px; - padding: .75rem 3rem; - color: rgba(255,255,255,0.5); - -webkit-touch-callout: none; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; -} - -#navbar .menu { - position: relative; -} - -.menu { - display: flex; - justify-content: space-between; -} - -.nav-anchor { - display: inline; - color: inherit; -} - -.nav-anchor:hover { - text-decoration: none; -} - -.nav-anchor:hover, -.nav-summary:hover, -.nav-details[open] > summary > .nav-summary { - color: rgba(255,255,255,0.8); -} - -.nav-dropdown { - color: var(--dark); - background-color: var(--light); - padding: .5rem 0; - margin-top: .5rem; - position: absolute; - border: 1px solid #dee2e6; - border-radius: .25rem; - box-shadow: 0 .5rem 1rem rgba(0,0,0,.15); - z-index: 10; -} - -#nav-right > details > .nav-dropdown { - right: 0; -} - -.nav-details { - display: inline; - position: relative; -} - -.nav-details > summary { - list-style: none; -} -.nav-details > summary::-webkit-details-marker { - display: none; -} - -#nav-right > .nav-details, -#nav-right > .nav-anchor { - padding-left: 0.5rem; -} -#nav-left > .nav-details, -#nav-left > .nav-anchor { - padding-right: 0.5rem; -} - -input#nav-toggle, -#nav-toggle-label { - display: none; -} - -#nav-home-mobile { - display: none; -} - -#nav-switch-theme { - /* We will make it visible with JavaScript - * as it does not work without it */ - display: none; - cursor: pointer; -} - -/* - * Mobile hamburger menu - */ - -@media only screen and (max-width: 992px) { - .menu, - .nav-details, - .nav-anchor { - display: block; - } - .menu { - margin-top: 0.5rem; - } - #nav-home { - display: none; - } - #nav-home-mobile { - display: inline; - } - input#nav-toggle:checked ~ .menu { - display: none; - } - input#nav-toggle + label { - display: block; - cursor: pointer; - margin-top: 0.25rem; - float: right; - } - .nav-dropdown { - display: block; - position: relative; - max-height: 15.75em; - overflow-y: auto; - left: 0; - right: 0; - } - #nav-right > .nav-details, - #nav-right > .nav-anchor, - #nav-left > .nav-details, - #nav-left > .nav-anchor { - padding: 0 0; - } - #navbar { - padding: 1rem 3rem; - } -} - -@media only screen and (max-width: 768px) { - #navbar { - padding: 1rem 2rem; - } -} - -@media only screen and (max-width: 575px) { - #navbar { - padding: 1rem 1rem; - } -} - -@media only screen and (max-height: 350px) { - .nav-dropdown { - max-height: 8em; - } -} - -.nav-theme-icon:before { - color: var(--warning); - font-size: 0.875em; - content: "\f186"; -} diff --git a/assets/img/addons/Adblock-Edge.png b/assets/img/addons/Adblock-Edge.png new file mode 100644 index 00000000..9f3f8c41 Binary files /dev/null and b/assets/img/addons/Adblock-Edge.png differ diff --git a/assets/img/addons/Cookie-AutoDelete.png b/assets/img/addons/Cookie-AutoDelete.png new file mode 100644 index 00000000..acb5943b Binary files /dev/null and b/assets/img/addons/Cookie-AutoDelete.png differ diff --git a/assets/img/addons/Decentraleyes.png b/assets/img/addons/Decentraleyes.png new file mode 100644 index 00000000..8231dac7 Binary files /dev/null and b/assets/img/addons/Decentraleyes.png differ diff --git a/assets/img/addons/Disconnect.png b/assets/img/addons/Disconnect.png new file mode 100644 index 00000000..d625ff85 Binary files /dev/null and b/assets/img/addons/Disconnect.png differ diff --git a/assets/img/addons/HTTPS-Everywhere.png b/assets/img/addons/HTTPS-Everywhere.png new file mode 100644 index 00000000..8adf5570 Binary files /dev/null and b/assets/img/addons/HTTPS-Everywhere.png differ diff --git a/assets/img/addons/Lightbeam.png b/assets/img/addons/Lightbeam.png new file mode 100644 index 00000000..5dd11edf Binary files /dev/null and b/assets/img/addons/Lightbeam.png differ diff --git a/assets/img/addons/NoScript.png b/assets/img/addons/NoScript.png new file mode 100644 index 00000000..e89a8c7f Binary files /dev/null and b/assets/img/addons/NoScript.png differ diff --git a/assets/img/addons/Orbot.png b/assets/img/addons/Orbot.png deleted file mode 100644 index d694dbb7..00000000 Binary files a/assets/img/addons/Orbot.png and /dev/null differ diff --git a/assets/img/addons/Policeman.png b/assets/img/addons/Policeman.png new file mode 100644 index 00000000..9f6db7c5 Binary files /dev/null and b/assets/img/addons/Policeman.png differ diff --git a/assets/img/addons/Privacy-Badger.png b/assets/img/addons/Privacy-Badger.png new file mode 100644 index 00000000..913794a1 Binary files /dev/null and b/assets/img/addons/Privacy-Badger.png differ diff --git a/assets/img/addons/Random-Agent-Spoofer.png b/assets/img/addons/Random-Agent-Spoofer.png new file mode 100644 index 00000000..326ce393 Binary files /dev/null and b/assets/img/addons/Random-Agent-Spoofer.png differ diff --git a/assets/img/addons/Request-Policy.png b/assets/img/addons/Request-Policy.png new file mode 100644 index 00000000..89b1f9c8 Binary files /dev/null and b/assets/img/addons/Request-Policy.png differ diff --git a/assets/img/addons/Self-Destructing-Cookies.png b/assets/img/addons/Self-Destructing-Cookies.png new file mode 100644 index 00000000..029fc954 Binary files /dev/null and b/assets/img/addons/Self-Destructing-Cookies.png differ diff --git a/assets/img/addons/cookie-autodelete.png b/assets/img/addons/cookie-autodelete.png deleted file mode 100644 index 41578639..00000000 Binary files a/assets/img/addons/cookie-autodelete.png and /dev/null differ diff --git a/assets/img/addons/decentraleyes.png b/assets/img/addons/decentraleyes.png deleted file mode 100644 index c9262b5c..00000000 Binary files a/assets/img/addons/decentraleyes.png and /dev/null differ diff --git a/assets/img/addons/https-everywhere.png b/assets/img/addons/https-everywhere.png deleted file mode 100644 index c37257de..00000000 Binary files a/assets/img/addons/https-everywhere.png and /dev/null differ diff --git a/assets/img/addons/netguard.png b/assets/img/addons/netguard.png index f1c9f7ed..f1ff8b42 100644 Binary files a/assets/img/addons/netguard.png and b/assets/img/addons/netguard.png differ diff --git a/assets/img/addons/noscript.png b/assets/img/addons/noscript.png deleted file mode 100644 index 01492186..00000000 Binary files a/assets/img/addons/noscript.png and /dev/null differ diff --git a/assets/img/addons/privacy-badger.png b/assets/img/addons/privacy-badger.png deleted file mode 100644 index f203cdc5..00000000 Binary files a/assets/img/addons/privacy-badger.png and /dev/null differ diff --git a/assets/img/addons/snowflake.png b/assets/img/addons/snowflake.png deleted file mode 100644 index 74e9ff28..00000000 Binary files a/assets/img/addons/snowflake.png and /dev/null differ diff --git a/assets/img/addons/tosdr.png b/assets/img/addons/tosdr.png deleted file mode 100644 index 07e3b406..00000000 Binary files a/assets/img/addons/tosdr.png and /dev/null differ diff --git a/assets/img/addons/uBlock.png b/assets/img/addons/uBlock.png new file mode 100644 index 00000000..35e70f9c Binary files /dev/null and b/assets/img/addons/uBlock.png differ diff --git a/assets/img/addons/uMatrix.png b/assets/img/addons/uMatrix.png new file mode 100644 index 00000000..e406b75a Binary files /dev/null and b/assets/img/addons/uMatrix.png differ diff --git a/assets/img/addons/ublock-origin.png b/assets/img/addons/ublock-origin.png deleted file mode 100644 index 895906d4..00000000 Binary files a/assets/img/addons/ublock-origin.png and /dev/null differ diff --git a/assets/img/addons/umatrix.png b/assets/img/addons/umatrix.png deleted file mode 100644 index 8375c8e9..00000000 Binary files a/assets/img/addons/umatrix.png and /dev/null differ diff --git a/assets/img/addons/xprivacylua.png b/assets/img/addons/xprivacylua.png new file mode 100644 index 00000000..b611e5fe Binary files /dev/null and b/assets/img/addons/xprivacylua.png differ diff --git a/assets/img/favicons/android-chrome-144x144.png b/assets/img/favicons/android-chrome-144x144.png index 89ee8da7..fa1794da 100644 Binary files a/assets/img/favicons/android-chrome-144x144.png and b/assets/img/favicons/android-chrome-144x144.png differ diff --git a/assets/img/favicons/android-chrome-36x36.png b/assets/img/favicons/android-chrome-36x36.png index 0258a373..d568997d 100644 Binary files a/assets/img/favicons/android-chrome-36x36.png and b/assets/img/favicons/android-chrome-36x36.png differ diff --git a/assets/img/favicons/android-chrome-48x48.png b/assets/img/favicons/android-chrome-48x48.png index 9472839e..9aba5e5c 100644 Binary files a/assets/img/favicons/android-chrome-48x48.png and b/assets/img/favicons/android-chrome-48x48.png differ diff --git a/assets/img/favicons/android-chrome-72x72.png b/assets/img/favicons/android-chrome-72x72.png index b9aba7c1..445dd4b3 100644 Binary files a/assets/img/favicons/android-chrome-72x72.png and b/assets/img/favicons/android-chrome-72x72.png differ diff --git a/assets/img/favicons/android-chrome-96x96.png b/assets/img/favicons/android-chrome-96x96.png index 30ec0aa2..97b2104c 100644 Binary files a/assets/img/favicons/android-chrome-96x96.png and b/assets/img/favicons/android-chrome-96x96.png differ diff --git a/assets/img/favicons/apple-touch-icon-120x120.png b/assets/img/favicons/apple-touch-icon-120x120.png index 25d91626..11d105ac 100644 Binary files a/assets/img/favicons/apple-touch-icon-120x120.png and b/assets/img/favicons/apple-touch-icon-120x120.png differ diff --git a/assets/img/favicons/apple-touch-icon-144x144.png b/assets/img/favicons/apple-touch-icon-144x144.png index 3a2b4f53..5870270a 100644 Binary files a/assets/img/favicons/apple-touch-icon-144x144.png and b/assets/img/favicons/apple-touch-icon-144x144.png differ diff --git a/assets/img/favicons/apple-touch-icon-57x57.png b/assets/img/favicons/apple-touch-icon-57x57.png index b5d02c09..cde87edc 100644 Binary files a/assets/img/favicons/apple-touch-icon-57x57.png and b/assets/img/favicons/apple-touch-icon-57x57.png differ diff --git a/assets/img/favicons/apple-touch-icon-60x60.png b/assets/img/favicons/apple-touch-icon-60x60.png index effda685..b187b4cd 100644 Binary files a/assets/img/favicons/apple-touch-icon-60x60.png and b/assets/img/favicons/apple-touch-icon-60x60.png differ diff --git a/assets/img/favicons/favicon-32x32.png b/assets/img/favicons/favicon-32x32.png index ac47b360..358e2a07 100644 Binary files a/assets/img/favicons/favicon-32x32.png and b/assets/img/favicons/favicon-32x32.png differ diff --git a/assets/img/favicons/favicon-96x96.png b/assets/img/favicons/favicon-96x96.png index 30ec0aa2..97b2104c 100644 Binary files a/assets/img/favicons/favicon-96x96.png and b/assets/img/favicons/favicon-96x96.png differ diff --git a/assets/img/favicons/mstile-144x144.png b/assets/img/favicons/mstile-144x144.png index 89ee8da7..fa1794da 100644 Binary files a/assets/img/favicons/mstile-144x144.png and b/assets/img/favicons/mstile-144x144.png differ diff --git a/assets/img/favicons/mstile-70x70.png b/assets/img/favicons/mstile-70x70.png index 36a2caa9..862e0b22 100644 Binary files a/assets/img/favicons/mstile-70x70.png and b/assets/img/favicons/mstile-70x70.png differ diff --git a/assets/img/flags/# copy svg files in the 4x3 folder if you want to use them b/assets/img/flags/# copy svg files in the 4x3 folder if you want to use them new file mode 100644 index 00000000..e69de29b diff --git a/assets/img/flags/4x3/ag.svg b/assets/img/flags/4x3/ag.svg new file mode 100755 index 00000000..05bf052f --- /dev/null +++ b/assets/img/flags/4x3/ag.svg @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + diff --git a/assets/img/flags/au.svg b/assets/img/flags/4x3/au.svg old mode 100644 new mode 100755 similarity index 100% rename from assets/img/flags/au.svg rename to assets/img/flags/4x3/au.svg diff --git a/assets/img/flags/be.svg b/assets/img/flags/4x3/be.svg old mode 100644 new mode 100755 similarity index 100% rename from assets/img/flags/be.svg rename to assets/img/flags/4x3/be.svg diff --git a/assets/img/flags/bg.svg b/assets/img/flags/4x3/bg.svg old mode 100644 new mode 100755 similarity index 100% rename from assets/img/flags/bg.svg rename to assets/img/flags/4x3/bg.svg diff --git a/assets/img/flags/ca.svg b/assets/img/flags/4x3/ca.svg old mode 100644 new mode 100755 similarity index 100% rename from assets/img/flags/ca.svg rename to assets/img/flags/4x3/ca.svg diff --git a/assets/img/flags/ch.svg b/assets/img/flags/4x3/ch.svg old mode 100644 new mode 100755 similarity index 100% rename from assets/img/flags/ch.svg rename to assets/img/flags/4x3/ch.svg diff --git a/assets/img/flags/cn.svg b/assets/img/flags/4x3/cn.svg old mode 100644 new mode 100755 similarity index 100% rename from assets/img/flags/cn.svg rename to assets/img/flags/4x3/cn.svg diff --git a/assets/img/flags/cy.svg b/assets/img/flags/4x3/cy.svg old mode 100644 new mode 100755 similarity index 100% rename from assets/img/flags/cy.svg rename to assets/img/flags/4x3/cy.svg diff --git a/assets/img/flags/cz.svg b/assets/img/flags/4x3/cz.svg old mode 100644 new mode 100755 similarity index 100% rename from assets/img/flags/cz.svg rename to assets/img/flags/4x3/cz.svg diff --git a/assets/img/flags/de.svg b/assets/img/flags/4x3/de.svg old mode 100644 new mode 100755 similarity index 100% rename from assets/img/flags/de.svg rename to assets/img/flags/4x3/de.svg diff --git a/assets/img/flags/dk.svg b/assets/img/flags/4x3/dk.svg old mode 100644 new mode 100755 similarity index 100% rename from assets/img/flags/dk.svg rename to assets/img/flags/4x3/dk.svg diff --git a/assets/img/flags/es.svg b/assets/img/flags/4x3/es.svg old mode 100644 new mode 100755 similarity index 100% rename from assets/img/flags/es.svg rename to assets/img/flags/4x3/es.svg diff --git a/assets/img/flags/4x3/fi.svg b/assets/img/flags/4x3/fi.svg new file mode 100755 index 00000000..4100a4d0 --- /dev/null +++ b/assets/img/flags/4x3/fi.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/assets/img/flags/fr.svg b/assets/img/flags/4x3/fr.svg old mode 100644 new mode 100755 similarity index 100% rename from assets/img/flags/fr.svg rename to assets/img/flags/4x3/fr.svg diff --git a/assets/img/flags/gb.svg b/assets/img/flags/4x3/gb.svg old mode 100644 new mode 100755 similarity index 100% rename from assets/img/flags/gb.svg rename to assets/img/flags/4x3/gb.svg diff --git a/assets/img/flags/gi.svg b/assets/img/flags/4x3/gi.svg old mode 100644 new mode 100755 similarity index 100% rename from assets/img/flags/gi.svg rename to assets/img/flags/4x3/gi.svg diff --git a/assets/img/flags/hk.svg b/assets/img/flags/4x3/hk.svg old mode 100644 new mode 100755 similarity index 100% rename from assets/img/flags/hk.svg rename to assets/img/flags/4x3/hk.svg diff --git a/assets/img/flags/ie.svg b/assets/img/flags/4x3/ie.svg similarity index 100% rename from assets/img/flags/ie.svg rename to assets/img/flags/4x3/ie.svg diff --git a/assets/img/flags/4x3/in.svg b/assets/img/flags/4x3/in.svg new file mode 100755 index 00000000..97ca2b93 --- /dev/null +++ b/assets/img/flags/4x3/in.svg @@ -0,0 +1,25 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/assets/img/flags/is.svg b/assets/img/flags/4x3/is.svg old mode 100644 new mode 100755 similarity index 100% rename from assets/img/flags/is.svg rename to assets/img/flags/4x3/is.svg diff --git a/assets/img/flags/it.svg b/assets/img/flags/4x3/it.svg old mode 100644 new mode 100755 similarity index 100% rename from assets/img/flags/it.svg rename to assets/img/flags/4x3/it.svg diff --git a/assets/img/flags/my.svg b/assets/img/flags/4x3/my.svg old mode 100644 new mode 100755 similarity index 100% rename from assets/img/flags/my.svg rename to assets/img/flags/4x3/my.svg diff --git a/assets/img/flags/nl.svg b/assets/img/flags/4x3/nl.svg old mode 100644 new mode 100755 similarity index 100% rename from assets/img/flags/nl.svg rename to assets/img/flags/4x3/nl.svg diff --git a/assets/img/flags/no.svg b/assets/img/flags/4x3/no.svg old mode 100644 new mode 100755 similarity index 100% rename from assets/img/flags/no.svg rename to assets/img/flags/4x3/no.svg diff --git a/assets/img/flags/nz.svg b/assets/img/flags/4x3/nz.svg old mode 100644 new mode 100755 similarity index 100% rename from assets/img/flags/nz.svg rename to assets/img/flags/4x3/nz.svg diff --git a/assets/img/flags/pa.svg b/assets/img/flags/4x3/pa.svg old mode 100644 new mode 100755 similarity index 100% rename from assets/img/flags/pa.svg rename to assets/img/flags/4x3/pa.svg diff --git a/assets/img/flags/4x3/pl.svg b/assets/img/flags/4x3/pl.svg new file mode 100755 index 00000000..2350e5c6 --- /dev/null +++ b/assets/img/flags/4x3/pl.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/assets/img/flags/ro.svg b/assets/img/flags/4x3/ro.svg old mode 100644 new mode 100755 similarity index 100% rename from assets/img/flags/ro.svg rename to assets/img/flags/4x3/ro.svg diff --git a/assets/img/flags/4x3/ru.svg b/assets/img/flags/4x3/ru.svg new file mode 100644 index 00000000..38d8fa49 --- /dev/null +++ b/assets/img/flags/4x3/ru.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/assets/img/flags/sc.svg b/assets/img/flags/4x3/sc.svg old mode 100644 new mode 100755 similarity index 100% rename from assets/img/flags/sc.svg rename to assets/img/flags/4x3/sc.svg diff --git a/assets/img/flags/se.svg b/assets/img/flags/4x3/se.svg old mode 100644 new mode 100755 similarity index 100% rename from assets/img/flags/se.svg rename to assets/img/flags/4x3/se.svg diff --git a/assets/img/flags/4x3/tw.svg b/assets/img/flags/4x3/tw.svg new file mode 100644 index 00000000..3ac618e5 --- /dev/null +++ b/assets/img/flags/4x3/tw.svg @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + diff --git a/assets/img/flags/us.svg b/assets/img/flags/4x3/us.svg old mode 100644 new mode 100755 similarity index 100% rename from assets/img/flags/us.svg rename to assets/img/flags/4x3/us.svg diff --git a/assets/img/flags/4x3/vg.svg b/assets/img/flags/4x3/vg.svg new file mode 100755 index 00000000..7995fe97 --- /dev/null +++ b/assets/img/flags/4x3/vg.svg @@ -0,0 +1,143 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/assets/img/flags/4x3/za.svg b/assets/img/flags/4x3/za.svg new file mode 100755 index 00000000..29cd9935 --- /dev/null +++ b/assets/img/flags/4x3/za.svg @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + + + diff --git a/assets/img/flags/ad.svg b/assets/img/flags/ad.svg old mode 100644 new mode 100755 diff --git a/assets/img/flags/ae.svg b/assets/img/flags/ae.svg old mode 100644 new mode 100755 diff --git a/assets/img/flags/af.svg b/assets/img/flags/af.svg old mode 100644 new mode 100755 diff --git a/assets/img/flags/ag.svg b/assets/img/flags/ag.svg old mode 100644 new mode 100755 diff --git a/assets/img/flags/ai.svg b/assets/img/flags/ai.svg old mode 100644 new mode 100755 diff --git a/assets/img/flags/al.svg b/assets/img/flags/al.svg old mode 100644 new mode 100755 diff --git a/assets/img/flags/am.svg b/assets/img/flags/am.svg old mode 100644 new mode 100755 diff --git a/assets/img/flags/ao.svg b/assets/img/flags/ao.svg old mode 100644 new mode 100755 diff --git a/assets/img/flags/aq.svg b/assets/img/flags/aq.svg old mode 100644 new mode 100755 diff --git a/assets/img/flags/ar.svg b/assets/img/flags/ar.svg old mode 100644 new mode 100755 diff --git a/assets/img/flags/as.svg b/assets/img/flags/as.svg old mode 100644 new mode 100755 diff --git a/assets/img/flags/at.svg b/assets/img/flags/at.svg old mode 100644 new mode 100755 diff --git a/assets/img/flags/aw.svg b/assets/img/flags/aw.svg old mode 100644 new mode 100755 diff --git a/assets/img/flags/ax.svg b/assets/img/flags/ax.svg old mode 100644 new mode 100755 diff --git a/assets/img/flags/az.svg b/assets/img/flags/az.svg old mode 100644 new mode 100755 diff --git a/assets/img/flags/ba.svg b/assets/img/flags/ba.svg old mode 100644 new mode 100755 diff --git a/assets/img/flags/bb.svg b/assets/img/flags/bb.svg old mode 100644 new mode 100755 diff --git a/assets/img/flags/bd.svg b/assets/img/flags/bd.svg old mode 100644 new mode 100755 diff --git a/assets/img/flags/bf.svg b/assets/img/flags/bf.svg old mode 100644 new mode 100755 diff --git a/assets/img/flags/bh.svg b/assets/img/flags/bh.svg old mode 100644 new mode 100755 diff --git a/assets/img/flags/bi.svg b/assets/img/flags/bi.svg old mode 100644 new mode 100755 diff --git a/assets/img/flags/bj.svg b/assets/img/flags/bj.svg old mode 100644 new mode 100755 diff --git a/assets/img/flags/bl.svg b/assets/img/flags/bl.svg old mode 100644 new mode 100755 diff --git a/assets/img/flags/bm.svg b/assets/img/flags/bm.svg old mode 100644 new mode 100755 diff --git a/assets/img/flags/bn.svg b/assets/img/flags/bn.svg old mode 100644 new mode 100755 diff --git a/assets/img/flags/bo.svg b/assets/img/flags/bo.svg old mode 100644 new mode 100755 diff --git a/assets/img/flags/bq.svg b/assets/img/flags/bq.svg old mode 100644 new mode 100755 diff --git a/assets/img/flags/br.svg b/assets/img/flags/br.svg old mode 100644 new mode 100755 diff --git a/assets/img/flags/bs.svg b/assets/img/flags/bs.svg old mode 100644 new mode 100755 diff --git a/assets/img/flags/bt.svg b/assets/img/flags/bt.svg old mode 100644 new mode 100755 diff --git a/assets/img/flags/bv.svg b/assets/img/flags/bv.svg old mode 100644 new mode 100755 diff --git a/assets/img/flags/bw.svg b/assets/img/flags/bw.svg old mode 100644 new mode 100755 diff --git a/assets/img/flags/by.svg b/assets/img/flags/by.svg old mode 100644 new mode 100755 diff --git a/assets/img/flags/bz.svg b/assets/img/flags/bz.svg old mode 100644 new mode 100755 diff --git a/assets/img/flags/cc.svg b/assets/img/flags/cc.svg old mode 100644 new mode 100755 diff --git a/assets/img/flags/cd.svg b/assets/img/flags/cd.svg old mode 100644 new mode 100755 diff --git a/assets/img/flags/cf.svg b/assets/img/flags/cf.svg old mode 100644 new mode 100755 diff --git a/assets/img/flags/cg.svg b/assets/img/flags/cg.svg old mode 100644 new mode 100755 diff --git a/assets/img/flags/ci.svg b/assets/img/flags/ci.svg old mode 100644 new mode 100755 diff --git a/assets/img/flags/ck.svg b/assets/img/flags/ck.svg old mode 100644 new mode 100755 diff --git a/assets/img/flags/cl.svg b/assets/img/flags/cl.svg old mode 100644 new mode 100755 diff --git a/assets/img/flags/cm.svg b/assets/img/flags/cm.svg old mode 100644 new mode 100755 diff --git a/assets/img/flags/co.svg b/assets/img/flags/co.svg old mode 100644 new mode 100755 diff --git a/assets/img/flags/cr.svg b/assets/img/flags/cr.svg old mode 100644 new mode 100755 diff --git a/assets/img/flags/cu.svg b/assets/img/flags/cu.svg old mode 100644 new mode 100755 diff --git a/assets/img/flags/cv.svg b/assets/img/flags/cv.svg old mode 100644 new mode 100755 diff --git a/assets/img/flags/cw.svg b/assets/img/flags/cw.svg old mode 100644 new mode 100755 diff --git a/assets/img/flags/cx.svg b/assets/img/flags/cx.svg old mode 100644 new mode 100755 diff --git a/assets/img/flags/dj.svg b/assets/img/flags/dj.svg old mode 100644 new mode 100755 diff --git a/assets/img/flags/dm.svg b/assets/img/flags/dm.svg old mode 100644 new mode 100755 diff --git a/assets/img/flags/do.svg b/assets/img/flags/do.svg old mode 100644 new mode 100755 diff --git a/assets/img/flags/dz.svg b/assets/img/flags/dz.svg old mode 100644 new mode 100755 diff --git a/assets/img/flags/ec.svg b/assets/img/flags/ec.svg old mode 100644 new mode 100755 diff --git a/assets/img/flags/ee.svg b/assets/img/flags/ee.svg old mode 100644 new mode 100755 diff --git a/assets/img/flags/eg.svg b/assets/img/flags/eg.svg old mode 100644 new mode 100755 diff --git a/assets/img/flags/eh.svg b/assets/img/flags/eh.svg old mode 100644 new mode 100755 diff --git a/assets/img/flags/er.svg b/assets/img/flags/er.svg old mode 100644 new mode 100755 diff --git a/assets/img/flags/et.svg b/assets/img/flags/et.svg old mode 100644 new mode 100755 diff --git a/assets/img/flags/eu.svg b/assets/img/flags/eu.svg old mode 100644 new mode 100755 diff --git a/assets/img/flags/fi.svg b/assets/img/flags/fi.svg old mode 100644 new mode 100755 diff --git a/assets/img/flags/fj.svg b/assets/img/flags/fj.svg old mode 100644 new mode 100755 diff --git a/assets/img/flags/fk.svg b/assets/img/flags/fk.svg old mode 100644 new mode 100755 diff --git a/assets/img/flags/fm.svg b/assets/img/flags/fm.svg old mode 100644 new mode 100755 diff --git a/assets/img/flags/fo.svg b/assets/img/flags/fo.svg old mode 100644 new mode 100755 diff --git a/assets/img/flags/ga.svg b/assets/img/flags/ga.svg old mode 100644 new mode 100755 diff --git a/assets/img/flags/gb-eng.svg b/assets/img/flags/gb-eng.svg old mode 100644 new mode 100755 diff --git a/assets/img/flags/gb-sct.svg b/assets/img/flags/gb-sct.svg old mode 100644 new mode 100755 diff --git a/assets/img/flags/gb-wls.svg b/assets/img/flags/gb-wls.svg old mode 100644 new mode 100755 diff --git a/assets/img/flags/gd.svg b/assets/img/flags/gd.svg old mode 100644 new mode 100755 diff --git a/assets/img/flags/ge.svg b/assets/img/flags/ge.svg old mode 100644 new mode 100755 diff --git a/assets/img/flags/gf.svg b/assets/img/flags/gf.svg old mode 100644 new mode 100755 diff --git a/assets/img/flags/gg.svg b/assets/img/flags/gg.svg old mode 100644 new mode 100755 diff --git a/assets/img/flags/gh.svg b/assets/img/flags/gh.svg old mode 100644 new mode 100755 diff --git a/assets/img/flags/gl.svg b/assets/img/flags/gl.svg old mode 100644 new mode 100755 diff --git a/assets/img/flags/gm.svg b/assets/img/flags/gm.svg old mode 100644 new mode 100755 diff --git a/assets/img/flags/gn.svg b/assets/img/flags/gn.svg old mode 100644 new mode 100755 diff --git a/assets/img/flags/gp.svg b/assets/img/flags/gp.svg old mode 100644 new mode 100755 diff --git a/assets/img/flags/gq.svg b/assets/img/flags/gq.svg old mode 100644 new mode 100755 diff --git a/assets/img/flags/gr.svg b/assets/img/flags/gr.svg old mode 100644 new mode 100755 diff --git a/assets/img/flags/gs.svg b/assets/img/flags/gs.svg old mode 100644 new mode 100755 diff --git a/assets/img/flags/gt.svg b/assets/img/flags/gt.svg old mode 100644 new mode 100755 diff --git a/assets/img/flags/gu.svg b/assets/img/flags/gu.svg old mode 100644 new mode 100755 diff --git a/assets/img/flags/gw.svg b/assets/img/flags/gw.svg old mode 100644 new mode 100755 diff --git a/assets/img/flags/gy.svg b/assets/img/flags/gy.svg old mode 100644 new mode 100755 diff --git a/assets/img/flags/hm.svg b/assets/img/flags/hm.svg old mode 100644 new mode 100755 diff --git a/assets/img/flags/hn.svg b/assets/img/flags/hn.svg old mode 100644 new mode 100755 diff --git a/assets/img/flags/hr.svg b/assets/img/flags/hr.svg old mode 100644 new mode 100755 diff --git a/assets/img/flags/ht.svg b/assets/img/flags/ht.svg old mode 100644 new mode 100755 diff --git a/assets/img/flags/hu.svg b/assets/img/flags/hu.svg old mode 100644 new mode 100755 diff --git a/assets/img/flags/id.svg b/assets/img/flags/id.svg old mode 100644 new mode 100755 diff --git a/assets/img/flags/il.svg b/assets/img/flags/il.svg old mode 100644 new mode 100755 diff --git a/assets/img/flags/im.svg b/assets/img/flags/im.svg old mode 100644 new mode 100755 diff --git a/assets/img/flags/in.svg b/assets/img/flags/in.svg old mode 100644 new mode 100755 diff --git a/assets/img/flags/io.svg b/assets/img/flags/io.svg old mode 100644 new mode 100755 diff --git a/assets/img/flags/iq.svg b/assets/img/flags/iq.svg old mode 100644 new mode 100755 diff --git a/assets/img/flags/ir.svg b/assets/img/flags/ir.svg old mode 100644 new mode 100755 diff --git a/assets/img/flags/je.svg b/assets/img/flags/je.svg old mode 100644 new mode 100755 diff --git a/assets/img/flags/jm.svg b/assets/img/flags/jm.svg old mode 100644 new mode 100755 diff --git a/assets/img/flags/jo.svg b/assets/img/flags/jo.svg old mode 100644 new mode 100755 diff --git a/assets/img/flags/jp.svg b/assets/img/flags/jp.svg old mode 100644 new mode 100755 diff --git a/assets/img/flags/ke.svg b/assets/img/flags/ke.svg old mode 100644 new mode 100755 diff --git a/assets/img/flags/kg.svg b/assets/img/flags/kg.svg old mode 100644 new mode 100755 diff --git a/assets/img/flags/kh.svg b/assets/img/flags/kh.svg old mode 100644 new mode 100755 diff --git a/assets/img/flags/ki.svg b/assets/img/flags/ki.svg old mode 100644 new mode 100755 diff --git a/assets/img/flags/km.svg b/assets/img/flags/km.svg old mode 100644 new mode 100755 diff --git a/assets/img/flags/kn.svg b/assets/img/flags/kn.svg old mode 100644 new mode 100755 diff --git a/assets/img/flags/kp.svg b/assets/img/flags/kp.svg old mode 100644 new mode 100755 diff --git a/assets/img/flags/kr.svg b/assets/img/flags/kr.svg old mode 100644 new mode 100755 diff --git a/assets/img/flags/kw.svg b/assets/img/flags/kw.svg old mode 100644 new mode 100755 diff --git a/assets/img/flags/ky.svg b/assets/img/flags/ky.svg old mode 100644 new mode 100755 diff --git a/assets/img/flags/kz.svg b/assets/img/flags/kz.svg old mode 100644 new mode 100755 diff --git a/assets/img/flags/la.svg b/assets/img/flags/la.svg old mode 100644 new mode 100755 diff --git a/assets/img/flags/lb.svg b/assets/img/flags/lb.svg old mode 100644 new mode 100755 diff --git a/assets/img/flags/lc.svg b/assets/img/flags/lc.svg old mode 100644 new mode 100755 diff --git a/assets/img/flags/li.svg b/assets/img/flags/li.svg old mode 100644 new mode 100755 diff --git a/assets/img/flags/lk.svg b/assets/img/flags/lk.svg old mode 100644 new mode 100755 diff --git a/assets/img/flags/lr.svg b/assets/img/flags/lr.svg old mode 100644 new mode 100755 diff --git a/assets/img/flags/ls.svg b/assets/img/flags/ls.svg old mode 100644 new mode 100755 diff --git a/assets/img/flags/lt.svg b/assets/img/flags/lt.svg old mode 100644 new mode 100755 diff --git a/assets/img/flags/lu.svg b/assets/img/flags/lu.svg old mode 100644 new mode 100755 diff --git a/assets/img/flags/lv.svg b/assets/img/flags/lv.svg old mode 100644 new mode 100755 diff --git a/assets/img/flags/ly.svg b/assets/img/flags/ly.svg old mode 100644 new mode 100755 diff --git a/assets/img/flags/ma.svg b/assets/img/flags/ma.svg old mode 100644 new mode 100755 diff --git a/assets/img/flags/mc.svg b/assets/img/flags/mc.svg old mode 100644 new mode 100755 diff --git a/assets/img/flags/md.svg b/assets/img/flags/md.svg old mode 100644 new mode 100755 diff --git a/assets/img/flags/me.svg b/assets/img/flags/me.svg old mode 100644 new mode 100755 diff --git a/assets/img/flags/mf.svg b/assets/img/flags/mf.svg old mode 100644 new mode 100755 diff --git a/assets/img/flags/mg.svg b/assets/img/flags/mg.svg old mode 100644 new mode 100755 diff --git a/assets/img/flags/mh.svg b/assets/img/flags/mh.svg old mode 100644 new mode 100755 diff --git a/assets/img/flags/mk.svg b/assets/img/flags/mk.svg old mode 100644 new mode 100755 diff --git a/assets/img/flags/ml.svg b/assets/img/flags/ml.svg old mode 100644 new mode 100755 diff --git a/assets/img/flags/mm.svg b/assets/img/flags/mm.svg old mode 100644 new mode 100755 diff --git a/assets/img/flags/mn.svg b/assets/img/flags/mn.svg old mode 100644 new mode 100755 diff --git a/assets/img/flags/mo.svg b/assets/img/flags/mo.svg old mode 100644 new mode 100755 diff --git a/assets/img/flags/mp.svg b/assets/img/flags/mp.svg old mode 100644 new mode 100755 diff --git a/assets/img/flags/mq.svg b/assets/img/flags/mq.svg old mode 100644 new mode 100755 diff --git a/assets/img/flags/mr.svg b/assets/img/flags/mr.svg old mode 100644 new mode 100755 diff --git a/assets/img/flags/ms.svg b/assets/img/flags/ms.svg old mode 100644 new mode 100755 diff --git a/assets/img/flags/mt.svg b/assets/img/flags/mt.svg old mode 100644 new mode 100755 diff --git a/assets/img/flags/mu.svg b/assets/img/flags/mu.svg old mode 100644 new mode 100755 diff --git a/assets/img/flags/mv.svg b/assets/img/flags/mv.svg old mode 100644 new mode 100755 diff --git a/assets/img/flags/mw.svg b/assets/img/flags/mw.svg old mode 100644 new mode 100755 diff --git a/assets/img/flags/mx.svg b/assets/img/flags/mx.svg old mode 100644 new mode 100755 diff --git a/assets/img/flags/mz.svg b/assets/img/flags/mz.svg old mode 100644 new mode 100755 diff --git a/assets/img/flags/na.svg b/assets/img/flags/na.svg old mode 100644 new mode 100755 diff --git a/assets/img/flags/nc.svg b/assets/img/flags/nc.svg old mode 100644 new mode 100755 diff --git a/assets/img/flags/ne.svg b/assets/img/flags/ne.svg old mode 100644 new mode 100755 diff --git a/assets/img/flags/nf.svg b/assets/img/flags/nf.svg old mode 100644 new mode 100755 diff --git a/assets/img/flags/ng.svg b/assets/img/flags/ng.svg old mode 100644 new mode 100755 diff --git a/assets/img/flags/ni.svg b/assets/img/flags/ni.svg old mode 100644 new mode 100755 diff --git a/assets/img/flags/np.svg b/assets/img/flags/np.svg old mode 100644 new mode 100755 diff --git a/assets/img/flags/nr.svg b/assets/img/flags/nr.svg old mode 100644 new mode 100755 diff --git a/assets/img/flags/nu.svg b/assets/img/flags/nu.svg old mode 100644 new mode 100755 diff --git a/assets/img/flags/om.svg b/assets/img/flags/om.svg old mode 100644 new mode 100755 diff --git a/assets/img/flags/pe.svg b/assets/img/flags/pe.svg old mode 100644 new mode 100755 diff --git a/assets/img/flags/pf.svg b/assets/img/flags/pf.svg old mode 100644 new mode 100755 diff --git a/assets/img/flags/pg.svg b/assets/img/flags/pg.svg old mode 100644 new mode 100755 diff --git a/assets/img/flags/ph.svg b/assets/img/flags/ph.svg old mode 100644 new mode 100755 diff --git a/assets/img/flags/pk.svg b/assets/img/flags/pk.svg old mode 100644 new mode 100755 diff --git a/assets/img/flags/pl.svg b/assets/img/flags/pl.svg old mode 100644 new mode 100755 diff --git a/assets/img/flags/pm.svg b/assets/img/flags/pm.svg old mode 100644 new mode 100755 diff --git a/assets/img/flags/pn.svg b/assets/img/flags/pn.svg old mode 100644 new mode 100755 diff --git a/assets/img/flags/pr.svg b/assets/img/flags/pr.svg old mode 100644 new mode 100755 diff --git a/assets/img/flags/ps.svg b/assets/img/flags/ps.svg old mode 100644 new mode 100755 diff --git a/assets/img/flags/pt.svg b/assets/img/flags/pt.svg old mode 100644 new mode 100755 diff --git a/assets/img/flags/pw.svg b/assets/img/flags/pw.svg old mode 100644 new mode 100755 diff --git a/assets/img/flags/py.svg b/assets/img/flags/py.svg old mode 100644 new mode 100755 diff --git a/assets/img/flags/qa.svg b/assets/img/flags/qa.svg old mode 100644 new mode 100755 diff --git a/assets/img/flags/re.svg b/assets/img/flags/re.svg old mode 100644 new mode 100755 diff --git a/assets/img/flags/rs.svg b/assets/img/flags/rs.svg old mode 100644 new mode 100755 diff --git a/assets/img/flags/ru.svg b/assets/img/flags/ru.svg old mode 100644 new mode 100755 diff --git a/assets/img/flags/rw.svg b/assets/img/flags/rw.svg old mode 100644 new mode 100755 diff --git a/assets/img/flags/sa.svg b/assets/img/flags/sa.svg old mode 100644 new mode 100755 diff --git a/assets/img/flags/sb.svg b/assets/img/flags/sb.svg old mode 100644 new mode 100755 diff --git a/assets/img/flags/sd.svg b/assets/img/flags/sd.svg old mode 100644 new mode 100755 diff --git a/assets/img/flags/sg.svg b/assets/img/flags/sg.svg old mode 100644 new mode 100755 diff --git a/assets/img/flags/sh.svg b/assets/img/flags/sh.svg old mode 100644 new mode 100755 diff --git a/assets/img/flags/si.svg b/assets/img/flags/si.svg old mode 100644 new mode 100755 diff --git a/assets/img/flags/sj.svg b/assets/img/flags/sj.svg old mode 100644 new mode 100755 diff --git a/assets/img/flags/sk.svg b/assets/img/flags/sk.svg old mode 100644 new mode 100755 diff --git a/assets/img/flags/sl.svg b/assets/img/flags/sl.svg old mode 100644 new mode 100755 diff --git a/assets/img/flags/sm.svg b/assets/img/flags/sm.svg old mode 100644 new mode 100755 diff --git a/assets/img/flags/sn.svg b/assets/img/flags/sn.svg old mode 100644 new mode 100755 diff --git a/assets/img/flags/so.svg b/assets/img/flags/so.svg old mode 100644 new mode 100755 diff --git a/assets/img/flags/sr.svg b/assets/img/flags/sr.svg old mode 100644 new mode 100755 diff --git a/assets/img/flags/ss.svg b/assets/img/flags/ss.svg old mode 100644 new mode 100755 diff --git a/assets/img/flags/st.svg b/assets/img/flags/st.svg old mode 100644 new mode 100755 diff --git a/assets/img/flags/sv.svg b/assets/img/flags/sv.svg old mode 100644 new mode 100755 diff --git a/assets/img/flags/sx.svg b/assets/img/flags/sx.svg old mode 100644 new mode 100755 diff --git a/assets/img/flags/sy.svg b/assets/img/flags/sy.svg old mode 100644 new mode 100755 diff --git a/assets/img/flags/sz.svg b/assets/img/flags/sz.svg old mode 100644 new mode 100755 diff --git a/assets/img/flags/tc.svg b/assets/img/flags/tc.svg old mode 100644 new mode 100755 diff --git a/assets/img/flags/td.svg b/assets/img/flags/td.svg old mode 100644 new mode 100755 diff --git a/assets/img/flags/tf.svg b/assets/img/flags/tf.svg old mode 100644 new mode 100755 diff --git a/assets/img/flags/tg.svg b/assets/img/flags/tg.svg old mode 100644 new mode 100755 diff --git a/assets/img/flags/th.svg b/assets/img/flags/th.svg old mode 100644 new mode 100755 diff --git a/assets/img/flags/tj.svg b/assets/img/flags/tj.svg old mode 100644 new mode 100755 diff --git a/assets/img/flags/tk.svg b/assets/img/flags/tk.svg old mode 100644 new mode 100755 diff --git a/assets/img/flags/tl.svg b/assets/img/flags/tl.svg old mode 100644 new mode 100755 diff --git a/assets/img/flags/tm.svg b/assets/img/flags/tm.svg old mode 100644 new mode 100755 diff --git a/assets/img/flags/tn.svg b/assets/img/flags/tn.svg old mode 100644 new mode 100755 diff --git a/assets/img/flags/to.svg b/assets/img/flags/to.svg old mode 100644 new mode 100755 diff --git a/assets/img/flags/tr.svg b/assets/img/flags/tr.svg old mode 100644 new mode 100755 diff --git a/assets/img/flags/tt.svg b/assets/img/flags/tt.svg old mode 100644 new mode 100755 diff --git a/assets/img/flags/tv.svg b/assets/img/flags/tv.svg old mode 100644 new mode 100755 diff --git a/assets/img/flags/tw.svg b/assets/img/flags/tw.svg old mode 100644 new mode 100755 diff --git a/assets/img/flags/tz.svg b/assets/img/flags/tz.svg old mode 100644 new mode 100755 diff --git a/assets/img/flags/ua.svg b/assets/img/flags/ua.svg old mode 100644 new mode 100755 diff --git a/assets/img/flags/ug.svg b/assets/img/flags/ug.svg old mode 100644 new mode 100755 diff --git a/assets/img/flags/um.svg b/assets/img/flags/um.svg old mode 100644 new mode 100755 diff --git a/assets/img/flags/un.svg b/assets/img/flags/un.svg old mode 100644 new mode 100755 diff --git a/assets/img/flags/uy.svg b/assets/img/flags/uy.svg old mode 100644 new mode 100755 diff --git a/assets/img/flags/uz.svg b/assets/img/flags/uz.svg old mode 100644 new mode 100755 diff --git a/assets/img/flags/va.svg b/assets/img/flags/va.svg old mode 100644 new mode 100755 diff --git a/assets/img/flags/vc.svg b/assets/img/flags/vc.svg old mode 100644 new mode 100755 diff --git a/assets/img/flags/ve.svg b/assets/img/flags/ve.svg old mode 100644 new mode 100755 diff --git a/assets/img/flags/vg.svg b/assets/img/flags/vg.svg old mode 100644 new mode 100755 diff --git a/assets/img/flags/vi.svg b/assets/img/flags/vi.svg old mode 100644 new mode 100755 diff --git a/assets/img/flags/vn.svg b/assets/img/flags/vn.svg old mode 100644 new mode 100755 diff --git a/assets/img/flags/vu.svg b/assets/img/flags/vu.svg old mode 100644 new mode 100755 diff --git a/assets/img/flags/wf.svg b/assets/img/flags/wf.svg old mode 100644 new mode 100755 diff --git a/assets/img/flags/ws.svg b/assets/img/flags/ws.svg old mode 100644 new mode 100755 diff --git a/assets/img/flags/ye.svg b/assets/img/flags/ye.svg old mode 100644 new mode 100755 diff --git a/assets/img/flags/yt.svg b/assets/img/flags/yt.svg old mode 100644 new mode 100755 diff --git a/assets/img/flags/za.svg b/assets/img/flags/za.svg old mode 100644 new mode 100755 diff --git a/assets/img/flags/zm.svg b/assets/img/flags/zm.svg old mode 100644 new mode 100755 diff --git a/assets/img/flags/zw.svg b/assets/img/flags/zw.svg old mode 100644 new mode 100755 diff --git a/assets/img/flags/zz.svg b/assets/img/flags/zz.svg old mode 100644 new mode 100755 diff --git a/assets/img/icons/discourse.png b/assets/img/icons/discourse.png deleted file mode 100644 index 2b17c4ab..00000000 Binary files a/assets/img/icons/discourse.png and /dev/null differ diff --git a/assets/img/icons/github.png b/assets/img/icons/github.png index cb6fa293..d3dd81b6 100644 Binary files a/assets/img/icons/github.png and b/assets/img/icons/github.png differ diff --git a/assets/img/icons/mastodon.png b/assets/img/icons/mastodon.png deleted file mode 100644 index 099dfd98..00000000 Binary files a/assets/img/icons/mastodon.png and /dev/null differ diff --git a/assets/img/icons/reddit.png b/assets/img/icons/reddit.png new file mode 100644 index 00000000..2ed72b80 Binary files /dev/null and b/assets/img/icons/reddit.png differ diff --git a/assets/img/icons/twitter.png b/assets/img/icons/twitter.png new file mode 100644 index 00000000..86692417 Binary files /dev/null and b/assets/img/icons/twitter.png differ diff --git a/assets/img/layout/Bitcoin.png b/assets/img/layout/Bitcoin.png index 4b219af3..d7bc1411 100644 Binary files a/assets/img/layout/Bitcoin.png and b/assets/img/layout/Bitcoin.png differ diff --git a/assets/img/layout/Glenn-Greenwald-Why-privacy-matters.jpg b/assets/img/layout/Glenn-Greenwald-Why-privacy-matters.jpg index 1eb6a303..9862c2f3 100644 Binary files a/assets/img/layout/Glenn-Greenwald-Why-privacy-matters.jpg and b/assets/img/layout/Glenn-Greenwald-Why-privacy-matters.jpg differ diff --git a/assets/img/layout/PayPal.png b/assets/img/layout/PayPal.png index c2a0e7c4..fa1b4370 100644 Binary files a/assets/img/layout/PayPal.png and b/assets/img/layout/PayPal.png differ diff --git a/assets/img/layout/UKUSA.png b/assets/img/layout/UKUSA.png index 8d50f442..fc611042 100644 Binary files a/assets/img/layout/UKUSA.png and b/assets/img/layout/UKUSA.png differ diff --git a/assets/img/layout/USA.png b/assets/img/layout/USA.png index 3ed0c235..34b6ef9b 100644 Binary files a/assets/img/layout/USA.png and b/assets/img/layout/USA.png differ diff --git a/assets/img/layout/Windows-10-Privacy.jpg b/assets/img/layout/Windows-10-Privacy.jpg new file mode 100644 index 00000000..72f7697a Binary files /dev/null and b/assets/img/layout/Windows-10-Privacy.jpg differ diff --git a/assets/img/layout/Windows-10-Privacy.png b/assets/img/layout/Windows-10-Privacy.png deleted file mode 100644 index 410d083d..00000000 Binary files a/assets/img/layout/Windows-10-Privacy.png and /dev/null differ diff --git a/assets/img/layout/browser-fingerprint.jpg b/assets/img/layout/browser-fingerprint.jpg new file mode 100644 index 00000000..94486773 Binary files /dev/null and b/assets/img/layout/browser-fingerprint.jpg differ diff --git a/assets/img/layout/creativecommons.png b/assets/img/layout/creativecommons.png index e485f3ef..1aa7b7f7 100644 Binary files a/assets/img/layout/creativecommons.png and b/assets/img/layout/creativecommons.png differ diff --git a/assets/img/layout/git.png b/assets/img/layout/git.png deleted file mode 100644 index 34463594..00000000 Binary files a/assets/img/layout/git.png and /dev/null differ diff --git a/assets/img/layout/kopimi.png b/assets/img/layout/kopimi.png new file mode 100644 index 00000000..8416416f Binary files /dev/null and b/assets/img/layout/kopimi.png differ diff --git a/assets/img/layout/logo.png b/assets/img/layout/logo.png index 4a5c00c2..00d2874b 100644 Binary files a/assets/img/layout/logo.png and b/assets/img/layout/logo.png differ diff --git a/assets/img/layout/logo_smaller.png b/assets/img/layout/logo_smaller.png index 9a0472df..eae05e59 100644 Binary files a/assets/img/layout/logo_smaller.png and b/assets/img/layout/logo_smaller.png differ diff --git a/assets/img/layout/ogimage.jpg b/assets/img/layout/ogimage.jpg index 363cebac..9eee4c52 100644 Binary files a/assets/img/layout/ogimage.jpg and b/assets/img/layout/ogimage.jpg differ diff --git a/assets/img/layout/privatesearch.png b/assets/img/layout/privatesearch.png index 87aa9316..27348781 100644 Binary files a/assets/img/layout/privatesearch.png and b/assets/img/layout/privatesearch.png differ diff --git a/assets/img/layout/qr.png b/assets/img/layout/qr.png index f664dd02..02b8d27d 100644 Binary files a/assets/img/layout/qr.png and b/assets/img/layout/qr.png differ diff --git a/assets/img/layout/reddit-logo.png b/assets/img/layout/reddit-logo.png index 46b9fea1..d4f9760e 100644 Binary files a/assets/img/layout/reddit-logo.png and b/assets/img/layout/reddit-logo.png differ diff --git a/assets/img/layout/shield.svg b/assets/img/layout/shield.svg deleted file mode 100644 index 8c6a4f6f..00000000 --- a/assets/img/layout/shield.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/assets/img/layout/tor.png b/assets/img/layout/tor.png index 95a698a3..2372d1f6 100644 Binary files a/assets/img/layout/tor.png and b/assets/img/layout/tor.png differ diff --git a/assets/img/layout/warrant-canary.jpg b/assets/img/layout/warrant-canary.jpg index 91a77750..3e437e5e 100644 Binary files a/assets/img/layout/warrant-canary.jpg and b/assets/img/layout/warrant-canary.jpg differ diff --git a/assets/img/layout/wtfpl.png b/assets/img/layout/wtfpl.png new file mode 100644 index 00000000..cb9150de Binary files /dev/null and b/assets/img/layout/wtfpl.png differ diff --git a/assets/img/layout/www.png b/assets/img/layout/www.png index ba318b3a..dcd65111 100644 Binary files a/assets/img/layout/www.png and b/assets/img/layout/www.png differ diff --git a/assets/img/layout/zero.png b/assets/img/layout/zero.png deleted file mode 100644 index d9679ef1..00000000 Binary files a/assets/img/layout/zero.png and /dev/null differ diff --git a/assets/img/misc/bitcoin-surveillance.jpg b/assets/img/misc/bitcoin-surveillance.jpg new file mode 100644 index 00000000..6fe105ca Binary files /dev/null and b/assets/img/misc/bitcoin-surveillance.jpg differ diff --git a/assets/img/misc/email.png b/assets/img/misc/email.png index 54963ab6..c98eaf7d 100644 Binary files a/assets/img/misc/email.png and b/assets/img/misc/email.png differ diff --git a/assets/img/misc/smile.png b/assets/img/misc/smile.png new file mode 100644 index 00000000..b59dd2cb Binary files /dev/null and b/assets/img/misc/smile.png differ diff --git a/assets/img/provider/AirVPN.png b/assets/img/provider/AirVPN.png new file mode 100644 index 00000000..d2d3b6a6 Binary files /dev/null and b/assets/img/provider/AirVPN.png differ diff --git a/assets/img/provider/AnonymousSpeech.png b/assets/img/provider/AnonymousSpeech.png new file mode 100644 index 00000000..f7dd7382 Binary files /dev/null and b/assets/img/provider/AnonymousSpeech.png differ diff --git a/assets/img/provider/Astrill.png b/assets/img/provider/Astrill.png new file mode 100644 index 00000000..e9586f61 Binary files /dev/null and b/assets/img/provider/Astrill.png differ diff --git a/assets/img/provider/AzireVPN.png b/assets/img/provider/AzireVPN.png new file mode 100644 index 00000000..c63aefd7 Binary files /dev/null and b/assets/img/provider/AzireVPN.png differ diff --git a/assets/img/provider/CounterMail.png b/assets/img/provider/CounterMail.png new file mode 100644 index 00000000..ca43de50 Binary files /dev/null and b/assets/img/provider/CounterMail.png differ diff --git a/assets/img/provider/CryptPad.png b/assets/img/provider/CryptPad.png deleted file mode 100644 index faf8a942..00000000 Binary files a/assets/img/provider/CryptPad.png and /dev/null differ diff --git a/assets/img/provider/CryptoHeaven.png b/assets/img/provider/CryptoHeaven.png new file mode 100644 index 00000000..6aef4cd3 Binary files /dev/null and b/assets/img/provider/CryptoHeaven.png differ diff --git a/assets/img/provider/Cryptostorm.png b/assets/img/provider/Cryptostorm.png new file mode 100644 index 00000000..72ef9879 Binary files /dev/null and b/assets/img/provider/Cryptostorm.png differ diff --git a/assets/img/provider/CyberGhost.png b/assets/img/provider/CyberGhost.png new file mode 100644 index 00000000..e42ab360 Binary files /dev/null and b/assets/img/provider/CyberGhost.png differ diff --git a/assets/img/provider/Disconnect-Search.jpg b/assets/img/provider/Disconnect-Search.jpg new file mode 100644 index 00000000..27edfdb8 Binary files /dev/null and b/assets/img/provider/Disconnect-Search.jpg differ diff --git a/assets/img/provider/Doublehop.me.png b/assets/img/provider/Doublehop.me.png new file mode 100644 index 00000000..f2cbb34e Binary files /dev/null and b/assets/img/provider/Doublehop.me.png differ diff --git a/assets/img/provider/DuckDuckGo.jpg b/assets/img/provider/DuckDuckGo.jpg new file mode 100644 index 00000000..7ed97d35 Binary files /dev/null and b/assets/img/provider/DuckDuckGo.jpg differ diff --git a/assets/img/provider/DuckDuckGo.png b/assets/img/provider/DuckDuckGo.png deleted file mode 100644 index 9e396811..00000000 Binary files a/assets/img/provider/DuckDuckGo.png and /dev/null differ diff --git a/assets/img/provider/ETHICmail.png b/assets/img/provider/ETHICmail.png new file mode 100644 index 00000000..91a30f7b Binary files /dev/null and b/assets/img/provider/ETHICmail.png differ diff --git a/assets/img/provider/EarthVPN.png b/assets/img/provider/EarthVPN.png new file mode 100644 index 00000000..e74c040b Binary files /dev/null and b/assets/img/provider/EarthVPN.png differ diff --git a/assets/img/provider/ExpressVPN.png b/assets/img/provider/ExpressVPN.png new file mode 100644 index 00000000..11254fc2 Binary files /dev/null and b/assets/img/provider/ExpressVPN.png differ diff --git a/assets/img/provider/FrootVPN.png b/assets/img/provider/FrootVPN.png new file mode 100644 index 00000000..f9e34812 Binary files /dev/null and b/assets/img/provider/FrootVPN.png differ diff --git a/assets/img/provider/IPredator.png b/assets/img/provider/IPredator.png index b57a40f6..1c19dfa9 100644 Binary files a/assets/img/provider/IPredator.png and b/assets/img/provider/IPredator.png differ diff --git a/assets/img/provider/IVPN.png b/assets/img/provider/IVPN.png index 67d356a1..07ead1e8 100644 Binary files a/assets/img/provider/IVPN.png and b/assets/img/provider/IVPN.png differ diff --git a/assets/img/provider/Kolab-Now.png b/assets/img/provider/Kolab-Now.png index 26fe5e87..86ea17bc 100644 Binary files a/assets/img/provider/Kolab-Now.png and b/assets/img/provider/Kolab-Now.png differ diff --git a/assets/img/provider/Mail-in-a-Box.png b/assets/img/provider/Mail-in-a-Box.png index bb8fd917..8b455ada 100644 Binary files a/assets/img/provider/Mail-in-a-Box.png and b/assets/img/provider/Mail-in-a-Box.png differ diff --git a/assets/img/provider/Mailfence.png b/assets/img/provider/Mailfence.png index ebbd1879..8b4163af 100644 Binary files a/assets/img/provider/Mailfence.png and b/assets/img/provider/Mailfence.png differ diff --git a/assets/img/provider/Mullvad.png b/assets/img/provider/Mullvad.png index 211158f0..6bbb1536 100644 Binary files a/assets/img/provider/Mullvad.png and b/assets/img/provider/Mullvad.png differ diff --git a/assets/img/provider/Muonium.jpg b/assets/img/provider/Muonium.jpg new file mode 100644 index 00000000..0514d7ae Binary files /dev/null and b/assets/img/provider/Muonium.jpg differ diff --git a/assets/img/provider/Neomailbox.png b/assets/img/provider/Neomailbox.png index 662c36b0..6f97caf3 100644 Binary files a/assets/img/provider/Neomailbox.png and b/assets/img/provider/Neomailbox.png differ diff --git a/assets/img/provider/Nextcloud.png b/assets/img/provider/Nextcloud.png index 8e07c3e2..f98a26de 100644 Binary files a/assets/img/provider/Nextcloud.png and b/assets/img/provider/Nextcloud.png differ diff --git a/assets/img/provider/Njalla.png b/assets/img/provider/Njalla.png index a04454cd..bfd35fff 100644 Binary files a/assets/img/provider/Njalla.png and b/assets/img/provider/Njalla.png differ diff --git a/assets/img/provider/NordVPN.png b/assets/img/provider/NordVPN.png new file mode 100644 index 00000000..7a3f6a2b Binary files /dev/null and b/assets/img/provider/NordVPN.png differ diff --git a/assets/img/provider/OVPN.png b/assets/img/provider/OVPN.png new file mode 100644 index 00000000..9145982d Binary files /dev/null and b/assets/img/provider/OVPN.png differ diff --git a/assets/img/provider/OpenMailBox.png b/assets/img/provider/OpenMailBox.png new file mode 100644 index 00000000..58a71028 Binary files /dev/null and b/assets/img/provider/OpenMailBox.png differ diff --git a/assets/img/provider/Perfect-Privacy.png b/assets/img/provider/Perfect-Privacy.png new file mode 100644 index 00000000..784bcf40 Binary files /dev/null and b/assets/img/provider/Perfect-Privacy.png differ diff --git a/assets/img/provider/Posteo.png b/assets/img/provider/Posteo.png index 83757b96..0abda0bb 100644 Binary files a/assets/img/provider/Posteo.png and b/assets/img/provider/Posteo.png differ diff --git a/assets/img/provider/Privatoria.png b/assets/img/provider/Privatoria.png new file mode 100644 index 00000000..05842d72 Binary files /dev/null and b/assets/img/provider/Privatoria.png differ diff --git a/assets/img/provider/ProtonMail.ch.png b/assets/img/provider/ProtonMail.ch.png index c36b3363..924418b7 100644 Binary files a/assets/img/provider/ProtonMail.ch.png and b/assets/img/provider/ProtonMail.ch.png differ diff --git a/assets/img/provider/ProtonVPN.png b/assets/img/provider/ProtonVPN.png index 2a65104c..677b4027 100644 Binary files a/assets/img/provider/ProtonVPN.png and b/assets/img/provider/ProtonVPN.png differ diff --git a/assets/img/provider/Proxy.sh.png b/assets/img/provider/Proxy.sh.png new file mode 100644 index 00000000..37ee777c Binary files /dev/null and b/assets/img/provider/Proxy.sh.png differ diff --git a/assets/img/provider/Qwant.png b/assets/img/provider/Qwant.png index c7253510..6ced7a5b 100644 Binary files a/assets/img/provider/Qwant.png and b/assets/img/provider/Qwant.png differ diff --git a/assets/img/provider/RuggedInbox.png b/assets/img/provider/RuggedInbox.png new file mode 100644 index 00000000..20194e42 Binary files /dev/null and b/assets/img/provider/RuggedInbox.png differ diff --git a/assets/img/provider/S4.jpg b/assets/img/provider/S4.jpg new file mode 100644 index 00000000..7b1003d6 Binary files /dev/null and b/assets/img/provider/S4.jpg differ diff --git a/assets/img/provider/Soverin.png b/assets/img/provider/Soverin.png deleted file mode 100644 index 8c54f8dc..00000000 Binary files a/assets/img/provider/Soverin.png and /dev/null differ diff --git a/assets/img/provider/StartMail.png b/assets/img/provider/StartMail.png index cf03655d..ee98dd5c 100644 Binary files a/assets/img/provider/StartMail.png and b/assets/img/provider/StartMail.png differ diff --git a/assets/img/provider/StartPage.png b/assets/img/provider/StartPage.png index f0a7f7bb..672e6aec 100644 Binary files a/assets/img/provider/StartPage.png and b/assets/img/provider/StartPage.png differ diff --git a/assets/img/provider/Trust.Zone.png b/assets/img/provider/Trust.Zone.png new file mode 100644 index 00000000..10ab9bf6 Binary files /dev/null and b/assets/img/provider/Trust.Zone.png differ diff --git a/assets/img/provider/Tutanota.png b/assets/img/provider/Tutanota.png index e019d0ae..fa8feccc 100644 Binary files a/assets/img/provider/Tutanota.png and b/assets/img/provider/Tutanota.png differ diff --git a/assets/img/provider/VPN.ht.png b/assets/img/provider/VPN.ht.png new file mode 100644 index 00000000..12885d5c Binary files /dev/null and b/assets/img/provider/VPN.ht.png differ diff --git a/assets/img/provider/VPNTunnel.png b/assets/img/provider/VPNTunnel.png new file mode 100644 index 00000000..69985710 Binary files /dev/null and b/assets/img/provider/VPNTunnel.png differ diff --git a/assets/img/provider/Whiteout-Mail.png b/assets/img/provider/Whiteout-Mail.png new file mode 100644 index 00000000..b0124d4b Binary files /dev/null and b/assets/img/provider/Whiteout-Mail.png differ diff --git a/assets/img/provider/autistici.png b/assets/img/provider/autistici.png new file mode 100644 index 00000000..ffeaf426 Binary files /dev/null and b/assets/img/provider/autistici.png differ diff --git a/assets/img/provider/bahnhof.png b/assets/img/provider/bahnhof.png deleted file mode 100644 index 65693ce9..00000000 Binary files a/assets/img/provider/bahnhof.png and /dev/null differ diff --git a/assets/img/provider/blackVPN.png b/assets/img/provider/blackVPN.png new file mode 100644 index 00000000..e902b78c Binary files /dev/null and b/assets/img/provider/blackVPN.png differ diff --git a/assets/img/provider/datacell.png b/assets/img/provider/datacell.png deleted file mode 100644 index b595eeb5..00000000 Binary files a/assets/img/provider/datacell.png and /dev/null differ diff --git a/assets/img/provider/disroot.org.png b/assets/img/provider/disroot.org.png index b12a66e6..31099d7e 100644 Binary files a/assets/img/provider/disroot.org.png and b/assets/img/provider/disroot.org.png differ diff --git a/assets/img/provider/etesync.png b/assets/img/provider/etesync.png index ba771054..4bf192a3 100644 Binary files a/assets/img/provider/etesync.png and b/assets/img/provider/etesync.png differ diff --git a/assets/img/provider/gnu-social.png b/assets/img/provider/gnu-social.png deleted file mode 100644 index 6338e3b0..00000000 Binary files a/assets/img/provider/gnu-social.png and /dev/null differ diff --git a/assets/img/provider/hide.me.png b/assets/img/provider/hide.me.png new file mode 100644 index 00000000..1c95f481 Binary files /dev/null and b/assets/img/provider/hide.me.png differ diff --git a/assets/img/provider/mailbox.org.png b/assets/img/provider/mailbox.org.png index b3197636..dd37749b 100644 Binary files a/assets/img/provider/mailbox.org.png and b/assets/img/provider/mailbox.org.png differ diff --git a/assets/img/provider/orange_hosting.png b/assets/img/provider/orange_hosting.png deleted file mode 100644 index beb6fba5..00000000 Binary files a/assets/img/provider/orange_hosting.png and /dev/null differ diff --git a/assets/img/provider/ownCloud.jpg b/assets/img/provider/ownCloud.jpg new file mode 100644 index 00000000..be60002e Binary files /dev/null and b/assets/img/provider/ownCloud.jpg differ diff --git a/assets/img/provider/ownCloud.png b/assets/img/provider/ownCloud.png new file mode 100644 index 00000000..07b8a0cd Binary files /dev/null and b/assets/img/provider/ownCloud.png differ diff --git a/assets/img/provider/pixelfed.png b/assets/img/provider/pixelfed.png deleted file mode 100644 index 070c6729..00000000 Binary files a/assets/img/provider/pixelfed.png and /dev/null differ diff --git a/assets/img/provider/runbox.png b/assets/img/provider/runbox.png index c8eaf228..e27d1414 100644 Binary files a/assets/img/provider/runbox.png and b/assets/img/provider/runbox.png differ diff --git a/assets/img/provider/searx.jpg b/assets/img/provider/searx.jpg new file mode 100644 index 00000000..f280b24c Binary files /dev/null and b/assets/img/provider/searx.jpg differ diff --git a/assets/img/provider/searx.png b/assets/img/provider/searx.png deleted file mode 100644 index 7701eede..00000000 Binary files a/assets/img/provider/searx.png and /dev/null differ diff --git a/assets/img/provider/swissmail.png b/assets/img/provider/swissmail.png new file mode 100644 index 00000000..b55005af Binary files /dev/null and b/assets/img/provider/swissmail.png differ diff --git a/assets/img/provider/vpnarea.png b/assets/img/provider/vpnarea.png new file mode 100644 index 00000000..ccbffa48 Binary files /dev/null and b/assets/img/provider/vpnarea.png differ diff --git a/assets/img/qr/BCH.png b/assets/img/qr/BCH.png deleted file mode 100644 index 79665ff7..00000000 Binary files a/assets/img/qr/BCH.png and /dev/null differ diff --git a/assets/img/qr/BTC.png b/assets/img/qr/BTC.png deleted file mode 100644 index a991acf3..00000000 Binary files a/assets/img/qr/BTC.png and /dev/null differ diff --git a/assets/img/qr/ETH.png b/assets/img/qr/ETH.png deleted file mode 100644 index cdc65fa6..00000000 Binary files a/assets/img/qr/ETH.png and /dev/null differ diff --git a/assets/img/qr/LTC.png b/assets/img/qr/LTC.png deleted file mode 100644 index a22f0076..00000000 Binary files a/assets/img/qr/LTC.png and /dev/null differ diff --git a/assets/img/qr/XLM.png b/assets/img/qr/XLM.png deleted file mode 100644 index 6df37ed3..00000000 Binary files a/assets/img/qr/XLM.png and /dev/null differ diff --git a/assets/img/qr/XMR.png b/assets/img/qr/XMR.png deleted file mode 100644 index 6b559219..00000000 Binary files a/assets/img/qr/XMR.png and /dev/null differ diff --git a/assets/img/qr/ZEC.png b/assets/img/qr/ZEC.png deleted file mode 100644 index b3d7f42c..00000000 Binary files a/assets/img/qr/ZEC.png and /dev/null differ diff --git a/assets/img/tools/Bitcoin.png b/assets/img/tools/Bitcoin.png index dda5a44e..1736ac40 100644 Binary files a/assets/img/tools/Bitcoin.png and b/assets/img/tools/Bitcoin.png differ diff --git a/assets/img/tools/Bitmessage.png b/assets/img/tools/Bitmessage.png index c9de56c9..4d93e0b8 100644 Binary files a/assets/img/tools/Bitmessage.png and b/assets/img/tools/Bitmessage.png differ diff --git a/assets/img/tools/Brave.png b/assets/img/tools/Brave.png new file mode 100644 index 00000000..7db9e730 Binary files /dev/null and b/assets/img/tools/Brave.png differ diff --git a/assets/img/tools/ChatSecure.png b/assets/img/tools/ChatSecure.png new file mode 100644 index 00000000..6b5f93ea Binary files /dev/null and b/assets/img/tools/ChatSecure.png differ diff --git a/assets/img/tools/Claws-Mail.png b/assets/img/tools/Claws-Mail.png index 11b6cfd3..835736ba 100644 Binary files a/assets/img/tools/Claws-Mail.png and b/assets/img/tools/Claws-Mail.png differ diff --git a/assets/img/tools/CopperheadOS.png b/assets/img/tools/CopperheadOS.png new file mode 100644 index 00000000..5d4fdd63 Binary files /dev/null and b/assets/img/tools/CopperheadOS.png differ diff --git a/assets/img/tools/Cryptocat.png b/assets/img/tools/Cryptocat.png new file mode 100644 index 00000000..7b9bdda5 Binary files /dev/null and b/assets/img/tools/Cryptocat.png differ diff --git a/assets/img/tools/DNSCrypt-Proxy.png b/assets/img/tools/DNSCrypt-Proxy.png deleted file mode 100644 index ce6a09fc..00000000 Binary files a/assets/img/tools/DNSCrypt-Proxy.png and /dev/null differ diff --git a/assets/img/tools/DNSCrypt.png b/assets/img/tools/DNSCrypt.png new file mode 100644 index 00000000..1fe0557a Binary files /dev/null and b/assets/img/tools/DNSCrypt.png differ diff --git a/assets/img/tools/Debian.png b/assets/img/tools/Debian.png index be496b8b..79eff92d 100644 Binary files a/assets/img/tools/Debian.png and b/assets/img/tools/Debian.png differ diff --git a/assets/img/tools/EtherCalc.png b/assets/img/tools/EtherCalc.png new file mode 100644 index 00000000..eea4cc7b Binary files /dev/null and b/assets/img/tools/EtherCalc.png differ diff --git a/assets/img/tools/Etherpad-dark.png b/assets/img/tools/Etherpad-dark.png deleted file mode 100644 index a3ad00d0..00000000 Binary files a/assets/img/tools/Etherpad-dark.png and /dev/null differ diff --git a/assets/img/tools/Etherpad.png b/assets/img/tools/Etherpad.png index 350701ec..0bebe2d5 100644 Binary files a/assets/img/tools/Etherpad.png and b/assets/img/tools/Etherpad.png differ diff --git a/assets/img/tools/F-Droid.png b/assets/img/tools/F-Droid.png index 6454798c..a6595288 100644 Binary files a/assets/img/tools/F-Droid.png and b/assets/img/tools/F-Droid.png differ diff --git a/assets/img/tools/Fedora.png b/assets/img/tools/Fedora.png deleted file mode 100644 index 52065868..00000000 Binary files a/assets/img/tools/Fedora.png and /dev/null differ diff --git a/assets/img/tools/Firefox-Send.png b/assets/img/tools/Firefox-Send.png deleted file mode 100644 index e5e11152..00000000 Binary files a/assets/img/tools/Firefox-Send.png and /dev/null differ diff --git a/assets/img/tools/Firefox.png b/assets/img/tools/Firefox.png index 66a20aaa..848adc63 100644 Binary files a/assets/img/tools/Firefox.png and b/assets/img/tools/Firefox.png differ diff --git a/assets/img/tools/Freenet.png b/assets/img/tools/Freenet.png index 5f25de59..293569ef 100644 Binary files a/assets/img/tools/Freenet.png and b/assets/img/tools/Freenet.png differ diff --git a/assets/img/tools/Friendica.png b/assets/img/tools/Friendica.png index 2edb93f2..f449fb3e 100644 Binary files a/assets/img/tools/Friendica.png and b/assets/img/tools/Friendica.png differ diff --git a/assets/img/tools/GNUnet.png b/assets/img/tools/GNUnet.png new file mode 100644 index 00000000..b0b334af Binary files /dev/null and b/assets/img/tools/GNUnet.png differ diff --git a/assets/img/tools/Ghostbin.png b/assets/img/tools/Ghostbin.png new file mode 100644 index 00000000..39bf595b Binary files /dev/null and b/assets/img/tools/Ghostbin.png differ diff --git a/assets/img/tools/GnuPG.png b/assets/img/tools/GnuPG.png index 1dc2b869..ad2b8679 100644 Binary files a/assets/img/tools/GnuPG.png and b/assets/img/tools/GnuPG.png differ diff --git a/assets/img/tools/GrapheneOS-dark.png b/assets/img/tools/GrapheneOS-dark.png deleted file mode 100644 index e378783f..00000000 Binary files a/assets/img/tools/GrapheneOS-dark.png and /dev/null differ diff --git a/assets/img/tools/GrapheneOS.png b/assets/img/tools/GrapheneOS.png deleted file mode 100644 index 42aa1f8d..00000000 Binary files a/assets/img/tools/GrapheneOS.png and /dev/null differ diff --git a/assets/img/tools/I2P.png b/assets/img/tools/I2P.png index b586f653..de0f250d 100644 Binary files a/assets/img/tools/I2P.png and b/assets/img/tools/I2P.png differ diff --git a/assets/img/tools/IceCat.png b/assets/img/tools/IceCat.png new file mode 100644 index 00000000..11cc49bc Binary files /dev/null and b/assets/img/tools/IceCat.png differ diff --git a/assets/img/tools/Jitsi.png b/assets/img/tools/Jitsi.png new file mode 100644 index 00000000..6722d68d Binary files /dev/null and b/assets/img/tools/Jitsi.png differ diff --git a/assets/img/tools/Joplin.png b/assets/img/tools/Joplin.png index 0278f349..bcf2465c 100644 Binary files a/assets/img/tools/Joplin.png and b/assets/img/tools/Joplin.png differ diff --git a/assets/img/tools/KNOPPIX.png b/assets/img/tools/KNOPPIX.png index 2d97e21d..0f3d3feb 100644 Binary files a/assets/img/tools/KNOPPIX.png and b/assets/img/tools/KNOPPIX.png differ diff --git a/assets/img/tools/KeePass.png b/assets/img/tools/KeePass.png new file mode 100644 index 00000000..0c2e6c3c Binary files /dev/null and b/assets/img/tools/KeePass.png differ diff --git a/assets/img/tools/LessPass.png b/assets/img/tools/LessPass.png index 6d295304..e5b0e147 100644 Binary files a/assets/img/tools/LessPass.png and b/assets/img/tools/LessPass.png differ diff --git a/assets/img/tools/LibreCMC.png b/assets/img/tools/LibreCMC.png index bef5467e..3f7e096b 100644 Binary files a/assets/img/tools/LibreCMC.png and b/assets/img/tools/LibreCMC.png differ diff --git a/assets/img/tools/LibreWRT.png b/assets/img/tools/LibreWRT.png new file mode 100644 index 00000000..7be2befa Binary files /dev/null and b/assets/img/tools/LibreWRT.png differ diff --git a/assets/img/tools/LineageOS.png b/assets/img/tools/LineageOS.png index c978c9e3..5f985f72 100644 Binary files a/assets/img/tools/LineageOS.png and b/assets/img/tools/LineageOS.png differ diff --git a/assets/img/tools/Linphone.png b/assets/img/tools/Linphone.png index 995a6e52..de8a1288 100644 Binary files a/assets/img/tools/Linphone.png and b/assets/img/tools/Linphone.png differ diff --git a/assets/img/tools/MAT2.png b/assets/img/tools/MAT2.png deleted file mode 100644 index 060e00a6..00000000 Binary files a/assets/img/tools/MAT2.png and /dev/null differ diff --git a/assets/img/tools/Magic-Wormhole.png b/assets/img/tools/Magic-Wormhole.png index 3c11b5b1..3acdec9f 100644 Binary files a/assets/img/tools/Magic-Wormhole.png and b/assets/img/tools/Magic-Wormhole.png differ diff --git a/assets/img/tools/Mastodon.png b/assets/img/tools/Mastodon.png index 45476eae..0c7f9185 100644 Binary files a/assets/img/tools/Mastodon.png and b/assets/img/tools/Mastodon.png differ diff --git a/assets/img/tools/Monero.png b/assets/img/tools/Monero.png new file mode 100644 index 00000000..b1645057 Binary files /dev/null and b/assets/img/tools/Monero.png differ diff --git a/assets/img/tools/Mumble.png b/assets/img/tools/Mumble.png deleted file mode 100644 index a8967387..00000000 Binary files a/assets/img/tools/Mumble.png and /dev/null differ diff --git a/assets/img/tools/ORWL.png b/assets/img/tools/ORWL.png new file mode 100644 index 00000000..9d8f4a61 Binary files /dev/null and b/assets/img/tools/ORWL.png differ diff --git a/assets/img/tools/OnionShare.png b/assets/img/tools/OnionShare.png index 29747408..a47194dd 100644 Binary files a/assets/img/tools/OnionShare.png and b/assets/img/tools/OnionShare.png differ diff --git a/assets/img/tools/OpenNIC.png b/assets/img/tools/OpenNIC.png index 32850d06..c4a80f84 100644 Binary files a/assets/img/tools/OpenNIC.png and b/assets/img/tools/OpenNIC.png differ diff --git a/assets/img/tools/OpenWrt.png b/assets/img/tools/OpenWrt.png index 4f2ce2b2..59290cae 100644 Binary files a/assets/img/tools/OpenWrt.png and b/assets/img/tools/OpenWrt.png differ diff --git a/assets/img/tools/PeaZip.png b/assets/img/tools/PeaZip.png index 4a147e31..e9e940a9 100644 Binary files a/assets/img/tools/PeaZip.png and b/assets/img/tools/PeaZip.png differ diff --git a/assets/img/tools/PrivateBin.png b/assets/img/tools/PrivateBin.png index df1b0caf..0e46c1b7 100644 Binary files a/assets/img/tools/PrivateBin.png and b/assets/img/tools/PrivateBin.png differ diff --git a/assets/img/tools/ProtectedText.png b/assets/img/tools/ProtectedText.png new file mode 100644 index 00000000..89112401 Binary files /dev/null and b/assets/img/tools/ProtectedText.png differ diff --git a/assets/img/tools/Puppy-Linux.png b/assets/img/tools/Puppy-Linux.png index 0e6f5f5f..7b3c8b15 100644 Binary files a/assets/img/tools/Puppy-Linux.png and b/assets/img/tools/Puppy-Linux.png differ diff --git a/assets/img/tools/Purism.png b/assets/img/tools/Purism.png new file mode 100644 index 00000000..25d34fe3 Binary files /dev/null and b/assets/img/tools/Purism.png differ diff --git a/assets/img/tools/Pydio.png b/assets/img/tools/Pydio.png new file mode 100644 index 00000000..03a5a282 Binary files /dev/null and b/assets/img/tools/Pydio.png differ diff --git a/assets/img/tools/Qubes-OS.png b/assets/img/tools/Qubes-OS.png index 27718c6e..df4afc67 100644 Binary files a/assets/img/tools/Qubes-OS.png and b/assets/img/tools/Qubes-OS.png differ diff --git a/assets/img/tools/RetroShare.png b/assets/img/tools/RetroShare.png index 8fc2ebf2..a17b1f79 100644 Binary files a/assets/img/tools/RetroShare.png and b/assets/img/tools/RetroShare.png differ diff --git a/assets/img/tools/Ricochet.png b/assets/img/tools/Ricochet.png new file mode 100644 index 00000000..2b2df143 Binary files /dev/null and b/assets/img/tools/Ricochet.png differ diff --git a/assets/img/tools/Riot.png b/assets/img/tools/Riot.png deleted file mode 100644 index f576b780..00000000 Binary files a/assets/img/tools/Riot.png and /dev/null differ diff --git a/assets/img/tools/Sailfish-OS.png b/assets/img/tools/Sailfish-OS.png new file mode 100644 index 00000000..7cff0e09 Binary files /dev/null and b/assets/img/tools/Sailfish-OS.png differ diff --git a/assets/img/tools/Seafile.png b/assets/img/tools/Seafile.png new file mode 100644 index 00000000..b86f7a80 Binary files /dev/null and b/assets/img/tools/Seafile.png differ diff --git a/assets/img/tools/ShadowCash.png b/assets/img/tools/ShadowCash.png new file mode 100644 index 00000000..5259e537 Binary files /dev/null and b/assets/img/tools/ShadowCash.png differ diff --git a/assets/img/tools/Signal.png b/assets/img/tools/Signal.png index ae3ed8dd..08b1f740 100644 Binary files a/assets/img/tools/Signal.png and b/assets/img/tools/Signal.png differ diff --git a/assets/img/tools/SparkleShare.png b/assets/img/tools/SparkleShare.png index 2e94b6a5..78297565 100644 Binary files a/assets/img/tools/SparkleShare.png and b/assets/img/tools/SparkleShare.png differ diff --git a/assets/img/tools/StandardNotes.png b/assets/img/tools/StandardNotes.png index 8e6f6e59..d2877945 100644 Binary files a/assets/img/tools/StandardNotes.png and b/assets/img/tools/StandardNotes.png differ diff --git a/assets/img/tools/Syncany.png b/assets/img/tools/Syncany.png new file mode 100644 index 00000000..ebfd07dc Binary files /dev/null and b/assets/img/tools/Syncany.png differ diff --git a/assets/img/tools/Syncthing.png b/assets/img/tools/Syncthing.png index 117e9630..b48ce7b1 100644 Binary files a/assets/img/tools/Syncthing.png and b/assets/img/tools/Syncthing.png differ diff --git a/assets/img/tools/Tahoe-LAFS-dark.png b/assets/img/tools/Tahoe-LAFS-dark.png deleted file mode 100644 index e7e77480..00000000 Binary files a/assets/img/tools/Tahoe-LAFS-dark.png and /dev/null differ diff --git a/assets/img/tools/Tahoe-LAFS.png b/assets/img/tools/Tahoe-LAFS.png index 8da91dce..589f0b7c 100644 Binary files a/assets/img/tools/Tahoe-LAFS.png and b/assets/img/tools/Tahoe-LAFS.png differ diff --git a/assets/img/tools/Tails.png b/assets/img/tools/Tails.png index cad6a3cc..25163382 100644 Binary files a/assets/img/tools/Tails.png and b/assets/img/tools/Tails.png differ diff --git a/assets/img/tools/Thunderbird.png b/assets/img/tools/Thunderbird.png index 0eb13f64..4198496e 100644 Binary files a/assets/img/tools/Thunderbird.png and b/assets/img/tools/Thunderbird.png differ diff --git a/assets/img/tools/Tor-Browser.png b/assets/img/tools/Tor-Browser.png index 617e800b..b2c0960b 100644 Binary files a/assets/img/tools/Tor-Browser.png and b/assets/img/tools/Tor-Browser.png differ diff --git a/assets/img/tools/Tor-Project.png b/assets/img/tools/Tor-Project.png index 2409e50d..eef65370 100644 Binary files a/assets/img/tools/Tor-Project.png and b/assets/img/tools/Tor-Project.png differ diff --git a/assets/img/tools/Trisquel.png b/assets/img/tools/Trisquel.png new file mode 100644 index 00000000..82db24b2 Binary files /dev/null and b/assets/img/tools/Trisquel.png differ diff --git a/assets/img/tools/Turtl.png b/assets/img/tools/Turtl.png index beccd0d0..e11d97a7 100644 Binary files a/assets/img/tools/Turtl.png and b/assets/img/tools/Turtl.png differ diff --git a/assets/img/tools/USB-armory.png b/assets/img/tools/USB-armory.png new file mode 100644 index 00000000..ea078e89 Binary files /dev/null and b/assets/img/tools/USB-armory.png differ diff --git a/assets/img/tools/Ubuntu-Touch.png b/assets/img/tools/Ubuntu-Touch.png deleted file mode 100644 index 9e94d17e..00000000 Binary files a/assets/img/tools/Ubuntu-Touch.png and /dev/null differ diff --git a/assets/img/tools/VeraCrypt.png b/assets/img/tools/VeraCrypt.png index d6eb6e46..57646f7e 100644 Binary files a/assets/img/tools/VeraCrypt.png and b/assets/img/tools/VeraCrypt.png differ diff --git a/assets/img/tools/Whiteout-Mail.png b/assets/img/tools/Whiteout-Mail.png new file mode 100644 index 00000000..f27f76bb Binary files /dev/null and b/assets/img/tools/Whiteout-Mail.png differ diff --git a/assets/img/tools/WriteAs-dark.png b/assets/img/tools/WriteAs-dark.png deleted file mode 100644 index 39e1f044..00000000 Binary files a/assets/img/tools/WriteAs-dark.png and /dev/null differ diff --git a/assets/img/tools/WriteAs.png b/assets/img/tools/WriteAs.png index 309b87ff..c0821dd9 100644 Binary files a/assets/img/tools/WriteAs.png and b/assets/img/tools/WriteAs.png differ diff --git a/assets/img/tools/Zcash.png b/assets/img/tools/Zcash.png new file mode 100644 index 00000000..8677e5c4 Binary files /dev/null and b/assets/img/tools/Zcash.png differ diff --git a/assets/img/tools/ZeroBin.png b/assets/img/tools/ZeroBin.png index e5944ac0..7d4e8130 100644 Binary files a/assets/img/tools/ZeroBin.png and b/assets/img/tools/ZeroBin.png differ diff --git a/assets/img/tools/aether.png b/assets/img/tools/aether.png deleted file mode 100644 index 186d70af..00000000 Binary files a/assets/img/tools/aether.png and /dev/null differ diff --git a/assets/img/tools/bahnhof.png b/assets/img/tools/bahnhof.png new file mode 100644 index 00000000..7112b348 Binary files /dev/null and b/assets/img/tools/bahnhof.png differ diff --git a/assets/img/tools/bitwarden.png b/assets/img/tools/bitwarden.png index 035dcb19..7265debb 100644 Binary files a/assets/img/tools/bitwarden.png and b/assets/img/tools/bitwarden.png differ diff --git a/assets/img/tools/bromite.png b/assets/img/tools/bromite.png deleted file mode 100644 index 44fb027a..00000000 Binary files a/assets/img/tools/bromite.png and /dev/null differ diff --git a/assets/img/tools/datacell.png b/assets/img/tools/datacell.png new file mode 100644 index 00000000..5e6da6bc Binary files /dev/null and b/assets/img/tools/datacell.png differ diff --git a/assets/img/tools/diaspora.png b/assets/img/tools/diaspora.png index 7da5e8b5..151bd99a 100644 Binary files a/assets/img/tools/diaspora.png and b/assets/img/tools/diaspora.png differ diff --git a/assets/img/tools/h-node.png b/assets/img/tools/h-node.png new file mode 100644 index 00000000..d5fe2cec Binary files /dev/null and b/assets/img/tools/h-node.png differ diff --git a/assets/img/tools/keepassxc.png b/assets/img/tools/keepassxc.png deleted file mode 100644 index c3cfaa9c..00000000 Binary files a/assets/img/tools/keepassxc.png and /dev/null differ diff --git a/assets/img/tools/keybase.png b/assets/img/tools/keybase.png deleted file mode 100644 index b45ebfb0..00000000 Binary files a/assets/img/tools/keybase.png and /dev/null differ diff --git a/assets/img/tools/onionbrowser.png b/assets/img/tools/onionbrowser.png deleted file mode 100644 index 36756449..00000000 Binary files a/assets/img/tools/onionbrowser.png and /dev/null differ diff --git a/assets/img/tools/orange_hosting.png b/assets/img/tools/orange_hosting.png new file mode 100644 index 00000000..94e475b0 Binary files /dev/null and b/assets/img/tools/orange_hosting.png differ diff --git a/assets/img/tools/pfSense.png b/assets/img/tools/pfSense.png index b0707896..b081594d 100644 Binary files a/assets/img/tools/pfSense.png and b/assets/img/tools/pfSense.png differ diff --git a/assets/img/tools/raddle.png b/assets/img/tools/raddle.png deleted file mode 100644 index e0385594..00000000 Binary files a/assets/img/tools/raddle.png and /dev/null differ diff --git a/assets/img/tools/riot.png b/assets/img/tools/riot.png new file mode 100644 index 00000000..30866b31 Binary files /dev/null and b/assets/img/tools/riot.png differ diff --git a/assets/img/tools/rocket.chat.png b/assets/img/tools/rocket.chat.png deleted file mode 100644 index 8577007f..00000000 Binary files a/assets/img/tools/rocket.chat.png and /dev/null differ diff --git a/assets/img/tools/tildes.png b/assets/img/tools/tildes.png deleted file mode 100644 index cd8c870c..00000000 Binary files a/assets/img/tools/tildes.png and /dev/null differ diff --git a/assets/img/tools/wire.png b/assets/img/tools/wire.png index abae18c8..560618f9 100644 Binary files a/assets/img/tools/wire.png and b/assets/img/tools/wire.png differ diff --git a/assets/js/applytheme.js b/assets/js/applytheme.js deleted file mode 100644 index 1392dd66..00000000 --- a/assets/js/applytheme.js +++ /dev/null @@ -1,6 +0,0 @@ -if (localStorage.getItem("colorScheme") === "dark") { - document.querySelector("#dark-css").removeAttribute("media"); // Set dark theme -} -else if (localStorage.getItem("colorScheme") === "light") { - document.querySelector("#dark-css").setAttribute("media", "invalid"); // Set light theme -} diff --git a/assets/js/main.js b/assets/js/main.js deleted file mode 100644 index 548d1dd9..00000000 --- a/assets/js/main.js +++ /dev/null @@ -1,113 +0,0 @@ -$(function() { - $("[data-toggle='tooltip']").tooltip(); -}); -document.querySelectorAll(".onclick-select").forEach(element => { - element.addEventListener("click", element.select); -}); - - -// Navbar dropdowns -const navSections = document.querySelectorAll(".nav-details"); - -navSections.forEach(navSection => { - navSection.addEventListener("toggle", navSectionsToggle); -}); -document.addEventListener("click", navSectionsClose); - -function navSectionsToggle() { - // When opening next dropdown, hide previous - if (this.open) { - navSections.forEach(navSection => { - if (navSection != this && navSection.open) navSection.open = !open; - }); - } -} - -function navSectionsClose(event) { - // Hide all dropdowns when clicking in different place - if (event.target.matches(".nav-summary")) return; - navSections.forEach(navSection => { - navSection.open = !open; - }); -} - - -// Dark/Light color scheme switch button -document.querySelector("#nav-switch-theme").style.display = "inline"; -document.querySelector("#nav-switch-theme").addEventListener("click", changeColorScheme); - -function changeColorScheme() { - // Use whatever users want - if (localStorage.getItem("colorScheme") === "dark") { - // Change to light theme - if (window.matchMedia("(prefers-color-scheme: dark)").matches === false) { - document.querySelector("#dark-css").setAttribute("media", "(prefers-color-scheme: dark)"); - localStorage.removeItem("colorScheme"); - } else { - // by setting invalid media it will just not apply CSS for anyone - document.querySelector("#dark-css").setAttribute("media", "invalid"); - localStorage.setItem("colorScheme", "light"); - } - } - // Change to dark theme - else if (localStorage.getItem("colorScheme") === "light") { - if (window.matchMedia("(prefers-color-scheme: dark)").matches === true) { - document.querySelector("#dark-css").setAttribute("media", "(prefers-color-scheme: dark)"); - localStorage.removeItem("colorScheme"); - } else { - // media was set to prefers-color-scheme: dark - document.querySelector("#dark-css").removeAttribute("media"); - localStorage.setItem("colorScheme", "dark"); - } - } - - // Just use whatever browsers want - else if (window.matchMedia("(prefers-color-scheme: dark)").matches === true) { - // Change to light Theme - document.querySelector("#dark-css").setAttribute("media", "invalid"); - localStorage.setItem("colorScheme", "light"); - } else { - // Change to dark theme - document.querySelector("#dark-css").removeAttribute("media"); - localStorage.setItem("colorScheme", "dark"); - } - fixThemeImages(); -} - - -// Fix images in dark theme -function fixThemeImages() { - document.querySelectorAll('[data-theme-src]').forEach(function(image) { - tempSrc = image.src; - image.src = image.getAttribute("data-theme-src"); - image.setAttribute("data-theme-src", tempSrc); - }); -} -if ( - (localStorage.getItem("colorScheme") === "dark") || - (window.matchMedia("(prefers-color-scheme: dark)").matches ^ - localStorage.getItem("colorScheme") === "light") -) { - fixThemeImages(); -} - - -// Matomo -var _paq = window._paq || []; -/* tracker methods like "setCustomDimension" should be called before "trackPageView" */ -_paq.push(["trackPageView"]); -_paq.push(["enableLinkTracking"]); -(function() { - var u = "https://stats.privacytools.io/"; - _paq.push(["setTrackerUrl", u + "matomo.php"]); - _paq.push(["setSiteId", "1"]); - _paq.push(['setSecureCookie', true]); - var d = document, - g = d.createElement("script"), - s = d.getElementsByTagName("script")[0]; - g.type = "text/javascript"; - g.async = true; - g.defer = true; - g.src = u + "matomo.js"; - s.parentNode.insertBefore(g, s); -})(); diff --git a/assets/js/redirects.js b/assets/js/redirects.js deleted file mode 100644 index ef9ebca8..00000000 --- a/assets/js/redirects.js +++ /dev/null @@ -1,33 +0,0 @@ -if (window.location == 'https://www.privacytools.io/#ukusa') { window.location = 'https://www.privacytools.io/providers/';} -if (window.location == 'https://www.privacytools.io/#vpn') { window.location = 'https://www.privacytools.io/providers/vpn/';} -if (window.location == 'https://www.privacytools.io/#email') { window.location = 'https://www.privacytools.io/providers/email/';} -if (window.location == 'https://www.privacytools.io/#cloud') { window.location = 'https://www.privacytools.io/providers/cloud-storage/';} -if (window.location == 'https://www.privacytools.io/#social') { window.location = 'https://www.privacytools.io/providers/social-networks/';} -if (window.location == 'https://www.privacytools.io/#dns') { window.location = 'https://www.privacytools.io/providers/dns/';} -if (window.location == 'https://www.privacytools.io/#search') { window.location = 'https://www.privacytools.io/providers/search-engines/';} -if (window.location == 'https://www.privacytools.io/#host') { window.location = 'https://www.privacytools.io/providers/hosting/';} -if (window.location == 'https://www.privacytools.io/#paste') { window.location = 'https://www.privacytools.io/providers/paste';} -if (window.location == 'https://www.privacytools.io/#browser') { window.location = 'https://www.privacytools.io/browsers/';} -if (window.location == 'https://www.privacytools.io/#fingerprint') { window.location = 'https://www.privacytools.io/browsers/#fingerprint';} -if (window.location == 'https://www.privacytools.io/#webrtc') { window.location = 'https://www.privacytools.io/browsers/#webrtc';} -if (window.location == 'https://www.privacytools.io/#addons') { window.location = 'https://www.privacytools.io/browsers/#addons';} -if (window.location == 'https://www.privacytools.io/#about_config') { window.location = 'https://www.privacytools.io/browsers/#about_config';} -if (window.location == 'https://www.privacytools.io/#clients') { window.location = 'https://www.privacytools.io/software/email/';} -if (window.location == 'https://www.privacytools.io/#messaging') { window.location = 'https://www.privacytools.io/software/email/#messaging';} -if (window.location == 'https://www.privacytools.io/#im') { window.location = 'https://www.privacytools.io/software/im/';} -if (window.location == 'https://www.privacytools.io/#voip') { window.location = 'https://www.privacytools.io/software/voip/';} -if (window.location == 'https://www.privacytools.io/#filesharing') { window.location = 'https://www.privacytools.io/software/file-sharing/';} -if (window.location == 'https://www.privacytools.io/#mycloud') { window.location = 'https://www.privacytools.io/software/cloud/';} -if (window.location == 'https://www.privacytools.io/#sync') { window.location = 'https://www.privacytools.io/software/file-sync/';} -if (window.location == 'https://www.privacytools.io/#pw') { window.location = 'https://www.privacytools.io/software/passwords/';} -if (window.location == 'https://www.privacytools.io/#calendar_contacts') { window.location = 'https://www.privacytools.io/software/calendar-contacts/';} -if (window.location == 'https://www.privacytools.io/#encrypt') { window.location = 'https://www.privacytools.io/software/encryption-tools/';} -if (window.location == 'https://www.privacytools.io/#darknets') { window.location = 'https://www.privacytools.io/software/networks/';} -if (window.location == 'https://www.privacytools.io/#notebook') { window.location = 'https://www.privacytools.io/software/notebooks/';} -if (window.location == 'https://www.privacytools.io/#productivity') { window.location = 'https://www.privacytools.io/software/productivity/';} -if (window.location == 'https://www.privacytools.io/#os') { window.location = 'https://www.privacytools.io/operating-systems/';} -if (window.location == 'https://www.privacytools.io/#live_os') { window.location = 'https://www.privacytools.io/operating-systems/#live_os';} -if (window.location == 'https://www.privacytools.io/#mobile_os') { window.location = 'https://www.privacytools.io/operating-systems/#mobile_os';} -if (window.location == 'https://www.privacytools.io/#aaddons') { window.location = 'https://www.privacytools.io/operating-systems/#aaddons';} -if (window.location == 'https://www.privacytools.io/#firmware') { window.location = 'https://www.privacytools.io/operating-systems/#firmware';} -if (window.location == 'https://www.privacytools.io/#win10') { window.location = 'https://www.privacytools.io/operating-systems/#win10';} diff --git a/assets/resources/logo-search.psd b/assets/resources/logo-search.psd deleted file mode 100644 index df62827d..00000000 Binary files a/assets/resources/logo-search.psd and /dev/null differ diff --git a/assets/resources/logo-website.psd b/assets/resources/logo-website.psd deleted file mode 100644 index 309b7c16..00000000 Binary files a/assets/resources/logo-website.psd and /dev/null differ diff --git a/assets/resources/shield.png b/assets/resources/shield.png deleted file mode 100644 index b2079fc7..00000000 Binary files a/assets/resources/shield.png and /dev/null differ diff --git a/assets/resources/shield.svg b/assets/resources/shield.svg deleted file mode 100644 index 8c6a4f6f..00000000 --- a/assets/resources/shield.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/assets/resources/twitter-cover.psd b/assets/resources/twitter-cover.psd deleted file mode 100644 index 6ee19933..00000000 Binary files a/assets/resources/twitter-cover.psd and /dev/null differ diff --git a/assets/webfonts/ptio-font-preview.html b/assets/webfonts/ptio-font-preview.html deleted file mode 100644 index f99556f7..00000000 --- a/assets/webfonts/ptio-font-preview.html +++ /dev/null @@ -1,324 +0,0 @@ - - - - ptio-font glyphs preview - - - - - - - - - -
-
-

ptio-font contains 8 glyphs:

- Toggle Preview Characters -
- - -
-
- PpPpPpPpPpPpPpPpPpPp -
-
- 12141618212436486072 -
-
- - -
-
- -
-
- PpPpPpPpPpPpPpPpPpPp -
-
- 12141618212436486072 -
-
- - -
-
- -
-
- PpPpPpPpPpPpPpPpPpPp -
-
- 12141618212436486072 -
-
- - -
-
- -
-
- PpPpPpPpPpPpPpPpPpPp -
-
- 12141618212436486072 -
-
- - -
-
- -
-
- PpPpPpPpPpPpPpPpPpPp -
-
- 12141618212436486072 -
-
- - -
-
- -
-
- PpPpPpPpPpPpPpPpPpPp -
-
- 12141618212436486072 -
-
- - -
-
- -
-
- PpPpPpPpPpPpPpPpPpPp -
-
- 12141618212436486072 -
-
- - -
-
- -
-
- PpPpPpPpPpPpPpPpPpPp -
-
- 12141618212436486072 -
-
- - -
-
- - - -
- - diff --git a/assets/webfonts/ptio-font.eot b/assets/webfonts/ptio-font.eot deleted file mode 100644 index 2b2a7cc7..00000000 Binary files a/assets/webfonts/ptio-font.eot and /dev/null differ diff --git a/assets/webfonts/ptio-font.svg b/assets/webfonts/ptio-font.svg deleted file mode 100644 index 08bd533d..00000000 --- a/assets/webfonts/ptio-font.svg +++ /dev/null @@ -1,151 +0,0 @@ - - - - - -Created by FontForge 20190801 at Sun Sep 22 19:49:38 2019 - By Dawid Potocki - - - - - - - - - - - - - - - - - diff --git a/assets/webfonts/ptio-font.ttf b/assets/webfonts/ptio-font.ttf deleted file mode 100644 index d98ed112..00000000 Binary files a/assets/webfonts/ptio-font.ttf and /dev/null differ diff --git a/assets/webfonts/ptio-font.woff b/assets/webfonts/ptio-font.woff deleted file mode 100644 index 9bb11561..00000000 Binary files a/assets/webfonts/ptio-font.woff and /dev/null differ diff --git a/assets/webfonts/ptio-font.woff2 b/assets/webfonts/ptio-font.woff2 deleted file mode 100644 index 8bb1990a..00000000 Binary files a/assets/webfonts/ptio-font.woff2 and /dev/null differ diff --git a/build.sh b/build.sh deleted file mode 100755 index f17060a4..00000000 --- a/build.sh +++ /dev/null @@ -1,4 +0,0 @@ -#!/usr/bin/env sh -set -e # halt script on error - -bundle exec jekyll build diff --git a/donate.html b/donate.html new file mode 100644 index 00000000..04832557 --- /dev/null +++ b/donate.html @@ -0,0 +1,32 @@ +--- +layout: default +active_page: donate +--- +
+
+
+
+ privacytools.io +
+

Please Donate

+

Our website is free of advertisement and not affiliated with any listed providers.
Your donation will cover our cost for server, domains, coffee, beer and pizza.

+

Bitcoin:

+ + + +

+
+ + +
+

+

+ +

+

Thanks for your support. You are awesome!

+

+ Smile +

+
+
+
diff --git a/font/Gemfile b/font/Gemfile deleted file mode 100644 index 6e854e65..00000000 --- a/font/Gemfile +++ /dev/null @@ -1,5 +0,0 @@ -# frozen_string_literal: true - -source "https://rubygems.org" - -gem "fontcustom", "~> 2.0" diff --git a/font/Gemfile.lock b/font/Gemfile.lock deleted file mode 100644 index 0ace0a2a..00000000 --- a/font/Gemfile.lock +++ /dev/null @@ -1,27 +0,0 @@ -GEM - remote: https://rubygems.org/ - specs: - ffi (1.11.1) - fontcustom (2.0.0) - json (~> 1.4) - listen (>= 1.0, < 4.0) - thor (~> 0.14) - json (1.8.6) - listen (3.1.5) - rb-fsevent (~> 0.9, >= 0.9.4) - rb-inotify (~> 0.9, >= 0.9.7) - ruby_dep (~> 1.2) - rb-fsevent (0.10.3) - rb-inotify (0.10.0) - ffi (~> 1.0) - ruby_dep (1.5.0) - thor (0.20.3) - -PLATFORMS - ruby - -DEPENDENCIES - fontcustom (~> 2.0) - -BUNDLED WITH - 2.0.1 diff --git a/font/LICENSE b/font/LICENSE deleted file mode 100644 index b5d0c56e..00000000 --- a/font/LICENSE +++ /dev/null @@ -1,13 +0,0 @@ -Copyright (c) 2019, Dawid Potocki - -Permission to use, copy, modify, and distribute this software for any -purpose with or without fee is hereby granted, provided that the above -copyright notice and this permission notice appear in all copies. - -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES -WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR -ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF -OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. diff --git a/font/Makefile b/font/Makefile deleted file mode 100644 index c1ceb61a..00000000 --- a/font/Makefile +++ /dev/null @@ -1,11 +0,0 @@ -build: - bundle exec fontcustom compile -F - mv ptio-font.woff assets/webfonts - mv _sass/ptio-font.css ../_sass/ptio-font.scss - mv assets/webfonts/* ../assets/webfonts/ - sed -i -e 's/..\/assets\//..\//g' ../_sass/ptio-font.scss - -default: - build - -.PHONY: build diff --git a/font/README.md b/font/README.md deleted file mode 100644 index 769b1312..00000000 --- a/font/README.md +++ /dev/null @@ -1,39 +0,0 @@ -# ptio-font - -This font contains icons we need, which Font Awesome does not have. - -| Name | CSS class | Issue | -|--- |--- |--- | -| F-Droid | `ptio-f-droid` | https://github.com/FortAwesome/Font-Awesome/issues/15492 | -| iOS | `ptio-ios` | https://github.com/FortAwesome/Font-Awesome/issues/4935 | -| macOS | `ptio-macos` | https://github.com/FortAwesome/Font-Awesome/issues/4936 | -| OpenBSD | `ptio-openbsd` | https://github.com/FortAwesome/Font-Awesome/issues/5345 | -| NetBSD | `ptio-netbsd` | https://github.com/FortAwesome/Font-Awesome/issues/15496 | -| Sailfish OS | `ptio-sailfish-os` | https://github.com/FortAwesome/Font-Awesome/issues/15498 | - -We also have custom Linux icon (`ptio-linux`), because I (@dawidpotocki) made it before and looks cleaner. -And since we are bundling additional font anyway, why not. - -## Building - -To build the font, you will need some of the following tools installed. - -| Name | Notes | -|--- |--- | -| `make` | Use distro's package manager | -| `ruby` | Use distro's package manager | -| `bundler` | Run `gem install bundler` | -| | | -| | | -| `woff-tools` | Use distro's package manager | -| or | | -| `yarn` or `npm` | Use distro's package manager | -| `sfnt2woff` | Run `yarn global add sfnt2woff` or `npm install -g sfnt2woff` | - -Then just run the following commands to build the font: - -``` -$ cd font/ -$ bundle # it will install FontCustom -$ make build # it will build a font and css -``` diff --git a/font/fontcustom.yml b/font/fontcustom.yml deleted file mode 100644 index 22594e09..00000000 --- a/font/fontcustom.yml +++ /dev/null @@ -1,15 +0,0 @@ -font_name: ptio-font -css_selector: .ptio-{{glyph}} -preprocessor_path: "" -autowidth: false -no_hash: true -force: false -debug: false -quiet: false - -input: - vectors: svg - -output: - fonts: assets/webfonts - css: _sass diff --git a/font/svg/f-droid.svg b/font/svg/f-droid.svg deleted file mode 100644 index de1391b2..00000000 --- a/font/svg/f-droid.svg +++ /dev/null @@ -1,2 +0,0 @@ - - diff --git a/font/svg/ios.svg b/font/svg/ios.svg deleted file mode 100644 index 1be11979..00000000 --- a/font/svg/ios.svg +++ /dev/null @@ -1,2 +0,0 @@ - - diff --git a/font/svg/linux.svg b/font/svg/linux.svg deleted file mode 100644 index 9649ed4f..00000000 --- a/font/svg/linux.svg +++ /dev/null @@ -1,2 +0,0 @@ - - diff --git a/font/svg/macos.svg b/font/svg/macos.svg deleted file mode 100644 index 97b0f62c..00000000 --- a/font/svg/macos.svg +++ /dev/null @@ -1,2 +0,0 @@ - - diff --git a/font/svg/mix.svg b/font/svg/mix.svg deleted file mode 100644 index c6774d05..00000000 --- a/font/svg/mix.svg +++ /dev/null @@ -1,2 +0,0 @@ - - diff --git a/font/svg/netbsd.svg b/font/svg/netbsd.svg deleted file mode 100644 index f98c870c..00000000 --- a/font/svg/netbsd.svg +++ /dev/null @@ -1,2 +0,0 @@ - - diff --git a/font/svg/openbsd.svg b/font/svg/openbsd.svg deleted file mode 100644 index ba4f968b..00000000 --- a/font/svg/openbsd.svg +++ /dev/null @@ -1,2 +0,0 @@ - - diff --git a/font/svg/sailfish-os.svg b/font/svg/sailfish-os.svg deleted file mode 100644 index 1f77e6eb..00000000 --- a/font/svg/sailfish-os.svg +++ /dev/null @@ -1,2 +0,0 @@ - - diff --git a/index.html b/index.html deleted file mode 100644 index f72aa4d9..00000000 --- a/index.html +++ /dev/null @@ -1,15 +0,0 @@ ---- -layout: default ---- - - -{% include sections/header.html %} -{% include sections/resources.html %} -

Sponsors

- - -{% include sections/quotes.html %} -{% include sections/privacy-resources.html %} -{% include sections/participate.html %} diff --git a/languages/en.html b/languages/en.html new file mode 100644 index 00000000..09c86844 --- /dev/null +++ b/languages/en.html @@ -0,0 +1,7 @@ +--- +layout: default +permalink: / +lang: "en" +--- + +{% include index.html lang="en" %} \ No newline at end of file diff --git a/languages/it.html b/languages/it.html new file mode 100644 index 00000000..b6884115 --- /dev/null +++ b/languages/it.html @@ -0,0 +1,7 @@ +--- +layout: default +permalink: /it/ +lang: it +--- + +{% include index.html lang="it" %} \ No newline at end of file diff --git a/nginx/000-includes.conf b/nginx/000-includes.conf deleted file mode 100644 index d70bce8e..00000000 --- a/nginx/000-includes.conf +++ /dev/null @@ -1,2 +0,0 @@ -include /var/www/privacytools.io/nginx/010-headers.conf; -include /var/www/privacytools.io/nginx/020-redirects.conf; diff --git a/nginx/010-headers.conf b/nginx/010-headers.conf deleted file mode 100644 index 12f9c347..00000000 --- a/nginx/010-headers.conf +++ /dev/null @@ -1,9 +0,0 @@ -add_header X-Frame-Options DENY always; -add_header X-XSS-Protection "1; mode=block" always; -add_header X-Content-Type-Options nosniff always; -add_header Content-Security-Policy "default-src 'none'; script-src 'self' https://stats.privacytools.io; style-src 'self'; img-src 'self' data: https://*.privacytools.io; object-src 'none'; frame-src https://stats.privacytools.io; font-src 'self'; base-uri 'none'; form-action 'self' https://search.privacytools.io; frame-ancestors 'none'; manifest-src 'self';" always; -add_header Strict-Transport-Security "max-age=31557600; includeSubDomains; preload"; -add_header 'Access-Control-Allow-Origin' '*'; -add_header Alt-Svc 'h2="privacy2zbidut4m4jyj3ksdqidzkw3uoip2vhvhbvwxbqux5xy5obyd.onion:443"; ma=86400; persist=1'; -add_header Expect-CT 'max-age=0'; -add_header Referrer-Policy "strict-origin"; diff --git a/nginx/020-redirects.conf b/nginx/020-redirects.conf deleted file mode 100644 index b327e941..00000000 --- a/nginx/020-redirects.conf +++ /dev/null @@ -1,15 +0,0 @@ -location = /old/ { - return 301 /classic/; -} -location = /privacy-policy/ { - return 301 /privacy/; -} -location = /software/im/ { - return 301 /software/real-time-communication/; -} -location = /software/voip/ { - return 301 /software/real-time-communication/; -} -location = /software/teamchat/ { - return 301 /software/real-time-communication/; -} diff --git a/pages/about/librejs.html b/pages/about/librejs.html deleted file mode 100644 index c6608d07..00000000 --- a/pages/about/librejs.html +++ /dev/null @@ -1,34 +0,0 @@ ---- -permalink: /about/javascript/ ---- -

JavaScript Licenses

- - - - - - - - - - - - - - - - - - - - - - - - - - - - -
main.jsCC0-1.0-only
applytheme.js - CC0-1.0-only
redirects.jsCC0-1.0-only
bootstrap.min.jsExpat
jquery-3.3.1.min.jsExpat
popper.min.jsExpat
sortable.min.jsExpat
diff --git a/pages/browsers.html b/pages/browsers.html deleted file mode 100644 index 17f98cec..00000000 --- a/pages/browsers.html +++ /dev/null @@ -1,16 +0,0 @@ ---- -layout: page -permalink: /browsers/ -title: "Web Browsers" -description: "These are our current web browser recommendations and some tweaks you can use to preserve your privacy." ---- - -{% include sections/browser-recommendation.html %} - -{% include sections/browser-fingerprint.html %} - -{% include sections/browser-webrtc.html %} - -{% include sections/browser-addons.html %} - -{% include sections/browser-tweaks.html %} diff --git a/pages/contact.md b/pages/contact.md deleted file mode 100644 index dc49bda3..00000000 --- a/pages/contact.md +++ /dev/null @@ -1,26 +0,0 @@ ---- -layout: page -permalink: /contact/ -title: "Contact Us" -description: "Contact the privacytoolsIO team if you have any suggestions or are experiencing any issues." ---- - -## Suggestions? - -It's very important to us to stay up-to-date on the latest changes in the privacy space. If you have a software recommendation for us, or want to request a change on this website, please don't hesitate to reach out. - -[ Start a discussion in our Discourse forum](https://forum.privacytools.io/) - -[ Open an issue on GitHub](https://github.com/privacytoolsIO/privacytools.io/issues) - -[ Suggest something new on our subreddit](https://www.reddit.com/r/privacytoolsIO/) - -For complete transparency, software and providers will only be considered for this website after discussions take place on any of the above platforms. - -## Chat with the Team - -Join our Matrix room at `#general:privacytools.io` or [privacytools_io Keybase team](https://keybase.io/team/privacytools_io) to chat with [us](https://github.com/orgs/privacytoolsIO/people) and other members about this site and privacy in general! If you need a Matrix account, you can sign up with our own homeserver (`https://chat.privacytools.io`) using [riot.privacytools.io](https://riot.privacytools.io/). - -## Code of Conduct - -We take the operation of our various [services](/services/) very seriously, and adhere to our [Code of Conduct](https://github.com/privacytoolsIO/privacytools.io/blob/master/CODE_OF_CONDUCT.md). For any questions or to report abuse, please see our CoC's [Enforcement](https://github.com/privacytoolsIO/privacytools.io/blob/master/CODE_OF_CONDUCT.md#enforcement) section. diff --git a/pages/donate.html b/pages/donate.html deleted file mode 100644 index 00c021a5..00000000 --- a/pages/donate.html +++ /dev/null @@ -1,310 +0,0 @@ ---- -layout: default -active_page: donate -permalink: /donate/ ---- -
-
-
-
- privacytools.io -
- -
-
Donate via OpenCollective
-
-

If you are able, please consider contributing to our development and outreach programs. Contributions via OpenCollective to privacytools.io are tax deductible for US taxpayers. These funds are transparently and primarily used to cover server costs.

- Contribute - More Info -
-
- -

Please Donate

- -

Our website is free of advertisements and not affiliated with any listed providers.
Your donation will cover our costs for servers, domains, coffee, beer, and pizza.

-

You may also contribute via the cryptocurrencies below, however we will not be able to provide a receipt for your contribution.
Your contribution will be considered an anonymous, unrestricted contribution and paid to our Fiscal Host at OpenCollective when we convert to currency.

- -
-
-
-
- -
- -
- -
-
- -
- -
- -
-
- -
- -
- -
-
- -
- -
- -
-
- -
- -
- -
-
- -
- -
- -
-
- -
- -
- -
-
- -
-

We prefer Bitcoin donations to be above $5 due to the state of the network's transaction fees. You are welcome to donate any smaller or larger amount on any other cryptocurrency, such as Bitcoin Cash, Ethereum, or Stellar.

- -

More Cryptocurrencies

- -
- -
-
- - -
- -
- -
- -
- -
-
- -
- -
- -
-
- -
- -
- -
-
- -
- -
- -
-
- -
- -
- -
-
- -
- -
- -
-
- -
- -
- -
-
- -
- -
- -
-
- -
- -
- -
-
- -
- -
- -
-
- -
- -
- -
-
- -
- -
- -
-
- -
- -
- -
-
- -
- -
- -
-
- -
- -
- -
-
- -
- -
- -
-
- -
- -
- -
-
- -
- -
- -
-
- -
- -
- -
-
- -
- -
- -
-
- -
- -
- -
-
- -
- -
- -
-
- -
- -
- -
-
- -
- -
- -
-
- -
- -
- -
-
- -
- -
- -
-
- -
- -
- -
-
- -
- -
- -
-
- -
- -
- -
-
- -
-

The privacytools.io team does not necessarily endorse all of the cryptocurrencies listed on this page. Please conduct your own research before purchasing any cryptocurrencies.

-

Thanks for your support. You are awesome!

-

- -

-
- -
-
- -
diff --git a/pages/old.html b/pages/old.html deleted file mode 100644 index 9c45421e..00000000 --- a/pages/old.html +++ /dev/null @@ -1,90 +0,0 @@ ---- -layout: default -permalink: /classic/ ---- - - - -{% include sections/header.html %} - -{% include sections/quotes.html %} - -{% include sections/fourteen-eyes.html %} - -{% include sections/key-disclosure-law.html %} - -{% include sections/vpn.html %} - -{% include sections/warrant-canary.html %} - -{% include sections/browser-recommendation.html %} - -{% include sections/browser-fingerprint.html %} - -{% include sections/browser-webrtc.html %} - -{% include sections/browser-addons.html %} - -{% include sections/browser-tweaks.html %} - -{% include sections/email-providers.html %} - -{% include sections/email-clients.html %} - -{% include sections/email-alternatives.html %} - -{% include sections/search-engines.html %} - -{% include sections/instant-messenger.html %} - -{% include sections/voice-video-messenger.html %} - -{% include sections/teamchat.html %} - -{% include sections/file-sharing.html %} - -{% include sections/cloud-storage.html %} - -{% include sections/selfhosted-cloud.html %} - -{% include sections/hosting-provider.html %} - -{% include sections/file-sync.html %} - -{% include sections/password-managers.html %} - -{% include sections/calendar-contacts-sync.html %} - -{% include sections/file-encryption.html %} - -{% include sections/self-contained-networks.html %} - -{% include sections/social-networks.html %} - -{% include sections/social-news-aggregator.html %} - -{% include sections/dns.html %} - -{% include sections/notebooks.html %} - -{% include sections/paste-services.html %} - -{% include sections/productivity-tools.html %} - -{% include sections/operating-systems.html %} - -{% include sections/live-operating-systems.html %} - -{% include sections/mobile-operating-systems.html %} - -{% include sections/android-addons.html %} - -{% include sections/router-firmware.html %} - -{% include sections/windows10.html %} - -{% include sections/privacy-resources.html %} - -{% include sections/participate.html %} diff --git a/pages/os.html b/pages/os.html deleted file mode 100644 index 924ebc33..00000000 --- a/pages/os.html +++ /dev/null @@ -1,18 +0,0 @@ ---- -layout: page -permalink: /operating-systems/ -title: "Operating Systems" -description: "Even your own computer could be compromising your privacy. Discover our recommended OS choices for all the devices you use." ---- - -{% include sections/operating-systems.html %} - -{% include sections/live-operating-systems.html %} - -{% include sections/mobile-operating-systems.html %} - -{% include sections/android-addons.html %} - -{% include sections/router-firmware.html %} - -{% include sections/windows10.html %} diff --git a/pages/privacy.md b/pages/privacy.md deleted file mode 100644 index b9ee9cb3..00000000 --- a/pages/privacy.md +++ /dev/null @@ -1,123 +0,0 @@ ---- -layout: page -permalink: /privacy/ -title: "Privacy Q&A" -description: "This Privacy Statement explains what information privacytoolsIO and its related entities collect about its users, what we do with that information, and how we handle the content you place in our products and services." ---- - -## Who is privacytools.io? - -privacytools.io is an unincorporated community developing this website and a number of privacy-friendly services. The current list of public team members [can be found on GitHub](https://github.com/orgs/privacytoolsIO/people). In order to operate these services, privacytools.io receives hosting and administration services from Aragon Ventures LLC, which also collects payments and donations on the privacytools.io team's behalf. - -## How does privacytools.io collect data about me? - -We collect data: - -* When you browse a website, forum, or other privacytools.io service. -* When you create an account on a privacytools.io service. -* When you post, send private messages, or otherwise participate on a privacytools.io service. - -This data will be collected regardless of browser, device, or app used to access our services. We do not buy or otherwise receive data from data brokers. - -## What data do you collect and why? - -### We collect data about visits to our websites. - -When you visit a privacytools.io website or service, regardless of whether you have an account or not, the website may use cookies, server logs, and other methods to collect the following data: - -* What pages you visit, -* What actions you take on our website, -* What browser, operating system, and device you use, -* Search terms you use, -* Your anonymized IP address: We anonymize the last 3 bytes of your IP, e.g. 192.xxx.xxx.xxx. - -We use this data to: - -* Optimize websites and services, so that they are quick and easy to use, -* Diagnose and debug technical errors, -* Defend websites and services from abuse and technical attacks, -* Compile statistics on the popularity of a website, page, post, topic, etc., and -* Compile statistics on the kinds of software and computers visitors use. - -This data is processed under our [Legitimate Interest](https://ico.org.uk/for-organisations/guide-to-data-protection/guide-to-the-general-data-protection-regulation-gdpr/legitimate-interests/when-can-we-rely-on-legitimate-interests/) to provide our services to you in a an efficient and secure manner and to ensure the legal compliance and proper administration of our business. - -Raw data such as pages visited, anonymized visitor IPs, and visitor actions will be retained for 60 days. In special circumstances—such as extended investigations regarding a technical attack—we may preserve logged data for longer periods for analysis. We store aggregate statistics about use of the websites and services we host indefinitely, but those statistics do not include data identifiable to you personally. - -You can opt out of some website tracking we do with Matomo using the form below. Our Matomo instance is blocked by most ad-blockers, so users blocking the domain `stats.privacytools.io` will not need to separately opt-out with the form below. Our Matomo instance also respects the Do Not Track (DNT) setting in your browser, so users with DNT enabled will not need to complete this form. Limited data may still be collected via server-side logs after opting out here, but this data cannot be used to identify you. - - - -### We collect account data. - -On some websites and services we provide, many features may require an account. For example, on forum.privacytools.io an account is required to post and reply to topics. - -To sign up for most accounts, we will collect a name, username, email, and password. In the event a website requires more information than just that data, that will be clearly marked and noted in a separate privacy statement, per-site. - -We use your account data to identify you on the website, and to create pages specific to you, such as your profile page. We will also use your account data to publish a public profile for you on our services. - -We use your email to: - -* Notify you about posts and other activity on the websites or services. -* Reset your password and help keep your account secure. -* Contact you in special circumstances related to your account. -* Contact you about legal requests, such as DMCA takedown requests. - -On some websites and services you may provide additional information for your account, such as a short biography, avatar, your location, or your birthday. We make that information available to everyone who can access the website or service in question. This information is not required to use any of our services, and can be erased at any time. - -We will store your account data as long as your account remains open. After closing an account, we may retain some or all of your account data in the form of backups or archives for up to 90 days. - -## Who is my data shared with? - -When you use services provided by privacytools.io your data is shared with Aragon Ventures LLC, in order to facilitate their hosting obligations. Aragon Ventures LLC may collect and use your data as described in their privacy statement at [https://aragon.ventures/privacy](https://aragon.ventures/privacy/). - -Your account data, posts, and other activities on privacytools.io services is shared with others as mentioned in the section about account data. - -## Where is my data stored? - -Your data is stored on servers provided by Aragon Ventures LLC, a company incorporated in Minnesota, United States. The primary datacenter for privacytools.io is located in France. Some websites, services, or backups may reside in datacenters in multiple jurisdictions, including the United States and the European Union. - -## Is privacytools.io GDPR compliant? - -We respect privacy rights under [Regulation (EU) 2016/679](https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=uriserv:OJ.L_.2016.119.01.0001.01.ENG), the European Union’s General Data Protection Regulation (GDPR). Information that GDPR requires us to give can be found throughout this document. - -## What are my data protection rights? - -We would like to make sure you are fully aware of all of your data protection rights. Every user is entitled to the following: - -* **The right to access** – You have the right to request access to your personal data, or copies of your personal data from us. We may charge you a small fee for providing a copy of your data. -* **The right to rectification** – You have the right to request that we correct any information you believe is inaccurate or incomplete. -* **The right to erasure** – You have the right to request that we erase your personal data, under certain conditions. -* **The right to restrict processing** – You have the right to request that we restrict the processing of your personal data, under certain conditions. -* **The right to object to processing** – You have the right to object to our processing of your personal data, under certain conditions. -* **The right to data portability** – You have the right to request that we transfer the data that we have collected to another organization, or directly to you, under certain conditions. - -## How can I contact the privacytools.io team about privacy? - -The privacytools.io team generally does not have access to personal data outside of limited access granted via some moderation panels. Inquiries regarding your personal information should be sent directly to the data controller for these services, Aragon Ventures LLC: - -``` -Jonah Aragon -Services Administrator, Aragon Ventures LLC -privacy@aragon.ventures -``` - -or write to: - -``` -Aragon Ventures LLC -PO Box 201 -Anoka, MN 55303 -United States -``` - -For all other inquiries, you can contact the team via methods described on our [contact page](https://www.privacytools.io/contact/). - -For complaints under GDPR more generally, European Union users may lodge complaints with their local data protection supervisory authorities. - -## How can I find out about changes to this document? - -This version of our privacy statement took effect October 9th, 2019. - -We will post any new versions of this statement at [https://www.privacytools.io/privacy/](https://www.privacytools.io/privacy/). We may change how we announce changes in future versions of this document. In the meantime we may update our contact information at any time without announcing a change. Please refer to [https://www.privacytools.io/privacy/](https://www.privacytools.io/privacy/) for the latest contact information at any time. - -A full [revision history](https://github.com/privacytoolsIO/privacytools.io/commits/master/pages/privacy.md) for this page can be found on GitHub. diff --git a/pages/providers.html b/pages/providers.html deleted file mode 100644 index e78f9a4a..00000000 --- a/pages/providers.html +++ /dev/null @@ -1,30 +0,0 @@ ---- -layout: page -permalink: /providers/ -title: "Providers" -description: "There's a ton of people providing services online. Discover which ones you should avoid and our recommendations for a variety of services." ---- - -

Services

- -

Click on whatever service you need to view our recommendations.

- - - -{% include sections/fourteen-eyes.html %} - -{% include sections/key-disclosure-law.html %} - -{% include sections/warrant-canary.html %} diff --git a/pages/providers/dns.html b/pages/providers/dns.html deleted file mode 100644 index c93dfce6..00000000 --- a/pages/providers/dns.html +++ /dev/null @@ -1,8 +0,0 @@ ---- -layout: page -permalink: /providers/dns/ -title: "DNS / Domain Providers" -description: "Don't let Google see all your DNS traffic. Discover privacy-centric alternatives to the traditional DNS providers." ---- - -{% include sections/dns.html %} diff --git a/pages/providers/email.html b/pages/providers/email.html deleted file mode 100644 index 5c8d1577..00000000 --- a/pages/providers/email.html +++ /dev/null @@ -1,8 +0,0 @@ ---- -layout: page -permalink: /providers/email/ -title: "Best Secure Email Providers for Privacy" -description: "Find a secure email provider that will keep your privacy in mind. Don't settle for ad-supported platforms. Never trust any company with your privacy, always encrypt." ---- - -{% include sections/email-providers.html %} diff --git a/pages/providers/hosting.html b/pages/providers/hosting.html deleted file mode 100644 index 29d1d407..00000000 --- a/pages/providers/hosting.html +++ /dev/null @@ -1,8 +0,0 @@ ---- -layout: page -permalink: /providers/hosting/ -title: "Web Hosting" -description: "Find a web hosting provider that won't track your visitors or give into government data requests." ---- - -{% include sections/hosting-provider.html %} diff --git a/pages/providers/paste.html b/pages/providers/paste.html deleted file mode 100644 index 1a852648..00000000 --- a/pages/providers/paste.html +++ /dev/null @@ -1,8 +0,0 @@ ---- -layout: page -permalink: /providers/paste/ -title: "Pastebin hosting services" -description: "Find a pastebin provider that won't read your content to share sensitive code or other information." ---- - -{% include sections/paste-services.html %} diff --git a/pages/providers/search-engines.html b/pages/providers/search-engines.html deleted file mode 100644 index f466421a..00000000 --- a/pages/providers/search-engines.html +++ /dev/null @@ -1,8 +0,0 @@ ---- -layout: page -permalink: /providers/search-engines/ -title: "Search Engines" -description: "Find a search engine that doesn't track your queries or build an advertising profile based on your searches." ---- - -{% include sections/search-engines.html %} diff --git a/pages/providers/social-networks.html b/pages/providers/social-networks.html deleted file mode 100644 index b9ef5d77..00000000 --- a/pages/providers/social-networks.html +++ /dev/null @@ -1,8 +0,0 @@ ---- -layout: page -permalink: /providers/social-networks/ -title: "Social Networks" -description: "Find a social network that doesn't pry into your data or monetize your profile." ---- - -{% include sections/social-networks.html %} diff --git a/pages/providers/social-news-aggregator.html b/pages/providers/social-news-aggregator.html deleted file mode 100644 index a37354ad..00000000 --- a/pages/providers/social-news-aggregator.html +++ /dev/null @@ -1,8 +0,0 @@ ---- -layout: page -permalink: /providers/social-news-aggregator/ -title: "Social News Aggregator" -description: "Stay up-to-date with privacy-respecting online bulletin boards." ---- - -{% include sections/social-news-aggregator.html %} diff --git a/pages/providers/storage.html b/pages/providers/storage.html deleted file mode 100644 index a71ec8dc..00000000 --- a/pages/providers/storage.html +++ /dev/null @@ -1,8 +0,0 @@ ---- -layout: page -permalink: /providers/cloud-storage/ -title: "Cloud Storage" -description: "Find a cloud storage provider that won't look through your files." ---- - -{% include sections/cloud-storage.html %} diff --git a/pages/providers/vpn.html b/pages/providers/vpn.html deleted file mode 100644 index a0003c80..00000000 --- a/pages/providers/vpn.html +++ /dev/null @@ -1,210 +0,0 @@ ---- -layout: page -permalink: /providers/vpn/ -title: "VPN Services" -description: "Find a no-logging VPN operator who isn't out to sell or read your web traffic." ---- - -
-
Warning
-
-

Using a VPN will not keep your browsing habits anonymous, nor will it add additional security to non-secure (HTTP) traffic.

-

If you are looking for anonymity, you should use the Tor Browser instead of a VPN.

-

If you're looking for added security, you should always ensure you're connecting to websites using encrypted DNS and HTTPS. A VPN is not a replacement for good security practices.

-

If you're looking for additional privacy from your ISP, on a public Wi-Fi network, or while torrenting files, a VPN may be the solution for you as long as you understand the risks involved.

- Download Tor - Tor Myths & FAQ - More Info -
-
- -{% include sections/vpn.html %} - -
-

Our VPN Provider Criteria

- -

Please note we are not affiliated with any of the providers we recommend. This allows us to provide completely objective recommendations. We have developed a clear set of requirements for any VPN provider wishing to be recommended, including strong encryption, independent security audits, modern technology, and more. We suggest you familiarize yourself with this list before choosing a VPN provider, and conduct your own research to ensure the VPN provider you choose is as trustworthy as possible.

- -
-
-
-

Jurisdiction

-

Operating outside the five/nine/fourteen-eyes countries is not a guarantee of privacy necessarily, and there are other factors to consider. However, we believe that avoiding these countries is important if you wish to avoid mass government dragnet surveillance, especially from the United States. Read our page on global mass surveillance and avoiding the US and UK to learn more about why we feel this is important.

-
-
-

Minimum to Qualify:

-
    -
  • Operating outside the USA or other Five Eyes countries.
  • -
-
-
-

Best Case:

-
    -
  • Operating outside the USA or other Fourteen Eyes countries.
  • -
  • Operating inside a country with strong consumer protection laws.
  • -
-
- -
-

Technology

-

We require all our recommended VPN providers to provide OpenVPN configuration files to be used in any client. If a VPN provides their own custom client, we require a killswitch to block network data leaks when disconnected.

-
-
-

Minimum to Qualify:

-
    -
  • OpenVPN support.
  • -
  • Killswitch built in to clients.
  • -
-
-
-

Best Case:

-
    -
  • OpenVPN and WireGuard support.
  • -
  • Killswitch with highly configurable options (enable/disable on certain networks, on boot, etc.)
  • -
  • Easy-to-use mobile clients, especially open-source.
  • -
-
- -
-

Privacy

-

We prefer our recommended providers to collect as little data as possible. Not collecting personal information on registration, and accepting anonymous forms of payment are required.

-
-
-

Minimum to Qualify:

-
    -
  • Bitcoin or cash payment option.
  • -
  • No personal information required to register: Only username, password, and email at most.
  • -
-
-
-

Best Case:

-
    -
  • Accepts Bitcoin, cash, and other forms of cryptocurrency and/or anonymous payment options (gift cards, etc.)
  • -
  • No personal information accepted (autogenerated username, no email required, etc.)
  • -
-
- -
-

Security

-

A VPN is pointless if it can't even provide adequate security. We require all our recommended providers to abide by current security standards for their OpenVPN connections. Ideally, they would use more future-proof encryption schemes by default. We also require an independent third-party to audit the provider's security, ideally in a very comprehensive manner and on a repeated (yearly) basis.

-
-
-

Minimum to Qualify:

-
    -
  • Strong Encryption Schemes: OpenVPN with SHA-256 authentication; RSA-2048 or better handshake; AES-256-GCM or AES-256-CBC data encryption.
  • -
  • Perfect Forward Secrecy (PFS).
  • -
  • Published security audits from a reputable third-party firm.
  • -
-
-
-

Best Case:

-
    -
  • Strongest Encryption: RSA-4096.
  • -
  • Perfect Forward Secrecy (PFS).
  • -
  • Comprehensive published security audits from a reputable third-party firm.
  • -
  • Bug-bounty programs and/or a coordinated vulnerability-disclosure process.
  • -
-
- -
-

Trust

-

You wouldn't trust your finances to someone with a fake identity, so why trust them with your internet data? We require our recommended providers to be public about their ownership or leadership. We also would like to see frequent transparency reports, especially in regard to how government requests are handled.

-
-
-

Minimum to Qualify:

-
    -
  • Public-facing leadership or ownership.
  • -
-
-
-

Best Case:

-
    -
  • Public-facing leadership.
  • -
  • Frequent transparency reports.
  • -
-
- -
-

Additional Functionality

-

While not strictly requirements, there are some factors we looked into when determining which providers to recommend. These include adblocking/tracker-blocking functionality, warrant canaries, multihop connections, excellent customer support, the number of allowed simultaneous connections, etc.

-
-
-
-
- -

Further Information and Dangers

- -
-
-
-

Should I use a VPN?

-

The answer to this question is not a particularly helpful one: It depends. It depends on what you're expecting a VPN to do for you, who you're trying to hide your traffic from, and what applications you're using.

-

In most cases, VPNs do little to protect your privacy or enhance your security, unless paired with other changes.

-

VPNs cannot encrypt data outside of the connection between your device and the VPN server. VPN providers can see and modify your traffic the same way your ISP could. And there is no way to verify a VPN provider's "no logging" policies in any way.

-

What if I need encryption?

-

In most cases, most of your traffic is already encrypted! Over 98% of the top 3000 websites offer HTTPS, meaning your non-DNS traffic is safe regardless of using a VPN. It is incredibly rare for applications that handle personal data to not support HTTPS in 2019, especially with services like Let's Encrypt offering free HTTPS certificates to any website operator.

-

Even if a site you visit doesn't support HTTPS, a VPN will not protect you, because a VPN cannot magically encrypt the traffic between the VPN's servers and the website's servers. Installing an extension like HTTPS Everywhere and making sure every site you visit uses HTTPS is far more helpful than using a VPN.

-

Should I use encrypted DNS with a VPN?

-

The answer to this question is also not very helpful: it depends. Your VPN provider may have their own DNS servers, but if they don't, the traffic between your VPN provider and the DNS server isn't encrypted. You need to trust the encrypted DNS provider in addition to the VPN provider and unless your client and target server support encrypted SNI, the VPN provider can still see which domains you are visiting.

-

However you shouldn't use encrypted DNS with Tor. This would direct all of your DNS requests through a single circuit, and would allow the encrypted DNS provider to deanonymize you.

-

What if I need anonymity?

-

VPNs cannot provide strong anonymity. Your VPN provider will still see your real IP address, and often has a money trail that can be linked directly back to you. You cannot rely on "no logging" policies to protect your data.

-
-
-

Shouldn't I hide my IP address?

-

The idea that your IP address is sensitive information, or that your location is given away with all your internet traffic is fearmongering on the part of VPN providers and their marketing. Your IP address is an insignificant amount of personal data tracking companies use to identify you, because many users' IP addresses change very frequently (Dynamic IP addresses, switching networks, switching devices, etc.). Your IP address also does not give away more than the very generalized location of your Internet Service Provider. It does not give away your home address, for example, despite common perception.

-

Should I use Tor and a VPN?

-

By using a VPN with Tor, you're creating essentially a permanent entry node, often with a money trail attached. This provides 0 additional benefit to you, while increasing the attack surface of your connection dramatically. If you wish to hide your Tor usage from your ISP or your government, Tor has a built-in solution for that: Tor bridges. Read more about Tor bridges and why using a VPN is not necessary.

-

Are VPNs ever useful?

-

A VPN may still be useful to you in a variety of scenarios, such as:

-
    -
  1. Hiding your traffic from only your Internet Service Provider.
  2. -
  3. Hiding your downloads (such as torrents) from your ISP and anti-piracy organizations.
  4. -
-

For use cases like these, or if you have another compelling reason, the VPN providers we listed above are who we think are the most trustworthy. However, using a VPN provider still means you're trusting the provider. In pretty much any other scenario you should be using a secure-by-design tool such as Tor.

-
-
-
-
-

Sources and Further Reading: -

    -
  1. VPN - a Very Precarious Narrative by Dennis Schubert
  2. -
  3. Don't use VPN services by Sven Slootweg
  4. -
  5. The self-contained networks recommended on privacytools.io are able to replace a VPN that allows access to services on local area network
  6. -
  7. Slicing Onions: Part 1 – Myth-busting Tor by blacklight447
  8. -
  9. Slicing Onions: Part 2 – Onion recipes; VPN not required by blacklight447
  10. -
-

-

-
- -
- - diff --git a/pages/services.html b/pages/services.html deleted file mode 100644 index 8f10305f..00000000 --- a/pages/services.html +++ /dev/null @@ -1,22 +0,0 @@ ---- -layout: page -permalink: /services/ -title: "Services from privacytools.io" -description: "The privacytools.io team is proud to introduce a suite of privacy-centric online services to connect you with other privacy-minded individuals and stay safe and secure online. No advertisers, no Google Analytics, no tracking, no third-party requests of any kind." ---- - -

We currently have the following free-to-use services online now.

- - - -

More services are on the way. If there's something that would be super beneficial for us to run, don't hesitate to reach out and ask. And of course, if you like our services, please consider donating to support our server costs, any donation helps!

diff --git a/pages/software.html b/pages/software.html deleted file mode 100644 index d19ebb9d..00000000 --- a/pages/software.html +++ /dev/null @@ -1,25 +0,0 @@ ---- -layout: page -permalink: /software/ -title: "Software" -description: "Discover a variety of open-source software built to protect your privacy and keep your digital data secure." ---- - -

Click on whatever software you need to view our recommendations.

- - diff --git a/pages/software/cal-card.html b/pages/software/cal-card.html deleted file mode 100644 index 7246efd9..00000000 --- a/pages/software/cal-card.html +++ /dev/null @@ -1,8 +0,0 @@ ---- -layout: page -permalink: /software/calendar-contacts/ -title: "Calendar/Contacts Sync Tools" -description: "Discover free, open-source, and secure ways to sync your contacts and calendars across your devices." ---- - -{% include sections/calendar-contacts-sync.html %} diff --git a/pages/software/cloud.html b/pages/software/cloud.html deleted file mode 100644 index c14b8938..00000000 --- a/pages/software/cloud.html +++ /dev/null @@ -1,8 +0,0 @@ ---- -layout: page -permalink: /software/cloud/ -title: "Self Hosted \"Cloud\"" -description: "Discover how to securely and privately self-host your cloud with open-source software." ---- - -{% include sections/selfhosted-cloud.html %} diff --git a/pages/software/email.html b/pages/software/email.html deleted file mode 100644 index 1c9d9921..00000000 --- a/pages/software/email.html +++ /dev/null @@ -1,10 +0,0 @@ ---- -layout: page -permalink: /software/email/ -title: "Email Clients" -description: "Discover free, open-source, and secure email clients, along with some email alternatives you may not have considered." ---- - -{% include sections/email-clients.html %} - -{% include sections/email-alternatives.html %} diff --git a/pages/software/encryption.html b/pages/software/encryption.html deleted file mode 100644 index 18cbd06a..00000000 --- a/pages/software/encryption.html +++ /dev/null @@ -1,8 +0,0 @@ ---- -layout: page -permalink: /software/encryption-tools/ -title: "Encryption Tools" -description: "Discover free, open-source, and secure ways to encrypt your sensitive data to keep it from prying eyes." ---- - -{% include sections/file-encryption.html %} diff --git a/pages/software/file-sharing.html b/pages/software/file-sharing.html deleted file mode 100644 index cd3e83db..00000000 --- a/pages/software/file-sharing.html +++ /dev/null @@ -1,8 +0,0 @@ ---- -layout: page -permalink: /software/file-sharing/ -title: "File Sharing" -description: "Discover how to share your files with your friends and family or anonymously, without a middleman." ---- - -{% include sections/file-sharing.html %} diff --git a/pages/software/file-sync.html b/pages/software/file-sync.html deleted file mode 100644 index 54012237..00000000 --- a/pages/software/file-sync.html +++ /dev/null @@ -1,8 +0,0 @@ ---- -layout: page -permalink: /software/file-sync/ -title: "File Sync" -description: "Discover free, open-source, and secure ways to sync your files across your devices." ---- - -{% include sections/file-sync.html %} diff --git a/pages/software/networks.html b/pages/software/networks.html deleted file mode 100644 index 882cbbb7..00000000 --- a/pages/software/networks.html +++ /dev/null @@ -1,9 +0,0 @@ ---- -layout: page -permalink: /software/networks/ -title: "Self-Contained Networks" -description: "If you are currently browsing clearnet and want to access the dark web, this section is for you." -hidedesc: true ---- - -{% include sections/self-contained-networks.html %} diff --git a/pages/software/notebooks.html b/pages/software/notebooks.html deleted file mode 100644 index 69d46b61..00000000 --- a/pages/software/notebooks.html +++ /dev/null @@ -1,8 +0,0 @@ ---- -layout: page -permalink: /software/notebooks/ -title: "Notebooks" -description: "Keep track of your notes and journalings without giving them to a third party." ---- - -{% include sections/notebooks.html %} diff --git a/pages/software/passwords.html b/pages/software/passwords.html deleted file mode 100644 index eeed2e5f..00000000 --- a/pages/software/passwords.html +++ /dev/null @@ -1,8 +0,0 @@ ---- -layout: page -permalink: /software/passwords/ -title: "Password Managers" -description: "Stay safe and secure online with an encrypted and open-source password manager." ---- - -{% include sections/password-managers.html %} diff --git a/pages/software/productivity.html b/pages/software/productivity.html deleted file mode 100644 index d9f2f913..00000000 --- a/pages/software/productivity.html +++ /dev/null @@ -1,8 +0,0 @@ ---- -layout: page -permalink: /software/productivity/ -title: "Productivity Tools" -description: "Get working and collaborating without sharing your documents with a middleman or trusting a cloud provider." ---- - -{% include sections/productivity-tools.html %} diff --git a/pages/software/real-time-communication.html b/pages/software/real-time-communication.html deleted file mode 100644 index 9a28ab8b..00000000 --- a/pages/software/real-time-communication.html +++ /dev/null @@ -1,16 +0,0 @@ ---- -layout: page -permalink: /software/real-time-communication/ -title: "Real-Time Communication" -description: "Discover secure and private ways to communicate with others online without letting any third parties read your messages." ---- - -{% include sections/instant-messenger.html %} - -
- -{% include sections/voice-video-messenger.html %} - -
- -{% include sections/teamchat.html %} diff --git a/pages/sponsors.html b/pages/sponsors.html deleted file mode 100644 index df99c9f7..00000000 --- a/pages/sponsors.html +++ /dev/null @@ -1,49 +0,0 @@ ---- -layout: default -active_page: sponsors -permalink: /sponsors/ ---- - -
-
-
-
-

Sponsors of privacytools.io

-
-
-

The privacytools.io website and services are a community project. There is no advertising, affiliate links, or other forms of monetization.
Your donations here directly support hosting this website and compensating contributors to this project.

-

- Become a Sponsor - Donate Directly -

-
-
-
-

Why sponsor privacytools.io?

-

This sponsorship program is designed to allow companies, organizations, and individuals partner with the privacytools.io team to support our vision of a more privacy-respecting internet and the greater online community.

-

With this exposure and sponsorship, your customers will recognize your intrinsic understanding and commitment to user privacy. Moreover, you'll directly contribute to our mission of spreading privacy-respecting tools and knowledge worldwide!

-

As a sponsor of privacytools.io, your company will be widely recognized in a variety of ways, some of which we've detailed below.

-
General Information
-

This website receives well over 250,000 pageviews on a monthly basis and is highly ranked for privacy-related keywords. In addition to the benefits below your contribution will be featured on our OpenCollective page and we will thank you via social media for your contribution.

-
🥉 Bronze Sponsorship - Info
-
    -
  • Your name and link along with a small logo or avatar on the sponsors page of this website.
  • -
-
🥈 Silver Sponsorship - Info
-
    -
  • Your medium-sized logo as a link at the top of our sponsors page.
  • -
-
🥇 Gold Sponsorship - Info
-
    -
  • Your medium-sized logo as a link on the privacytools.io homepage and at the very top of our sponsors page.
  • -
-
We will not provide...
-

We pride ourselves on our integrity and commitment to spreading unbiased and fact-based information regarding privacy and privacy-respecting tools. All tools we recommend throughout our website are subject to strict criteria as judged by our team and the community across our various platforms. Your sponsorship will not grant your organization any special consideration when choosing our recommendations throughout the website, a process which we make clear via our transparent ledger on OpenCollective and our public discussions on GitHub. Your sponsorship benefits are limited to those outlined above.

-
Tax and Financial Information
-

Your contribution to privacytools.io will be handled by the Open Collective Foundation 501(c)(3). For US companies and taxpayers, this means your contribution is tax deductible. As a non-profit, your sponsorship contribution will not be used for private profit and will only be used to cover expenses incurred by the project. All of our transactions (donations and expenses) are published transparently on OpenCollective. For the benefit of our readership, anonymous contributions will not be eligible for the sponsorship opportunities outlined above.

-
More Information
-

If you are interested and have further questions, you are welcome to reach out to us directly at sponsors@privacytools.io.

- -
diff --git a/password.html b/password.html new file mode 100644 index 00000000..0e49ee18 --- /dev/null +++ b/password.html @@ -0,0 +1 @@ + \ No newline at end of file